Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры ос.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
515.58 Кб
Скачать
  1. Понятие ОС. Функции ОС.

  2. Виды ОС.

  3. Архитектура UNIX. Режимы задачи и ядра процесса.

  4. Блок-схема ядра. Краткое описание блоков.

  5. Файловые системы tar, fat, fat32.

  6. Файловая система s5fs.

  7. Файловая система ext2.

  8. Виртуальная файловая система vfs.

  9. Журналируемые файловые системы.

  10. Структура буфера сверхоперативной памяти.

  11. Функционирование буфера сверхоперативной памяти.

  12. Структура процессов. Диаграмма переходов.

  13. Формат памяти системы.

  14. Уровни и слои контекста.

  15. Сохранение контекста процесса.

  16. Диспетчеризация процессов.

  17. Работа в режиме реального времени. Системные операции со временем. Таймер.

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

  19. Свопинг.

  20. Подкачка по запросу.

  21. Управление вводом-выводом.

  22. Способы взаимодействия процессов.

  23. Посылка и обработка сигналов.

  24. Именованные каналы.

  25. Неименованные каналы.

  26. Пакет IPC.

  27. Семафоры и блокировка файлов.

  28. Удаленный вызов процедур.

  29. Сокеты.

  30. Архитектуры многопроцессорных систем.

  1. В чем особенность создания нового процесса в UNIX?

  2. Предположим, что ядро выполняет отложенную запись блока. Что произойдет, когда другой процесс выберет этот блок из его хешочереди? Из списка свободных буферов ?

  3. В версии V системы UNIX разрешается использовать не более 14 символов на каждую компоненту имени пути поиска. Что нужно сделать в файловой системе и в соответствующих алгоритмах, чтобы стали допустимыми имена компонент произвольной длины ?

  4. Известно, что в иноде UNIX-подобных ОС не содержится имя файла. Где его хранит система?

  5. Назовите причины назначения разного уровня приоритетов у прерываний? Как эти приоритеты сказываются на работе системы со стеком контекстных слоев?

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

  7. Что следует предпринять программе обработки отказов в том случае, если в системе исчерпаны страницы памяти?

  8. К файлам терминалов обычно устанавливаются следующие права доступа

crw--w--w- 2 mjb lus 33,11 Oct 25 20:27 tty61 при входе пользователя в систему. То есть, чтение и запись разрешаются пользователю с именем "mjb", а остальным пользователям разрешена только запись. Почему?

  1. Какие функции UNIX доступны программисту для создания tcp-соединения? Чем протокол tcp отличается от udp?

  2. Напишите сценарий для shell меняющий расширения в именах файлов текущего каталога '.c' на '.cc'

(1) Понятие ОС. Функции ОС.

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

Ф-ии ОС

1) Запуск и выполнение программ

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

3) Работа с периферийными устройствами

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

- для обеспечения защиты

4) Интерфейс с пользователем

Эти ф-ии присущи дисковым ОС.

Ф-ии универсальных ОС

1) Параллельное выполнение задач

2) Взаимодействие задач (передача данных между собой, синхронизация управления)

3) Защита системных и пользовательских ресурсов

4) Идентификация (проверка, может ли пользователь выполнять какие-либо действия) и аутентификация (проверка логина/пароля)

(2) Виды ОС

1) Дисковые ОС (RTH, CPM (win 9x), QDOS -> MS-DOS)

2) Универсальные ОС (Unix, Linux, Win NT)

4) Системы реального времени

5) Системы с микроядром (драйверы не часть ядра, а процесс (QNX), системы с монолитным ядром)

6) Системы виртуальных машин (эмуляторы операционных систем, VM (виртуальные машины, эмуляторы машин) пр. VM Ware, сессия DOS в WinNT)

7) Средства кросс разработки (программа разрабатывается в одной системе, а эксплуатируется в другой)

3) Архитектура unix. Режимы задачи ядра и процесса

Режимы работы процесса:

  1. режим задач (пользовательский уровень)

  2. режим ядра (уровень ядра)

