Лаба 1, 2
№ 1. Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.
№ 2. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS).
№ 3. Функции операционных систем
Основные функции:
Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
Загрузка программ в оперативную память и их выполнение.
Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
Обеспечение пользовательского интерфейса.
Сохранение информации об ошибках системы.
Дополнительные функции:
Параллельное или псевдопараллельное выполнение задач (многозадачность).
Эффективное распределение ресурсов вычислительной системы между процессами.
Разграничение доступа различных процессов к ресурсам.
Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
Взаимодействие между процессами: обмен данными, взаимная синхронизация.
Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
Многопользовательский режим работы и разграничение прав доступа (см. аутентификация, авторизация).
№ 4. Компоненты операционной системы
Загрузчик
Ядро
Командный процессор (интерпретатор)
Драйверы устройств
Интерфейс
№ 5. Ядро операционной системы
Ядро — центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. Основными ресурсами являются процессорное время, память и устройства ввода-вывода. Доступ к файловой системе и сетевое взаимодействие также могут быть реализованы на уровне ядра.
Как основополагающий элемент операционной системы, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам вычислительной системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС.
Объекты ядра ОС:
Процессы
Файлы
События
Потоки
Семафоры
Мьютексы
Каналы
Файлы, проецируемые в память
№ 6. Основные функция ядра:
обработка прерываний;
создание и уничтожение процессов;
переключение процессов из состояния в состояние;
диспетчирование;
приостановка и активизация процессов;
синхронизация процессов;
организация взаимодействия между процессами;
манипулирование блоками управления процессами;
поддержка операций ввода-вывода;
поддержка распределения и перераспределения памяти;
поддержка работы файловой системы;
поддержка механизма вызова-возврата при обращении к процедурам;
поддержка определенных функций по ведению учета работы
машины
№ 7. В каком режиме работает ядро
В архитектуре Windows выделяется два режима - пользовательский и привилегированный.
В привилегированном режиме работает практически все, что доступно обычному пользователю, то есть приложения вроде Word или Photoshop. В этом режиме программы не имеют прямого доступа к оборудованию или оперативной памяти.
Пользовательский режим надежно изолирован, а все обращения к глубинам системы направляются через специальные интерфейсы, такие как Win32 API с системными библиотеками DLL (Dynamic Link Libraries)
Дра́йвер (англ. driver, мн. ч. дра́йверы) — это компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению некоторого устройства
№8. Функции ядра при загрузке
№ 9. Модуль ядра
Загружаемый модуль ядра (loadable kernel module — LKM) — это объект, который содержит код, расширяющий функционал запущенного ядра или, так называемого базового ядра ОС
Windows
Ядро Windows само по себе не поддерживает расширения с помощью загружаемых модулей. Однако, поддерживаются загружаемые драйверы, а модуль, оформленный в виде драйвера Windows, не обязан работать с каким-либо внешним устройством.
№ 10. Понятие процесса и ресурса ОС
Процесс – это программа в стадии выполнения.
Ресурс - средство системы обработки данных, которое может быть выделено процессу обработки данных на определенный интервал времени.
№ 11. Модель процессов