лили ли лиnux? (gnu/linux again v2)

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_darede... писал(а):
31.07.2012 20:02
Оно умеет запускать произвольный бинарник
увы, произвольный бинарник не умеет делать системные вызовы·
для этого в пределах видимости должен присутствовать код libc·
либо в виде разделяемой библиотеки, либо прямо внутри бинарника (static linking):
wikipedia://static library
QUOTE писал(а):In computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable.


watashiwa_darede... писал(а):
31.07.2012 20:02
Максимум, что еще попадает в «ОС» в этом случае — init, но в современных линуксах ни Linux, ни /sbin/init не имеют отношения к GNU.
да, linux имеет мало отношения к gnu·
/sbin/init же в современных дистрибутивах имеет прямое и непосредственное отношение к gnu:

Код: Выделить всё

debian$ ldd /sbin/init | grep libc.so
    libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7533000)
centos$ ldd /sbin/init | grep libc.so
        libc.so.6 => /lib64/libc.so.6 (0x0000003f1c600000)
mandriva$ ldd /sbin/init | grep libc.so
        libc.so.6 => /lib64/libc.so.6 (0x00007f19f1089000)
gentoo$ ldd /sbin/init | grep libc.so
    libc.so.6 => /lib64/libc.so.6 (0x00007f2883971000)
(это те дистрибутивы, что сейчас нашлись под рукой)·

конечно же, я не утверждаю, что glibc — единственно возможная реализация libc·
есть и другие·
но факт есть факт: все современные _популярные_ дистрибутивы используют реализацию libc, созданную в рамках проекта gnu·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: лили ли лиnux?

Сообщение alv »

sash-kan писал(а):
31.07.2012 21:50
есть у тебя такое предположение?

Почему же предположение. РМС открытым текстом
sash-kan писал(а):
31.07.2012 21:50
требуют от «линуса и ко» переименовать linux в gnu/linux·

Но не
sash-kan писал(а):
31.07.2012 21:50
хотят приписать себе заслугу разработки linux-а

а утверждают, что ядро - это такая мелочь по сравнению с утилитами GNU, что о нём просто смешно говорить.
Видимо, потому так говорят, что сами никакого ядра сочинить так и не смогли. Что после этого остаётся? Что ядро - фигня, главное маневры
sash-kan писал(а):
31.07.2012 21:50
утилиты для обслуживания файловых систем с точки зрения отношения к операционной системе близки к только что обсуждавшимся компиляторам

Не очень. Ядро без компилятора работать не может. Потому что тогда его просто нечем компилировать. Но зато ядро можно скопилировать любым компилятором - хоть iCC, если Столлмана не испужаться
А с утилитами наоборот: ядро без них проживёт спокойно
Но чтобы ядру свою тягу к работе с XFS, например, реализовать, ему требуется соврешенно определённая утилита, утилита для ext2 или btrfs не сгодится
sash-kan писал(а):
31.07.2012 21:50
если заменить «утилиты» на «программы/библиотеки»

утилита - разновиность программ, которая не создаёт собственных данных (с) моё
а библиотека в данном случае не обязательна - можно линковать статически, и тогда будет как с ядром и компилятором
а можно просто не пользоваться библиотечными функциями :)
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

alv писал(а):
31.07.2012 22:42
РМС открытым текстом
поделись, пожалуйста, секретным источником информации·
доступный официальный источник информации (gnu.org) такого, насколько вижу, не содержит·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

alv писал(а):
31.07.2012 22:42
Ядро без компилятора работать не может. Потому что тогда его просто нечем компилировать.
работать — может·

alv писал(а):
31.07.2012 22:42
А с утилитами наоборот
ровно так же: читать/писать из/в файловых систем можно без утилит по их обслуживанию·

alv писал(а):
31.07.2012 22:42
утилита - разновиность программ, которая не создаёт собственных данных (с) моё
забавное определение·
под него подпадают (с ходу) все web-browser-ы·
это тоже утилиты?

