Читаем Linux API. Исчерпывающее руководство полностью

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

Далее в книге будут встречаться фразы вроде «процесс может создавать другой процесс», «процесс может создать конвейер», «процесс может записывать данные в файл» и «процесс может останавливать свою работу путем вызова функции exit()». Но вам следует запомнить, что посредником во всех этих действиях является ядро, а такие утверждения — всего лишь сокращения фраз типа «процесс может запросить у ядра создание другого процесса» и т. д.

Дополнительная информация

В число современных публикаций, охватывающих концепции и конструкции операционных систем с конкретными ссылками на системы UNIX, входят труды [Tanenbaum, 2007], [Tanenbaum & Woodhull, 2006] и [Vahalia, 1996]. В последнем подробно описаны архитектуры виртуальной памяти. Издание [Goodheart & Cox, 1994] предоставляет подробную информацию, касающуюся System V Release 4. Публикация [Maxwell, 1999] содержит аннотированный перечень избранных частей ядра Linux 2.2.5. В издании [Lions, 1996] представлен детально разобранный исходный код Sixth Edition UNIX, который и сегодня остается полезным источником информации о внутреннем устройстве UNIX. В публикации [Bovet & Cesati, 2005] дается описание реализации ядра Linux 2.6.

2.2. Оболочка

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

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

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

• Bourne shell (sh). Эта оболочка, написанная Стивом Борном (Steve Bourne), является старейшей из широко используемых оболочек. Она была стандартной оболочкой для Seventh Edition UNIX. Bourne shell характеризуется множеством особенностей, актуальных для всех оболочек: перенаправление ввода-вывода, организация конвейеров, генерация имен файлов (подстановка), использование переменных, работа с переменными среды, подстановка команд, фоновое выполнение команд и функций. Все последующие реализации UNIX включали Bourne shell в дополнение к любым другим оболочкам, которые они могли предоставлять.

C shell (csh). Была написана Биллом Джоем (Bill Joy) из Калифорнийского университета в Беркли. Такое имя она получила из-за схожести многих конструкций управления выполнением этой оболочки с конструкциями языка программирования C. Оболочка C shell предоставляет ряд полезных интерактивных средств, недоступных в Bourne shell, включая историю команд, управление заданиями и использование псевдонимов. Оболочка C shell не имеет обратной совместимости с Bourne shell. Хотя стандартной интерактивной оболочкой на BSD была C shell, сценарии оболочки (которые вскоре будут рассмотрены) обычно создавались для Bourne shell, дабы сохранялась их портируемость между всеми реализациями UNIX.

Korn shell (ksh). Оболочка была написана в качестве преемника Bourne shell Дэвидом Корном (David Korn) из AT&T Bell Laboratories. Кроме поддержки обратной совместимости с Bourne shell, в нее были включены интерактивные средства, подобные предоставляемым оболочкой C shell.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных