Кто написал ядро линукс

Содержание
  1. Линус Торвальдс: человек, который создал ядро ​​Linux
  2. 1. Назван в честь лауреата Нобелевской премии
  3. 2. Торвальдс — Редкая фамилия
  4. 3. Его первый компьютер
  5. 4. Торвальдс был младшим лейтенантом в армии
  6. 5. Он разработал свой собственный ассемблер и игры
  7. 6. Университетский проект
  8. 7. Торвальдс хотел назвать ядро Freax
  9. 8. Он получил торговую марку Linux
  10. 9. Его личный талисман
  11. 10. Он женился на своей ученице
  12. 11. Стив Джобс пытался завербовать Линуса Торвальдса
  13. 12. В его честь назван астероид
  14. 13. Его другие известные творения
  15. 14. Торвальдсу не любит C ++
  16. 15. Он ненавидит социальные сети
  17. 16. Его часто обвиняют в том, что он невежлив с другими программистами
  18. 17. Он больше не программист
  19. 18. Чистая стоимость Торвальдса
  20. 19. Награды и признание СМИ
  21. Национальная библиотека им. Н. Э. Баумана Bauman National Library
  22. Персональные инструменты
  23. Linux (ядро)
  24. Содержание
  25. Историческая справка
  26. Краткая история Unix
  27. Краткая история Linux
  28. Переход от Unix к Linux
  29. Понятие ядра операционной системы Linux.
  30. Устройство компонентов ядра ОС Linux
  31. Файловая подсистема
  32. Подсистема управления запросами
  33. Подсистема ввода/вывода
  34. Особенности архитектуры
  35. Выполнение в режиме ядра
  36. Примечания
  37. Литература

Линус Торвальдс: человек, который создал ядро ​​Linux

Линус Бенедикт Торвальдс, финско-американский программист, создал ядро Linux в 1991 году. Это свободное ядро Unix-подобной операционной системы с открытым исходным кодом, которое породило сотни дистрибутивов операционных систем, широко известных как Linux.

Сегодня Linux используется в широком спектре вычислительных систем, от встроенных устройств и персональных компьютеров до больших ЭВМ и суперкомпьютеров. Она поддерживает большую часть сети, включая Google и Facebook, и полностью доминирует над суперкомпьютерами. На самом деле, 500 самых быстрых суперкомпьютеров в мире работают под управлением Linux.

Торвальдс был удостоен многочисленных наград и премий за свое творчество. Мы собрали некоторые из самых интересных фактов о его жизни, карьере и медийном признании.

1. Назван в честь лауреата Нобелевской премии

Торвальдс был назван в честь Линуса Полинга, который был удостоен Нобелевской премии по химии (1954) и Нобелевской премии мира (1962). Полинг был одним из четырех человек, получивших более чем одну Нобелевскую премию.

2. Торвальдс — Редкая фамилия

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

3. Его первый компьютер

VIC-20 материнская плата

Торвальдс получил свой первый компьютер в возрасте 10 лет. Это был 8-битный домашний компьютер Commodore VIC-20. Он был оснащен 5 КБ статической памяти и использовал процессор MOS 6502.

4. Торвальдс был младшим лейтенантом в армии

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

5. Он разработал свой собственный ассемблер и игры

Интерес Торвальдса к программированию начался еще в раннем возрасте. Он основательно настроил операционную систему своего персонального компьютера Sinclair QL. Поскольку в Финляндии было довольно трудно получить программное обеспечение, он написал свой собственный ассемблер и редактор для компьютера. Он также разработал несколько игр, в том числе клон Pac-Man под названием Cool Man.

6. Университетский проект

Торвальдс узнал о UNIX впервые в 1990 году. Это было время, когда он использовал MicroVAX (недорогой микрокомпьютер, разработанный Digital Equipment Corporation), работающий под управлением операционной системы Unix под названием Ultrix.
Впоследствии он приобрел 32-разрядный клон IBM PC на базе Intel i386 и начал работать над новой операционной системой. Год спустя он опубликовал свою магистерскую диссертацию под названием «Linux: портативная операционная система».

7. Торвальдс хотел назвать ядро Freax

На начальном этапе разработки Торвальдс хотел назвать свое изобретение Freax, которое представляет собой объединение Free, Freak и буквы X (как намек на Unix). Он даже хранил файлы под именем Freax около шести месяцев.

Но Ари Лемке, одному из добровольных администраторов FTP-сервера, не понравилось имя Freax, и он назвал проект Linux на сервере, не спросив Торвальдса. Позже, однако, Торвальдс согласился на это имя.

8. Он получил торговую марку Linux