Различие режимов:

В режиме задач процессы имеют доступ только к своим инструкциям и данным. А в режиме ядра доступ к адресному пространству ядра и к другим пользователям (процессам).

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

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

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

Некоторые из программ, приведенных на рисунке, в стандартных конфигурациях системы известны как команды, однако на одном уровне с ними могут располагаться и доступные пользователю программы, такие как программа a.out, стандартное имя для исполняемого файла, созданного компилятором с языка Си. Другие прикладные программы располагаются выше указанных программ, на верхнем уровне, как это показано на рисунке. Например, стандартный компилятор с языка Си ('cc') располагается на самом внешнем слое: он вызывает препроцессор для Си, ассемблер и загрузчик (компоновщик), т.е. отдельные программы предыдущего уровня.

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

Многие прикладные подсистемы и программы, составляющие верхний уровень системы, такие как командный процессор shell, редакторы, SCCS (система обработки исходных текстов программ) и пакеты программ подготовки документации, постепенно становятся синонимом понятия 'система UNIX'. Однако все они пользуются услугами программ нижних уровней и в конечном счете ядра с помощью набора обращений к операционной системе. Они имеют несложные параметры, что облегчает их использование, предоставляя при этом большие возможности пользователю. Набор обращений к операционной системе вместе с реализующими их внутренними алгоритмами составляют 'тело' ядра.

(4) Блок-схема ядра. Краткое описание блоков

Ядро - внутренние алгоритмы и структуры, составляющие основу операционной системы. Ядро реализует функции, на которых основывается выполнение всех прикладных программ в операционной системе, и им же определяются эти функции.

Функции ядра:

  1. управление и выполнение процессов

  2. планирование очерёдности, предоставление времени ЦП

  3. выделение оперативной памяти процессу

  4. работа с внешней памятью

  5. управление доступом к периферии

Режимы работы процесса:

  1. режим задач (пользовательский уровень)

  2. режим ядра (уровень ядра)

Различие режимов:

В режиме задач процессы имеют доступ только к своим инструкциям и данным. А в режиме ядра доступ к адресному пространству ядра и к другим пользователям (процессам).

Системные вызовы:

  • система управления памятью

- управляет и размещает доступ

- поиск данных для пользователя

  • подсистема управления процесса

- синхронизация

- взаимодействие

- распределение памяти

- планирование

- выполнение

Блок-схема ядра:

(5) Файловые системы tar, fat, fat32

TAR (Type archive)

Запись файлов на ленту, используется для создания из нескольких файлов одного с помощью утилиты tar

-----------------------------------------------------------------------

| имя файла | данные | имя файла | данные | . . .

------------------------------------------------------------------

FAT (FAT12 (дискеты), FAT16, FAT32)

1

4

2

3

0x bad

4

5

5

0xff

Каждому блоку соответствует запись в FAT-е

В таблице указывается номер следующего блока файла

32 – число бит, выделенных под каждую запись в таблице

(6) Файловая система s5fs

Внутренняя структура файла описывается в inode. Каждый inode описывает один файл. У каждого файла строго один inode, но у файла может быть несколько имён.

Таблица файлов ядра ( для s5fs ):

0- стандартный вход;

1- стандартный выход;

2- стандартные ошибки.

Таблица дескрипторов имеется для каждого процесса.

В суперблоке содержится информация о системе в целом, т.е. тип, размер, размер блока (512, 1024, 2048 ), число свободных блоков, число свободных инодов, список свободных блоков, список свободных инодов.

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

В списке свободных блоков содержатся ссылки на все свободные блоки данных.

Суперблок имеет фиксированный размер.

Список свободных блоков:

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

Каждая запись в таблице инодов содержит следующие данные:

  • тип файла и права доступа

  • число ссылок на файл ( сколько имён файла )

  • идентификатор создателя файла ( пользователь, который его создал) и группа пользователя

  • время последнего доступа к файлу

  • время последней модификации файла

  • время последней модификации инода