alv писал(а):
31.07.2012 22:42
а библиотека в данном случае не обязательна - можно линковать статически
постом выше я упомянул про то, чем является static linking·
очень сложно представить себе программу, делающую хоть _что-то_, но не обращающуюся при этом к коду, умеющему добираться до системных вызовов·
нет, конечно, в программе можно реализовать такой код·
только в итоге что выйдет? yet another libc?

alv писал(а):
31.07.2012 22:42
а можно просто не пользоваться библиотечными функциями
да чего мелочиться, можно и к железу напрямую обращаться·
только в итоге что выйдет? yet another linux?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

sash-kan писал(а):
31.07.2012 22:01
увы, произвольный бинарник не умеет делать системные вызовы·
Умеет.

sash-kan писал(а):
31.07.2012 22:01
должен присутствовать код libc·
libc делает какую-то особую, уличную магию с бинарником, позволяя ему делать системные вызовы?

sash-kan писал(а):
31.07.2012 22:01
для этого в пределах видимости должен присутствовать код libc·
либо в виде разделяемой библиотеки, либо прямо внутри бинарника (static linking):
Спорим, не должен?

sash-kan писал(а):
31.07.2012 22:01
/sbin/init же в современных дистрибутивах имеет прямое и непосредственное отношение к gnu:
- Непосредственное отношение к GNU имеют части GNU Project. sysvinit таковым не является.
- Использование интерфейса, описанного в стандарте, не делает использование библиотеки, реализующей этот стандарт, каким-то особенным отношением. Точно так же, как просмотр HTML-страницы в IE не означает возникновения каких-то интимных отношений между страницей и IE.
+ Конкретно этот sysvinit написан достаточно криво и использует -D_GNU_SOURCE.

Итак, насколько я понимаю, твой аргумент в пользу GNU/Linux — это то, что /sbin/init слинкован с GNU libc? И всё?

sash-kan писал(а):
31.07.2012 22:01
факт есть факт: все современные _популярные_ дистрибутивы используют реализацию libc, созданную в рамках проекта gnu·
Давай пока не отклоняться от основного вопроса: «Что есть ОС?» Ведь если дистрибутив — не ОС, то использование или неиспользование чего-то за пределами ОС не может повлиять на её название, правда?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

sash-kan писал(а):
31.07.2012 21:50
операционная система, как посредник между программами/библиотеками и железом, может эту свою посредническую функцию выполнять и без … видеодрайверов
Оч-чень интересно. А видеокарты — это не железо? Или это какое-то улично-магическое железо, для «посредничества» с которым драйвера не нужны, в отличие от всего остального?
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: лили ли лиnux?

Сообщение alv »

sash-kan писал(а):
31.07.2012 22:55
поделись, пожалуйста, секретным источником информации·

Само наличие термина GNU/Linux - и есть этот самый секретный источник
Ну и прочие столь же секретные статьи и речи Столлмана. Причём абсолютно все
Спасибо сказали:
Аватара пользователя
Crazy
Сообщения: 862
Статус: Адепт Дзен.
ОС: Mint, Win7.

Re: лили ли лиnux?

Сообщение Crazy »

sash-kan писал(а):
31.07.2012 22:01
watashiwa_darede... писал(а):
31.07.2012 20:02
Оно умеет запускать произвольный бинарник
увы, произвольный бинарник не умеет делать системные вызовы·
для этого в пределах видимости должен присутствовать код libc·
либо в виде разделяемой библиотеки, либо прямо внутри бинарника (static linking):
wikipedia://static library
In computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable.


watashiwa_darede... писал(а):
31.07.2012 20:02
Максимум, что еще попадает в «ОС» в этом случае — init, но в современных линуксах ни Linux, ни /sbin/init не имеют отношения к GNU.
да, linux имеет мало отношения к gnu·
/sbin/init же в современных дистрибутивах имеет прямое и непосредственное отношение к gnu:

Код: Выделить всё

debian$ ldd /sbin/init | grep libc.so
    libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7533000)
centos$ ldd /sbin/init | grep libc.so
        libc.so.6 => /lib64/libc.so.6 (0x0000003f1c600000)