В период с 1994 по 1995 год несколько человек из разных стран пытались зарегистрировать название «Linux» в качестве товарного знака и начали требовать лицензионных отчислений от разработчиков Linux.

Это заставило Торвальдса вмешаться. Он подавил этих людей с помощью Linux International и получил товарный знак Linux. Охраной товарного знака позже занимался некоммерческий Институт Linux Mark Institute.

В 2000 году Торвальдс установил определенные правила для выдачи лицензий. Любой, кто предлагает продукты или услуги с именем Linux, должен приобрести лицензию.

9. Его личный талисман

Талисманом Торвальдса является пингвин по кличке Такс. Он также был принят в качестве талисмана ядра Linux. Логотип операционной системы, пухлый пингвин, является изображением с открытым исходным кодом, и никто не владеет им. Он был разработан Ларри Юингом в 1996 году и усовершенствован Линусом Торвальдсом.

10. Он женился на своей ученице

В 1993 году Торвальдс преподавал базовые компьютерные уроки в Хельсинкском университете. Он поручил своим ученикам отправить ему электронное письмо в качестве теста (да, тогда составление электронной почты было большим делом).

Одна из его студенток по имени Туве Монни ответил на электронное письмо с просьбой о свидании. Перенесемся на пару лет вперед, они поженились и родили трех дочерей. Системный вызов перезагрузки ядра Linux принимает их даты рождения (введенные в шестнадцатеричном формате) в качестве магических значений.

11. Стив Джобс пытался завербовать Линуса Торвальдса

В 2000 году генеральный директор Apple Стив Джобс пригласил Торвальдса в кампус Apple в Купертино и попытался нанять его. Джобс хотел, чтобы он работал в Apple и прекратил работу над проектом Linux. Торвальдс отклонил предложение и продолжил работу над Linux. Кроме того, ему не нравилось ядро ​​Mac в Mac OS.

Читайте также:  Завис при запуске mac os

Это было время, когда Apple активно вкладывала средства в Mac OS X, которая впоследствии послужила основой для iPhone и iPad.

12. В его честь назван астероид

ОС Linux использовалась Spacewatch и многими другими исследованиями астероидов для сбора и анализа данных. В честь Линуса за это создание астероид 9793 Торвальдс был назван в его честь в 1996 году.

В 2003 году в честь него была названа астероидная луна Линус, которая вращается вокруг большого астероида M-типа 22 Каллиопа. Название также предназначалось в честь персонажа комикса «Арахис» Линуса ван Пелта.

13. Его другие известные творения

Git: Линус также создал Git, распределенную систему контроля версий для отслеживания изменений в исходном коде во время разработки программного обеспечения.

До 2005 года он использовал проприетарное программное обеспечение под названием BitKeeper для контроля версий в ядре Linux. Когда Bitkeeper закрыл бесплатный сервис, Торвальдс написал собственное бесплатное программное обеспечение [Git] для координации работы разработчиков и отслеживания изменений в любом наборе файлов.

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

14. Торвальдсу не любит C ++

Линус Торвальдс опубликовал сообщение в техническом списке, в котором говорится, что C++ — это ужасный язык. По его словам, библиотечные функции C++, такие, как Boost и STL, являются неэффективными и нестабильными. Эти функции заставляют разработчиков переписывать приложения, как только они понимают, что их программа слишком сильно зависит от хороших объектных моделей вокруг нее.

Существует множество опровержений атакам Торвальдса. Многие компании считают, что преимущества C++ перевешивают недостатки, и язык не собирается уходить в ближайшее время.

15. Он ненавидит социальные сети

Линус не большой поклонник современных социальных сетей, таких как Twitter, Facebook или Instagram. В интервью с Робертом Янгом он сказал, что социальные сети — это болезнь, и это, похоже, способствует плохому поведению.

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

16. Его часто обвиняют в том, что он невежлив с другими программистами

Торвальдс также известен как острый на язык, который имеет печальные истерики в списке рассылки ядра Linux, где происходит большинство объявлений, дискуссий и обсуждений по ядру.

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

17. Он больше не программист

В то время как ядро ​​Linux содержит около 28 миллионов строк кода в своем репозитории Git, Торвальдс написал менее 1%. Он написал большую часть основных функций, таких как планировщик, управление памятью, интерфейс системных вызовов. По состоянию на 2020 год основными участниками по почтовым доменам являются Intel и Red Hat.

В наши дни Торвальдс является менеджером кода и сопровождающим, а не разработчиком. Большая часть его личного вклада включает в себя объединение кода, написанного другими, с небольшим программированием. Он имеет высшие полномочия решать, какие функции должны (или не должны) быть включены в ядро Linux.

18. Чистая стоимость Торвальдса

Довольно сложно рассчитать собственный капитал Линуса Торвальдса или сколько он зарабатывает, потому что он никогда не делал эту информацию публичной.

Однако мы знаем, что два ведущих разработчика программного обеспечения на основе Linux, VA Linux и Red Hat, представили Торвальдсу опционы на акции в 1999 году. Обе компании стали публичными в том же году, и временная стоимость акций Линуса выросла до 20 миллионов долларов США.

19. Награды и признание СМИ

Торвальдс получил десятки престижных наград, в том числе IEEE Masaru Ibuka Consumer Electronics Award (2018), IEEE Computer Pioneer Award (2014), Интернет-зал славы (2012) и Vollum Award (2005).

Кроме того, журнал Time признал его одним из самых влиятельных людей в мире (2004 год) и одним из героев-революционеров последних шести десятилетий (2006 год). Путеводитель Британика в 2010 году назвал его одним из 100 самых влиятельных изобретателей всех времен.

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

Linux (ядро)

Linux kernel
Разработчик Линус Торвальдс и сторонние разработчики
Написана на C и Ассемблер [1]
Линейка ОС Unix-подобная
Дата первого релиза 0.01 (17 September 1991 года ; 30 years ago ( 1991-09-17 ) )
Доступно в Русский
Ядро (тип) Монолитное ядро
Лицензия GNU GPL, version 2 [2] plus various optional freely redistributable (proprietary) binary blobs [3]
Официальный веб-сайт kernel .org

Содержание

Историческая справка

Краткая история Unix

Хронология разработки ядра Linux очень обширна, однако точно прослеживаются истоки его создания, которые ведут к UNIX. В 1969 году Кен Томпсон из исследовательской группы Bell Laboratories совместно с Деннисом Ритчи на передовом микро-компьютере PDP-7 разработал ядро многозадачной, многопользовательской операционной системы UNICS ( позже переименованной в UNIX-TP). В момент создания ядра UNIX-TP Ритчи находился под влиянием своего прошлого проекта — ОС MULTICS, несмотря на наличие достаточно инновационных и передовых идей, таких как: строго сегментированная модель данных, сегментно-страничная виртуальная память, динамическое связывание, переконфигурация всей системы «на ходу», иерархическая файловая система, впервые реализованный подход с использованием стеков для каждого вычислительного процесса внутри системы ядра и др; проект был закрыт ввиду сложной архитектуры ОС, а также из-за недостатков, связанных с распределением памяти файлов, больших по размеру чем установленный системный лимит. Стоит также заметить, что вся операционная система, включая сложный компилятор языка PL/I, пользовательские команды и дополнительные библиотеки, состояла из примерно полутора тысяч исходных файлов, каждый из которых содержал примерно по 200 строк кода. В скомпилированном виде весь этот код занимал около 4,5 Мегабайт, что было огромным размером по тем временам. Компиляторы Multics в основном оптимизировали код по размеру, а не по эффективности использования центрального процессора, что было обосновано стремлением к экономии памяти в многопользовательской системе.

Читайте также:  Где отключить файрвол windows 10

Несмотря на неудачу своего предшественника, UNIX вобрал в себя концепцию MULTICS и был детально проработан. Первые две версии ОС были написаны на ассемблере, однако третья и четвертая версии использовали язык, разработанный Ритчи — С [4] , архитектура третьей версии использовала встроенный компилятор языка, а четвертая представляла собой полностью переписанное на СИ системное ядро. С приходом пятой версии UNIX был полностью переписан на язык СИ. Изначально создателем он был задуман как язык необходимый в написании операционных систем. Это переписывание разрешено команде UNIX TM с целью перехода на более мощную аппаратную часть — PDP-11/45 и 11/70 компьютеры. С 1974 года UNIX стал распространяться среди университетов и академических учреждений. С 1975 года началось появление новых версий, разработанных за пределами Bell Labs, и рост популярности системы.

В 1980 году компанией AT&T был разработан пакет коммерческих лицензий на все дистрибутивы UNIX, и сведение всех версий в одну: UNIX System V. Университет Калифорнии, Беркли продолжал разрабатывать свою собственную версию Unix под названием BSD. Многие из важнейших разработок в UNIX изначально пришли из BSD, к примеру, включение TCP/IP в основную версию UNIX. Поскольку основная часть системы поставлялась в исходных текстах, написанных на языке С, опытным программистам не требовалось документации, чтобы разобраться в архитектуре UNIX. C ростом популярности микропроцессоров другие компании переносили эту операционную систему на другие платформы, но простота и ясность операционной системы искушали многих на ее расширение и последующую модификацию, в результате чего появилось много разновидностей базовой системы.

