В3. Операционные системы. Назначение, классификация, современное состояние, знакомство с возможностями и работа в современной операционной системе

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

Назначение ОС: 1) запуск и управление работой прикладных программ и предоставление им виртуальной машины — услуг, организующих и упрощающих взаимодействие с оборудованием; 2) управление устройствами ввода-вывода и другим оборудованием

Операционная система выполняет следующие основные системные функции по управлению локальными ресурсами компьютера:

1. запуск системных и прикладных процессов и управление ими;

2. управление оборудованием с помощью ввода-вывода;

3. управление размещением данных в оперативной памяти;

4. управление файловой системой — набором файлов и каталогов.

Для выполнения данных функций ОС имеет соответствующие подсистемы, которые описаны ниже.

По количеству одновременно выполняющихся процессов ОС подразделяются на две основные группы: однозадачные и многозадачные. Большинство современных ОС являются многозадачными.

По количеству одновременно работающих пользователей ОС подразделяются на однопользовательские и многопользовательские.

Управление процессами

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

Опишем принцип схему работы компьютерных программ. Напомним, что процессом называется компьютерная программа, запущенная на выполнение. Операционная система — это первый процесс, появляющийся в компьютере после его включения. ОС загружается (поз. 5) центральным процессором (поз. 1) автоматически с накопителя (поз. 4) в оперативную память (поз. 2). ОС загружается при запуске или перезапуске компьютера и работает непрерывно в автоматическом режиме. Работа компьютера без ОС невозможна.

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

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

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

Организация ввода-вывода

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

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

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

Драйвер — это системная программа, управляющая работой контроллера устройства ввода-вывода. Контрoллер — электронное устройство, управляющее исполнительными устройствами (механикой, оптикой, электроникой), которые непосредственно взаимодействуют с носителями информации. Порт — буферное устройство в составе любого контроллера, через которое осуществляется ввод и вывод информации с помощью драйвера.

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

Чем выше скорость работы носителя информации, тем выше его стоимость в расчете на 1 Мб емкости. Каждый мегабайт емкости накопителей обходится гораздо дешевле, чем ОЗУ, поэтому жесткие диски имеют значительно больший объем. Поэтому в современных ОС широко используются технологии виртуальной памяти и кэширования. Опишем их.

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

Принцип заключается в следующем. Данные, к которым достаточно долго не было обращения, выгружаются системой на жесткий диск, освобождая области оперативной памяти. Таким образом, виртуальная память системы — это специальная область на диске, размер которой может быть в 2-3 раза больше размера физического ОЗУ. При необходимости ОС автоматически осуществляет перемещение данных между виртуальной и физической памятью. Полная память в системе равна сумме физической и виртуальной памяти.

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

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

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

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

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

Для упорядоченного хранения файлов накопители часто разбиваются на разделы. Более мелкой структурой, в которой хранятся файлы, являются каталоги (папки).

Файловой системой называется порядок хранения данных на накопителе. Файловая система описывает формат представления файлов, каталогов и различной служебной информации на накопителях. Практически каждая ОС работает с собственной файловой системой, часто несовместимой с файловыми системами других ОС. Программное обеспечение в составе ОС для управления файлами также называется файловой системой.