mandriva$ ldd /sbin/init | grep libc.so
        libc.so.6 => /lib64/libc.so.6 (0x00007f19f1089000)
gentoo$ ldd /sbin/init | grep libc.so
    libc.so.6 => /lib64/libc.so.6 (0x00007f2883971000)
(это те дистрибутивы, что сейчас нашлись под рукой)·

конечно же, я не утверждаю, что glibc — единственно возможная реализация libc·
есть и другие·
но факт есть факт: все современные _популярные_ дистрибутивы используют реализацию libc, созданную в рамках проекта gnu·

Забавно /sbin/init заменяется на systemd, upstart. В Debian glibc заменяется на eglibc.

Desipere in loco
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: лили ли лиnux?

Сообщение taaroa »

gnu/linux again

- Рядовой Петров! А о чем вы думаете, когда слышите слово ЛИНУКС?
- О ГНУ, товарищ старшина.
- Как о ГНУ?!
- А я всегда о ней думаю.
:wq
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: лили ли лиnux?

Сообщение drBatty »

sash-kan писал(а):
31.07.2012 22:01
(это те дистрибутивы, что сейчас нашлись под рукой)·

Shell

$ ldd /sbin/init | grep libc.so 2: libc.so.6 => /lib/libc.so.6 (0xb75cd000)


slackware-current
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: лили ли лиnux?

Сообщение taaroa »

Remember, this bug report is a duplicate of bug gnu/linux again.
Comment here only if you think the duplicate status is wrong.
:wq
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

Crazy писал(а):
01.08.2012 10:47
Забавно /sbin/init заменяется на systemd, upstart.
Для точности формулировок: тогда уж не /sbin/init, а sysvinit. Кроме того, претензии sash-kan справедливы и для них, ибо они тоже линкуются с GNU libc.

Crazy писал(а):
01.08.2012 10:47
В Debian glibc заменяется на eglibc.
eglibc это однояйцевый сиамский близнец glibc.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_daredeska писал(а):
31.07.2012 23:16
sash-kan писал(а):
31.07.2012 22:01
увы, произвольный бинарник не умеет делать системные вызовы·
Умеет.

sash-kan писал(а):
31.07.2012 22:01
для этого в пределах видимости должен присутствовать код libc·
либо в виде разделяемой библиотеки, либо прямо внутри бинарника (static linking):
Спорим, не должен?
вот исходный код на языке си для произвольного бинарника (скопировано из http://lib.ru/CTOTOR/kernigan.txt):

Код: Выделить всё

MAIN ()
   {
           PRINTF("HELLO, WORLD\N");
   }
скомпилируй его, пожалуйста, так, чтобы он напрямую обращался к linux-у и не использовал ни байта кода из какой угодно реализации libc, и я соглашусь с обоими твоими возражениями·
ввиду того, что я, как и многие тут присутствующие, не силён ни в си, ни в структуре elf-ов, очень неплохо было бы как-то продемонстрировать, что кода какой-либо реалиции libc в нём действительно не будет·

QUOTE писал(а):
sash-kan писал(а):
31.07.2012 22:01
должен присутствовать код libc·
libc делает какую-то особую, уличную магию с бинарником, позволяя ему делать системные вызовы?
я не настолько хорошо знаю все эти потроха, чтобы чётко ответить на твой вопрос·
насколько я представляю себе ситуацию из чтения статьи wikipedia://system call, передача управления на нужную точку входа в linux-е не переключит процесс в привилегированный режим (и, вероятно, произойдёт «облом»)·
так что в тех процессорных архитектурах, где используются wikipedia://CPU modes, код libc, как минимум, выполняет это переключение·

QUOTE писал(а):Итак, насколько я понимаю, твой аргумент в пользу GNU/Linux — это то, что /sbin/init слинкован с GNU libc?
откуда взялся этот /sbin/init? а, это ты зачем-то его упомянул, сказав, что данная программа к gnu отношения не имеет, а я продемонстрировал, что в современных дистрибутивах — очень даже имеет (она использует во время работы код gnu libc)·

не знаю, что именно ты вкладываешь в слова «твой аргумент в пользу gnu/linux», поэтому в стопицотый раз повторю:
1. операцинная система — это посредник между программами/библиотеками и железом·
2. в unix-like системах таковым посредником является связка из (как минимум) ядра и какой-нибудь реализации libc·
3. в популярных современных дистрибутивах (в частности, в семействах debian, suse, redhat, mandriva, slackware, gentoo, ubuntu), в качестве libc используется реализация, выполненная в рамках проекта gnu·
4. разработчики из проекта gnu просят (не требуют, а просто просят) называть такую операционную систему, состоящую из (как минимум) linux и glibc, термином «gnu/linux»·

watashiwa_daredeska писал(а):
31.07.2012 23:16
sash-kan писал(а):
31.07.2012 22:01
факт есть факт: все современные _популярные_ дистрибутивы используют реализацию libc, созданную в рамках проекта gnu·
Давай пока не отклоняться от основного вопроса: «Что есть ОС?» Ведь если дистрибутив — не ОС, то использование или неиспользование чего-то за пределами ОС не может повлиять на её название, правда?
дистрибутив операционной системы — это не операционная система, так же как автомобиль, приводимый в движение двигателем — это не двигатель·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

sash-kan писал(а):
01.08.2012 12:19
вот исходный код на языке си … скомпилируй его, пожалуйста, так, чтобы он напрямую обращался к linux-у и не использовал ни байта кода из какой угодно реализации libc
Т.е. твои слова «произвольный бинарник» надо читать как «произвольный бинарник, скомпилированный из исходника на языке Си, использующий стандартную библиотеку»?

Spoiler
P.S. То, что ты написал в исходнике заглавными — почти целиком пишется строчными, а в русском языке принято в определенных случаях использовать заглавные.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_darede... писал(а):
31.07.2012 23:25
Оч-чень интересно. А видеокарты — это не железо?
железо·
но операционная система может выводить информацию в последовательный/параллельный порт, не переставая быть операционной системой·
я именно в этом ключе и писал процитированный тобою пост·
чтобы не отходить слишком далеко в дебри, предлагаю убрать слово видеодрайвер из того поста (благо смысл его от этого не пострадает)·
ок?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_darede... писал(а):
01.08.2012 12:25
То, что ты написал в исходнике заглавными — почти целиком пишется строчными, а в русском языке принято в определенных случаях использовать заглавные.
я сделал copy&paste из указанного источника·
да, в верхнем регистре, как я понимаю, фиг скомпилируешь, надо перевести в нижний·

watashiwa_darede... писал(а):
01.08.2012 12:25
Т.е. твои слова «произвольный бинарник» надо читать как «произвольный бинарник, скомпилированный из исходника на языке Си, использующий стандартную библиотеку»?
я предложил исходный текст произвольного (пока не скомпилированного) бинарника и попросил тебя его скомпилировать так, чтобы он не использовал кода какой-либо реализации libc, а напрямую обращался к linux-у·
использования библиотек данный исходный текст не подразумевает: добавь к нему нужные хэдеры/дефайны, не использующие libc (если таковое возможно, как ты утверждаешь), и никаких проблем·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: лили ли лиnux?

Сообщение taaroa »

Remember, this bug report is a duplicate of bug gnu/linux again.
Comment here only if you think the duplicate status is wrong.

Stop commenting.
:wq
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

Код: Выделить всё

$ cat hello.go
package main

import (
    "fmt"
)

func main() {
    fmt.Printf("Hello, world!\n")
}
$ go build --compiler=gc hello.go
$ ./hello
Hello, world!
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: лили ли лиnux?

Сообщение pelmen »

это всё так здорово относится к теме!..
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

alv писал(а):
01.08.2012 00:09
sash-kan писал(а):
31.07.2012 22:55
поделись, пожалуйста, секретным источником информации·

Само наличие термина GNU/Linux - и есть этот самый секретный источник
Ну и прочие столь же секретные статьи и речи Столлмана. Причём абсолютно все
понятно·
значит, я правильно предположил, что имеет место фобия, основанная на непонимании·

так вот:
linux никто линуса и ко переименовывать не просит (и тем более не требует)·
просят называть операционную систему, состоящую из (как минимум) linux-а и glibc, термином «gnu/linux»·
пруф:
QUOTE писал(а):Если бы “работа” действительно была уже сделана, и если бы речь шла только о признании заслуг, возможно, было бы мудрее оставить всё, как есть. Но это не так. Чтобы вдохновить людей на работу, которую нужно проделать, нам необходимо, чтобы за нами признавали то, что мы уже сделали. Пожалуйста, помогите нам, называя эту операционную систему “GNU/Linux”.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение Bizdelnick »

sash-kan писал(а):
01.08.2012 12:52
просят называть операционную систему, состоящую из (как минимум) linux-а и glibc, термином «gnu/linux»·

А мне казалось, кто-то ещё настаивал на правомочности названия ОС GNU, в том числе в отношении GNU/Linux.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

sash-kan писал(а):
01.08.2012 12:34
я предложил исходный текст произвольного (пока не скомпилированного) бинарника и попросил тебя его скомпилировать так, чтобы он не использовал кода какой-либо реализации libc, а напрямую обращался к linux-у·
Ты выворачиваешь всё наизнанку. «Взять произвольный исходник и скомпилировать для определенных условий» это совсем, абсолютно, совершенно не то, что «система может запустить произвольный бинарник» (естественно, собранный для нее). Ну, т.е. насколько я понимаю, GNU/Linux в твоем понимании может запустить произвольный бинарник, но если я предложу тебе произвольный исходник, использующий WinAPI, скомпилировать для GNU/Linux, без использования Wine, это будет как бы… не совсем то, правда?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_daredeska писал(а):
01.08.2012 12:46

Код: Выделить всё

$ cat hello.go
package main

import (
    "fmt"
)

func main() {
    fmt.Printf("Hello, world!\n")
}
$ go build --compiler=gc hello.go
$ ./hello
Hello, world!
это пример программы, не содержащей и способной работать без кода libc (в любом виде)?
если да, то выложи, пожалуйста, получившийся бинарник (надеюсь, он скомпилирован для какой-нибудь популярной архитектуры intel/mips/arm?)·

watashiwa_daredeska писал(а):
01.08.2012 12:58
sash-kan писал(а):
01.08.2012 12:34
я предложил исходный текст произвольного (пока не скомпилированного) бинарника и попросил тебя его скомпилировать так, чтобы он не использовал кода какой-либо реализации libc, а напрямую обращался к linux-у·
Ты выворачиваешь всё наизнанку. «Взять произвольный исходник и скомпилировать для определенных условий» это совсем, абсолютно, совершенно не то, что «система может запустить произвольный бинарник» (естественно, собранный для нее). Ну, т.е. насколько я понимаю, GNU/Linux в твоем понимании может запустить произвольный бинарник, но если я предложу тебе произвольный исходник, использующий WinAPI, скомпилировать для GNU/Linux, без использования Wine, это будет как бы… не совсем то, правда?
Дима, helloworld-а на любом языке — для меня вполне достаточно·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

Bizdelnick писал(а):
01.08.2012 12:56
sash-kan писал(а):
01.08.2012 12:52
просят называть операционную систему, состоящую из (как минимум) linux-а и glibc, термином «gnu/linux»·

А мне казалось, кто-то ещё настаивал на правомочности названия ОС GNU, в том числе в отношении GNU/Linux.
а что не так с правомочностью?
да, операционная система gnu в качестве компонента может использовать разные ядра·
если речь идёт конкретно о связке gnu и linux, то почему бы именно так и не называть эту связку — gnu/linux?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

sash-kan писал(а):
01.08.2012 13:06
выложи, пожалуйста, получившийся бинарник
http://dsa.pp.ru/~dmitry/files/hello-go (1269283 bytes)

Код: Выделить всё

$ cat hello.S
[bits 64]

section .text
global _start
_start:                ; ELF entry point
mov rax, 1             ; sys_write
mov rdi, 1             ; STDOUT
mov rsi, message       ; buffer
mov rdx, [messageLen]  ; length of buffer
syscall

mov rax, 60            ; sys_exit
mov rdi, 0             ; 0
syscall

section .data
messageLen: dq message.end-message
message: db 'Hello World!', 10
  .end:

$ nasm -felf64 hello.S && ld -o hello hello.o
$ ./hello
Hello World!
http://dsa.pp.ru/~dmitry/files/hello-asm (999 bytes)

sash-kan писал(а):
01.08.2012 13:06
надеюсь, он скомпилирован для какой-нибудь популярной архитектуры intel/mips/arm?
x86_64, not a dynamic executable. Даже интересно, как ты будешь проверять, что в них нет кода libc :)
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение watashiwa_daredeska »