Не желая терять инициативу, AT&T в 1982 году объединила несколько существовавших версий UNIX и создала версию под названием SYSTEM |||. В отличие от редакций, предназначавшихся, в первую очередь, для внутреннего использования и не получивших дальнейшего развития, SYSTEM ||| была создана для распространения за пределами Bell Labs и AT&T и положила начало новой ветви UNIX , которая и сегодня жива и развивается.

Краткая история Linux

В 1991 году в Хельсинки, Финляндии, Линус Торвальдс начал работу над проектом, который был, по его словам, «просто для удовольствия». Этот проект в конечном счете стал ядром Linux. Он никогда не был предназначен для чего-то особенного, просто инструмент, который позволил бы студенту получить доступ к UNIX-серверам в соседнем университете. Он написал его специально для железа, на котором он работал на тот момент, и оно не зависело от операционной системы. Linux разработана «с нуля» для процессора Intel i386, сегодня она перенесена на огромный ряд других аппаратных платформ, включая серверы Alpha фирмы DEC.

Переход от Unix к Linux

Linux был разработан в попытке создать бесплатную альтернативу коммерческим UNIX-средам. Его история начинается в 1991 или даже в 1983 гг., когда был создан проект GNU, чьей исходной целью было предоставить бесплатную альтернативу UNIX. Linux работает на гораздо большем количестве платформ, например на Intel®/AMD x86. Большинство ОС UNIX способны работать только на одной платформе.У Linux и UNIX общие исторические корни, но есть и серьезные отличия. Много инструментов, утилит, и бесплатных приложений, являющихся стандартными для Linux, первоначально задумывались как бесплатная альтернатива программам для UNIX. Linux часто предоставляет поддержку множества опций и приложений, заимствуя лучшую или наиболее популярную функциональность из UNIX. Администратору или разработчику, который привык работать с Linux, система UNIX может показаться не очень удобной для использования. С другой стороны, фундамент UNIX-подобной операционной системы (инструменты, файловая система, интерфейсы API) достаточно стандартизирован.

Понятие ядра операционной системы Linux.

Ядро является сердцем любой операционной системы, обеспечивая базовую функциональность операционной системы:

  1. создает процессы и управляет ими
  2. распределяет и обеспечивает доступ к файлам, а также к периферийным устройствам

Взаимодействие прикладных задач с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определенной процедуры ядра, внешне похожего на вызов обычной библиотечной функции . Ядро от имени процесса выполняет запрос и возвращает процессу необходимые данные.

Исходный код ядра коммерческих дистрибутивов UNIX является собственностью их разработчиков и не распространяется за пределы компании. Полностью противоположная ситуация с Linux. Процедуры для компиляции и исправления ядер и драйверов весьма различны. Для Linux и других операционных систем с открытым исходным кодом патч может быть выпущен в виде исходного кода, и конечный пользователь может установить, проверить и даже модифицировать его. Эти патчи обычно проверены не так тщательно как патчи от поставщиков коммерческих ОС UNIX. Поскольку нет полного списка приложений и сред, которые должны быть оттестированы для корректной работы на Linux, Linux-разработчики зависят от конечных пользователей и других разработчиков, которые будут отлавливать ошибки.

Поставщики коммерческих UNIX-дистрибутивов выпускают ядра только в виде исполняемого кода. Некоторые релизы являются монолитными, тогда как другие позволяют обновить только какой-нибудь конкретный модуль ядра. Но в любом случае этот релиз предоставляется только в форме исполняемого кода. Если необходимо обновление, администратор должен ждать, пока производитель выпустит патч в бинарном коде, однако его может утешить то, что производитель выполнит тщательную проверку своего патча на обратную совместимость.

Все коммерческие версии UNIX в некоторой степени эволюционировали до модульного ядра. Драйверы и отдельные особенности ОС доступны как отдельные компоненты и могут быть по необходимости загружены или выгружены из ядра. Но открытая модульная архитектура Linux гораздо гибче. Однако гибкость и адаптируемость Linux означают и постоянное изменение. Исходный код Linux постоянно меняется, и, по прихоти разработчика, может поменяться API. Когда модуль или драйвер написан для коммерческой версии UNIX, он проработает гораздо дольше, чем тот же драйвер для Linux.

Читайте также:  Windows form button background image

Устройство компонентов ядра ОС Linux

Ядро состоит из:

  1. Файловая система
  2. Подсистема управления процессами и памятью
  3. Подсистема ввода / вывода

