LINUX.ORG.RU

Третий том учебника А. В. Столярова

 , ,


24

10

На сайте А. В. Столярова выложен в открытый доступ учебник «Системы и сети», продолживший серию «Программирование: введение в профессию». Серия в целом ориентирована на ОС семейства Unix (в том числе использующие ядро Linux) в качестве единой среды для обучения.

Третий том посвящён операционной системе как явлению, тому, какие услуги ядро предоставляет прикладным программам и на каких принципах основана его работа. В отдельную часть вынесены сведения о компьютерных сетях, включая подсистему сокетов; в этой части также рассмотрено событийно-ориентированное программирование на примере TCP-сервера. Ещё одна часть посвящена работе с разделяемыми данными; здесь рассматриваются классические задачи синхронизации, семафоры и мьютексы, даются базовые сведения о библиотеке pthread.

Как отмечается в предисловиях ко всем томам, издание стало возможным благодаря успешной краудфандинговой кампании. На сайте продолжается сбор средств с целью написания и издания четвёртого тома.

>>> Подробности

★★★

Проверено: jollheef ()
Последнее исправление: sudopacman (всего исправлений: 6)
Ответ на: комментарий от anonymous

Зачем мне это делать? И где шла речь только о ядре и только о программах проекта GNU?

Я установлю/соберу дистрибутив операционной системы GNU. Где твой бог теперь?

anon1337
()
Ответ на: комментарий от anonymous

Ричард Столлман уже давал ответ на подобный вопрос. Перевод:

Мы говорим только, что вы должны отдать должное ведущему разработчику системы. Ведущий разработчик в данном случае — это проект GNU, а система, в основном, GNU. Если вы чувствуете еще большее желание отдать должное тем, кто этого заслуживает, вы, возможно, сочтете, что некоторые второстепенные участники также заслуживают признания в виде своей части в названии системы. Если это так, то мы далеки от того, чтобы спорить с этим. Если вы считаете, что X11 заслуживает своей части в названии системы, и вы хотите называть систему “GNU/X11/Linux” — пожалуйста. Если же вы считаете, что Perl просто взывает об упоминании, и хотите писать “GNU/Linux/Perl” — так и поступайте.

Поскольку такое длинное название, как “GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv”, становится абсурдным, на каком-то этапе вам придется провести черту и опустить названия многих других второстепенных составляющих. Бесспорно верного места, где провести эту черту, нет, поэтому где бы вы ее ни провели, мы не станем с этим спорить.

Разные места для проведения черты приводят к разным вариантам названия системы. Но одно название не может возникнуть из соображений справедливости и выражения благодарности, каким бы ни было положение черты. Это название — “Linux”. Не может быть справедливым, когда выражают благодарность только за один из второстепенных вкладов (Linux), в то время, как главный вклад (GNU) игнорируется.

На мой взгляд эти рассуждения имеют мало практической пользы, потому что очень редко возникает ситуация, когда путают ядро с операционной системой. Обычно даже если кто-то пишет Linux, имея в виду дистрибутив, я его понимаю благодаря контексту. А если не понимаю - никакой катастрофы нет, можно уточнить.

Leupold_cat ★★★★★
()
Ответ на: комментарий от Leupold_cat

когда путают ядро с операционной системой

твоё определение ядра и определение операционной системы?

anonymous
()
Ответ на: комментарий от anon1337

Я установлю/соберу дистрибутив операционной системы GNU

ну собери. соберёшь будет у тебя GNU и что? у меня от этого какая была система, такая и останется, как и у всех других.

только ты сначала собери прежде чем кукарекать

anonymous
()
Ответ на: комментарий от Leupold_cat

Ведущий разработчик в данном случае — это проект GNU

Штульман бредит. Впрочем, ничего нового.

WereFox ★☆
()
Ответ на: комментарий от Leupold_cat

что за общеупотребительные? которые штольмен сказал?

anonymous
()
Ответ на: комментарий от Leupold_cat

пока ты будешь мяться, как целка, я предложу свои, а ты скажешь согласен или нет. если нет, то в чём:

операционная система - это комплекс программ, который обеспечивает управление устройствами компьютера.

ядро - это основная часть операционной системы, обеспечивающая выполнение процессов управления и взаимодействия основных частей (процессоров, памяти, контроллеров) и, опционально, выполнение других процессов.

то есть, операционная система компьютера - это совокупность всех программ, обеспечивающих управление устройствами конкретного компьютера, а ядро - это связанная устойчивая совокупность программ, обеспечивающая выполнение указанных выше в определении ядра процессов у некой совокупности компьютеров (архитектур(ы)).

следовательно, в зависимости от состава определённого ядра и устройств тех или иных компьютеров, операционная система компьютера может быть равна ядру или же представлять собой ядро плюс совокупность программ (драйверов), обеспечивающих управление другими устройствами компьютера, управление которыми не предусмотрено составом ядра.

все остальные программы не являют собой ни операционную систему компьютера, ни ядро операционной системы, а составляют прикладное программное обеспечение и системное программное обеспечение, обеспечивающее взаимодействие прикладных программ с операционной системой.

anonymous
()
Ответ на: комментарий от hobbit

- вопрос «где я его буду использовать» обычно больше всего волнует тех, кто хочет стать программистом, но наивно надеется обойтись одним ЯП

Вот не согласен я с тобой. Вспоминая как сам начинал изучать програмирование не могу забыть, что основной мыслью в моей голове с первого дня была - а чего я сам теперь могу накодить? Собственно первую говнопрогу (онлайн дневник с гуем, хранящий все записи на фтп) я начал пилить на третий день. И к изучению следующего языка я пришел только через полтора года, когда первого перестало хватать под имевшиеся задачи. К тому моменту у меня накопилось уже десяток говнософтин которыми даже активно пользовались несчастные пользователи кпк. И собственно первый язык я выбрал именно изза возможности его использовать здесь и сейчас. О том что это будет мой последний язык я както и не задумывался.
Кстати сейчас я был бы искренне рад, еслибы всамом деле можно было ограничиться только одним языком

genryRar ★★
()
Ответ на: комментарий от genryRar

Если ты заметил, «а чего я сам теперь могу накодить» и «где я его буду использовать» - это два разных вопроса. Первый фокусируется на задаче, второй - на языке.

«А чего я сам теперь могу накодить» - это вопрос вполне достойный. И кстати, Паскаль хорош тем, что на нём можно начать кодить довольно быстро. И в то же время на нём можно писать вполне добротный и эффективный код.

hobbit ★★★★★
()
Ответ на: комментарий от genryRar

В любом случае первая часть этой фразы крайне сомнительна, скорее всего, принадлежит какому-то неудачнику, которому педагоги нанесли психологическую травму. Хороший учитель - это очень ценно. А вторая часть - да, я с ней согласен.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я отношу к понятию «Операционная система» в том числе и те компоненты, которые обеспечивают взаимодействие прикладных программ с ядром.
Что касается общеупотребительных определений. Мне кажется, что если воспользоваться поисковой системой, то абсолютное большинство определений будет описывать примерно одно и тоже разными словами.
Почему для вас это так важно?

Leupold_cat ★★★★★
()
Ответ на: комментарий от hobbit

Согласен. Но практика показывает, что при обучении не программистов, а всяких физиков с инженерами времени, чтобы дойти до второго языка не хватает, т.к. у них полно более основных курсов. А строить графики и проводить аппроксимацию зависимостей нужно уже на 1 курсе. Поэтому приходится переходить на Питон.

Vudod ★★★★★
()
Последнее исправление: Vudod (всего исправлений: 1)
Ответ на: комментарий от Vudod

В теме всё же, насколько я понимаю, речь именно про программистов, и учебник именно для подготовки оных.

Что же до «физиков с инженерами» - да, к ним требования немножко другие. На 1 курсе «строить графики и проводить аппроксимацию зависимостей» можно и на бумажке, чтобы почувствовать кухню процесса. А вот в дальнейшем... Мне кажется, Питон с его слабой типизацией и синтаксисом, зависящим от отступов, способен доставить много боли именно начинающим. Паскаль здесь выглядит предпочтительнее.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Вообще-то инженерам нужен матпакет, а не язык программирования общего назначения. Питон тут как исключение, потому что на нем, в том числе, и полноценные матпакеты scipy, simpy.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

Питон тем и хорош, что он и язык, и матпакет, при этом с достаточно простым и вменяемым синтаксисом.

Vudod ★★★★★
()
Ответ на: комментарий от Leupold_cat

В жопу старого демагога, не?

Он на своих крутых, но давно минувших дней заслугах до сих пор топчется.

СПО уже давно двигают корпорации, а не жму.

dk-
()
Ответ на: комментарий от curufinwe

Глюки иксов и иксовых приложений к ядру отношения не имеют. Само ядро, как раз, совместимость с приложениями не ломает. Это чуть ли не основная заповедь Торвальдса. Поломка совсем из-за других компонентов происходит.

В GNU/Linux за это вся ответственность лежит на команде проекта GNU.

anonymous
()
Ответ на: комментарий от anonymous

ОС — GNU/Linux — состоит из компонентов фонда GNU и ядра Linux

Ядро — Linux — детище Торвальдса

Поэтому мы опускаем часть GNU и говорим сокращенно Linux, подразумевая GNU/Linux.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Не знаю обращал ли кто-нибудт на это внимание: сайт у автора книги просто ужасный, stallman.org и то лучше. Книжка может отличная, но в это верится с трудом, когда человек выказывает полное отсутствие элементарного эстетического вкуса.

Exmor_RS ★★★
()
Ответ на: комментарий от Exmor_RS

Ему уже объясняли, что сайт убогий в дизайне. Всех ПНХ наш шерой.

bookman900 ★★★★★
()
Ответ на: комментарий от Deleted

ОС — GNU/Linux — состоит из компонентов фонда GNU и ядра Linux

у меня - нет. что там у тебя за компоненты? сторонние драйвера не используются?

anonymous
()
Ответ на: комментарий от anonymous

В обычной Gentoo используется Glibc и GCC как минимум, но если заменить их на Musl и Clang, то это уже будет не GNU/Linux.

Deleted
()
Ответ на: комментарий от Deleted

не-не-не, давай перечислим все компоненты операционной системы твоего компьютера, то есть компоненты, которые выполняют функцию управления всеми устройствами, не включая сюда программы прикладного уровня и системного, что обеспечивают выполнение конкретных прикладных программ. тогда мы сможем с тобой правильно понять как именовать операционную систему твоего компьютера.

anonymous
()
Ответ на: комментарий от Deleted

ОС — GNU/Linux — состоит из компонентов фонда GNU и ядра Linux

s/состоит из/состоит в том числе из/

Ядро — Linux — детище Торвальдса
Поэтому мы опускаем часть GNU...

У вас логика отвалилась. :-)

Zmicier ★★★★★
()
Ответ на: комментарий от Deleted

В обычной Gentoo используется Glibc и GCC как минимум, но если заменить их на Musl и Clang, то это уже будет не GNU/Linux.

Да ну? И что же это будет?

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

У вас логика отвалилась. :-)

Гну слэш линукс в беседе неудобно произносить, поэтому говорим просто линукс или ядро в зависимости от контекста.

Например:

«У меня сломался линукс» — то есть дистрибутив.

«У меня сломалось ядро» — то есть ядро Linux.

«У меня сломался Glibc» и т.д.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от anonymous

давай перечислим все компоненты операционной системы твоего компьютера

Зачем? Их очень много, но большинство из них создано в GNU (не считая Linux).

Deleted
()
Ответ на: комментарий от Deleted

Гну слэш линукс в беседе неудобно произносить
Гну слэш линукс

Не удивлен. Это вообще по-каковски? GNU/Linux по-русски очевидным образом читается как /гнулинукс/. Из менее очевидных, но потенциально более изящных способов мне встречалось /гну-на-линуксе/.

поэтому говорим просто линукс

Кто «говорим»? Я, например, чаще всего говорю просто /гну/. Почему вы этого не делаете — это же еще короче?

Zmicier ★★★★★
()
Ответ на: комментарий от Deleted

«У меня сломался линукс» — то есть дистрибутив.

Ну да, ну да. «У меня запахло горелым из процессора» — то есть из системного блока. :-)

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

Почему вы этого не делаете — это же еще короче?

Потому что так устоялось. И кроме вас никто под понятием «гну» не подразумевает дистрибутив Linux. Это линукс. И все. Загружается он на компьютере с помощью ядра Linux, а уже потом гнутый Glibc включается в работу. И когда он грузится, мы видим только пингвинов на экране.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Ну да, ну да. «У меня запахло горелым из процессора» — то есть из системного блока. :-)