sash-kan писал(а):
01.08.2012 13:06
Дима, helloworld-а на любом языке — для меня вполне достаточно·
helloworld'ы бывают разные, с использованием WinAPI в том числе, ну или POSIX API, как приведенный выше helloworld на C. Более того, бывают ОС, в которых в принципе с POSIX'овым I/O довольно туго, только GUI (например, PalmOS).
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_darede... писал(а):
01.08.2012 12:58
Ты выворачиваешь всё наизнанку.
я стараюсь писать очень конкретно, использую длинные детальные формулировки, множество раз повторяю эти формулировки полностью, без сокращений·
догадываешься, почему?
чтобы по возможности избежать увода дискуссии в сторону·
я стараюсь, но не всегда это получается·
с излишней конкретикой тоже, бывает, перегибаю·
да, приходится дуть на холодное…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: лили ли лиnux?

Сообщение Bizdelnick »

sash-kan писал(а):
01.08.2012 13:15
да, операционная система gnu в качестве компонента может использовать разные ядра·

Если ты называешь GNU без ядра операционной системой, то пойдём твоим же путём: покажи мне программу, которая сможет в ней запуститься.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_darede... писал(а):
01.08.2012 13:20
Даже интересно, как ты будешь проверять, что в них нет кода libc
так я об этом именно и написал:
sash-kan писал(а):
01.08.2012 12:19
ввиду того, что я, как и многие тут присутствующие, не силён ни в си, ни в структуре elf-ов, очень неплохо было бы как-то продемонстрировать, что кода какой-либо реалиции libc в нём действительно не будет·
так это было про си, по которому тут можно встретить специалистов·
а вот насчёт go…