Файловая подсистема

Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, а также к периферийным устройствам. Одни и те же функции open(), read(), write() могут использоваться как при чтении или записи данных на диск, так и при выводе текста на принтер или в терминал. Файловая подсистема контролирует права доступа к файлу, выполняет операции размещения и удаления файла. Поскольку большинство прикладных функций выполняется через интерфейс файловой системы, права доступа к файлам определяют привилегии пользователя в системе. Файловая подсистема обеспечивает маршрутизацию запросов периферийным устройствам, соответствующим модулям подсистемы ввода/вывода.

Подсистема управления запросами

Запущенная на выполнение программа порождает в системе один или более процессов ( задач ). Подсистема управления процессами контролирует:

  1. Создание и удаление процессов
  2. Распределение системных ресурсов ( памяти, вычислительных ресурсов ) между процессами
  3. Синхронизацию процессов
  4. Межпроцессорное взаимодействие

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

Подсистема ввода/вывода

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

Особенности архитектуры

Ядро Linux поддерживает многие унаследованные от UNIX особенности, такие как:

  1. многозадачность
  2. виртуальную память
  3. динамические библиотеки
  4. отложенную загрузку
  5. производительную систему управления памятью
  6. современные сетевые протоколы

На сегодняшний день Linux — монолитное ядро с поддержкой загружаемых модулей. Драйверы устройств и расширения ядра обычно запускаются в 0-м кольце защиты, с полным доступом к оборудованию. В отличие от обычных монолитных ядер, драйверы устройств легко собираются в виде модулей и загружаются или выгружаются во время работы системы, эта особенность также является унаследованной от первого предшественника — ОС Multics. То, что архитектура Linux не является микроядерной, вызвало обширнейшие споры между Линусом Торвальдсом и Эндрю Таненбаумом в конференции.

Выполнение в режиме ядра

Существуют всего три события, при которых выполнение процесса переходит в режим ядра:

  1. аппаратные прерывания
  2. особые ситуации
  3. системные вызовы

Во всех случаях ядро Linux получает управление и вызывает соответствующую системную процедуру для обработки события. Непосредственно перед вызовом ядро сохраняет состояние системы, а именно состояние прерванного процесса в системном стеке. После завершения обработки, состояние процесса восстанавливается и процесс возвращается в исходный режим выполнения. Чаще всего это режим задачи, например, когда прерывание возникло, когда процесс уже находился в режиме ядра, после обработки события он останется в том же состоянии. Стоит разграничить особые ситуации и прерывания. Аппаратные прерывания генерируются периферией при наступлении исключительных событий ( например, завершение печати или поступление данных на последовательный вход ввода ) и имеют асинхронный характер, поскольку невозможно в тот или иной момент сказать, когда система нам пробросит исключение. Часто, эти прерывания не связаны с текущим процессом, а вызваны внешними событиями. Именно поэтому, обработка прерываний происходит в системном контексте, при этом недопустим доступ к адресному пространству процесса. По этой причине обработка ситуаций не должна блокироваться, поскольку это вызовет блокирование выполнения независимого процесса Системные вызовы позволяют процессам воспользоваться базовыми услугами ядра. Интерфейс системных вызовов определяет ограниченный набор точек входа в ядро системы, обращение к которым изменяет режим выполнения процесса и позволяет выполнять привилегированные функции ядра. Стандартная библиотека C, позволяющая использовать системные функции как обычные процедуры, на самом деле содержит заглушки, обеспечивающие фактическую реализацию вызова соответствующей точки входа ядра. Эта реализация практически не зависит от аппаратной части системы. Например, для систем на базе процессоров Intel используются шлюзы. Имеются два типа шлюзов: шлюзы ловушек и шлюзы вызовов. Для осуществления вызова через шлюз ловушки процесс выполняет команду прерывания, а при работе через шлюз вызова — команду межсегментного вызова. Выполнение системного вызова происходит в режиме ядра, но в контексте процесса, сделавшего системный вызов. Таким образом, открыт доступ к адресному пространству процесса и используется стек ядра процесса.

Примечания

  1. ↑ Balsa, Andrew D. «The linux-kernel mailing list FAQ». Tux.Org.
  2. ↑ Martens, China (28 July 2006). «Linux creator Torvalds still no fan of GPLv3». InfoWorld. IDG . Retrieved 15 February 2015 .
  3. ↑»kernel/git/stable/linux-stable.git». git.kernel.org. 16 October 2002 . Retrieved 21 August 2012 . path: root/firmware/WHENCE
  4. ↑Си

Литература

Робачевский, Андрей (2002). Autotools : Операционная система Unix / by Андрей Робачевский. No Starch Press. p. 528. ISBN 5-8206-0030-4.

Источник

Оцените статью