Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UNIX.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
10.6 Mб
Скачать

Дополнительные материалы

  1. Бах Дж. М. Архитектура операционной системы UNIX. — http://www.opennet.ru/docs/RUS/unix/

  2. Курячий Г. В. Операционная система UNIX. — М.: Интуит.Ру, 2004. — 292 с.: ил.

  3. Робачевский А. М. Операционная система UNIX. — СПб.: БХВ-Петербург, 2002. — 528 с.: ил.

  4. Стандарт на файловую систему. — http://www.pathname.com/fhs/

  5. Максвелл С. Ядро Linux в комментариях. — К.: Издательство «Диа-Софт», 2000. — 488 с.: ил.

Вопросы

  1. В чём заключается особенность архитектуры UNIX?

  2. Какие программы называют демонами? Приведите примеры.

  3. Из каких частей состоит ядро UNIX?

  4. Какими отличительными особенностями обладает файловая система UNIX?

  5. Назовите типы файлов в UNIX. В чём все они схожи, каковы отличия между ними?

  6. Чем жёсткие ссылки отличаются от символьных? Какими преимуществами обладают символьные ссылки?

  7. Что такое виртуальная файловая система? Как она связана с понятием монтирования?

  8. Какие каталоги стандартизованы в UNIX? Что обычно хранится в каждом из них?

  9. Как можно классифицировать различные внешние устройства? Какие объекты соответствуют им в UNIX?

  10. Какие существуют виртуальные устройства в UNIX? Чем они отличаются от обычных устройств?

Презентация

Рисунок 1.28. Презентация 2-01: основные концепции UNIX

Рисунок 1.29. Презентация 2-02: беглый взгляд на архитектуру UNIX

Рисунок 1.30. Презентация 2-03: ядро UNIX

Рисунок 1.31. Презентация 2-04: файловая система UNIX

Рисунок 1.32. Презентация 2-05: индексный узел

Рисунок 1.33. Презентация 2-06: виртуальная файловая система

Рисунок 1.34. Презентация 2-07: монтирование файловых систем

Рисунок 1.35. Презентация 2-08: стандарт на файловую систему

Рисунок 1.36. Презентация 2-09: устройства в UNIX

Рисунок 1.37. Презентация 2-10: резюме

Архитектура unix. Процессы

Презентация 3-01: ядро UNIX

В прошлой лекции была рассмотрена архитектура операционной системы UNIX и её ядра. Было сказано о том, что эта операционная система базируется на двух «китах»: файлах и процессах. В этой лекции речь пойдет о процессах: что это такое и как они взаимодействуют в рамках UNIX-системы.

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

Управление памятью

Презентация 3-02: управление памятью

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

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

В современных реализациях UNIX для большинства аппаратных архитектур используется страничная организация виртуальной памяти. В этом случае всё адресное пространство процесса разбивается на участки одинакового размера (страницы), аналогичным образом разбивается вся физическая память. Каждая станица адресного пространства процесса может отображаться на какую-то страницу физической памяти. Это обеспечивается специальной таблицей преобразования адресов, которую операционная система поддерживает в адекватном состоянии. Таким образом, физическая память разделяется между множеством процессов, причём каждый из процессов имеет доступ только к «своим» страницам, что гарантируется операционной системой и аппаратными возможностями процессора.

В 32-разрядной архитектуре объём адресного пространства процесса равен 4 гигабайтам. Так как число процессов в системе потенциально не ограничено, очевидно, что суммарный размер адресного пространства, необходимого всем процессам, вполне может превысить размеры физической памяти. Конечно, большая часть программ оперирует довольно небольшим объёмом памяти. Однако страничное преобразование позволяет решить проблему недостатка физической памяти: неиспользуемые страницы могут копироваться из физической памяти на диск в специальную область подкачки и храниться там до момента, когда они вновь потребуются для исполнения процесса.

Ещё один мощный механизм, возможный благодаря страничному преобразованию, — это файлы, проецируемые в память. Процесс может «присоединить» файл к своему виртуальному адресному пространству. Это означает, что при обращении к файлу или изменении данных в нем операционная система будет автоматически выполнять отображение содержимого файла в страницы памяти процесса и обратно. Фактически операционная система здесь использует тот же механизм, что и при работе с областью подкачки, когда данные перемещаются с внешнего носителя в память при обращении к соответствующему адресу виртуальной памяти. Отображаемые в память файлы используются в тех случаях, когда необходимо с минимальными временными затратами многократно модифицировать содержимое файла, например, в базах данных или редакторах.

На рисунке Рисунок 1.38, «Размещение страниц виртуальной памяти» показаны возможные случаи размещения страниц виртуальной памяти — в физической памяти, в области подкачки, в файле.

Рисунок 1.38. Размещение страниц виртуальной памяти

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]