как же тут разобраться-то, а?
предлагаю, в виде вопроса-ответа·
итак, начинаю·
1. ты утверждаешь, что выложенный тобой бинарник размером 1269283 байта удовлетворяет требованию:
sash-kan писал(а):
01.08.2012 12:19
чтобы он напрямую обращался к linux-у и не использовал ни байта кода из какой угодно реализации libc
верно?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: лили ли лиnux?

Сообщение sash-kan »

watashiwa_daredeska писал(а):
01.08.2012 13:29
sash-kan писал(а):
01.08.2012 13:06
Дима, helloworld-а на любом языке — для меня вполне достаточно·
helloworld'ы бывают разные, с использованием WinAPI в том числе, ну или POSIX API, как приведенный выше helloworld на C. Более того, бывают ОС, в которых в принципе с POSIX'овым I/O довольно туго, только GUI (например, PalmOS).
Дима, повторение мною в каждой посте, что речь я веду (если не оговорено иное) о posixunix-like операционных системах и gnu/linux в частности, будет уже явным перебором·
но если (из-за отсутствия такого дисклеймера) попытки увести разговор в сторону будут продолжаться, видимо, придётся мне срочно переквалифицироваться в юристы·

p.s. смайлики — по вкусу·
p.p.s. приведённый в книге k&r и скопированный мною код ни к какому api, насколько я понимаю, отношения не имеет·

sash-kan писал(а):
01.08.2012 14:31
p.p.s. приведённый в книге k&r и скопированный мною код ни к какому api, насколько я понимаю, отношения не имеет·
о, чёрт! я сам же подкидываю поводы для увода дискуссии в дебри…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Ответить