Можно обобщить внутренности системного блока как процессор. А ЦП называть ЦП. Но опять-таки смысл меняется в зависимости от контекста. В разговоре и не такие сокращения, обобщения бывают.

Почему вы этого не делаете — это же еще короче?

И если я скажу другу что пользуюсь, гнулинуксом, то он меня не поймет, а вот если скажу, что пользуюсь линуксом, то все станет понятно.

Deleted
()
Ответ на: комментарий от Deleted

И кроме вас никто под понятием «гну» не подразумевает дистрибутив Linux.

Само собой. Под «ГНУ» подразумевается дистрибутив ГНУ (скорее всего с Линуксом).

Загружается он на компьютере с помощью ядра

Загружается он все-таки с помощью загрузчика, а ядро (любое) работает все время.

а уже потом гнутый Glibc включается в работу

И? Мне кажется, вы придаете слишком серьезное значение отдельным программам.

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

Само собой. Под «ГНУ» подразумевается дистрибутив ГНУ (скорее всего с Линуксом).

GNU-тый софт поставляется с Linux как дистрибутив, но без ядра я не смог бы им пользоваться (оффтопик не считаем). Однако GNU Hurd можно полностью называть как GNU. И где же он?

И? Мне кажется, вы придаете слишком серьезное значение отдельным программам.

Ядро не просто какая-то отдельная программа. Мне кажется, вы пытаетесь преуменьшить роль Linux как ядра ОС. Главный в системе — Linux. А все остальное можно заменить.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от Deleted

И если я скажу другу что пользуюсь, гнулинуксом, то он меня не поймет, а вот если скажу, что пользуюсь линуксом, то все станет понятно.

Пардонне-мон-франсе, но какой-то туповатый у вас друг. УМВР.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Какой есть. Вы всего лишь цепляетесь к условностям в устной речи и переписке. Я останусь при своем мнении. А вы, давайте, до свиданья.

Deleted
()
Ответ на: комментарий от Deleted

Однако GNU Hurd можно полностью называть как GNU

Ни в коем случае. GNU Hurd — это ядро, а GNU — это операционная система. А, если вы описались, желая написать «GNU/Hurd», то можно, конечно, точно так же, как и любую другую ГНУ.

а уже потом гнутый Glibc включается в работу

И? Мне кажется, вы придаете слишком серьезное значение отдельным программам.

Ядро не просто какая-то отдельная программа.

А что же это, если не отдельная программа. Вполне отдельная (настолько отдельная от всей остальной системы, что это качество промышленно эксплуатируется), и вполне программа.

Но вообще я про него ничего не говорил, как хорошо видно из контекста, речь о стандартной библиотеке Си.

А все остальное можно заменить.

Заменить можно *вообще все* — на то система и свободная. И ядро не в последнюю очередь.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 2)
Ответ на: комментарий от Zmicier

И вообще, какая разница, кто как называет, я вот мышь называю, а не «манипулятор типа мышь», клава вместо клавиатура, моник вместо монитор. Давайте и меня обзовите туповатым :)

Deleted
()
Ответ на: комментарий от Zmicier

Ни в коем случае. GNU Hurd — это ядро, а GNU — это операционная система.

Мне без разницы. В неофициальной беседе я могу называть как угодно и удобно мне. Пока.

Deleted
()
Ответ на: комментарий от Deleted

И вообще, какая разница, кто как называет, я вот мышь называю, а не

Пропустили, как. Чем меня немало заинтриговали, ибо я не припоминаю ни одного ходового жаргонного слова для мыши (не считая мицголизма «мыша»).

Давайте и меня обзовите туповатым

В честь чего бы?

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Deleted

«У меня сломался линукс» — то есть дистрибутив.

так ты у нас дистрибьютор, казахский пастушок?

дистрибутив - это на сайте, диске, флешке или в виде образа: форма дистрибьюции (распределения, распространения, сбыта) программ на ядре LINUX. у тебя на компьютере он может использоваться в виде операционной системы и программного обеспечения.

обобщенно, операционная система - это ядро, драйвера, часть системного программного обеспечения, необходимого для функционирования оборудования и исполнения программ как таковых.

ни прикладное программное обеспечение, ни часть системного программного обеспечения обеспечивающего исполнение определённых прикладных программ к операционной системе не относится, это уже над-

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.