Категории: Все - процессор - ресурсы - ядро

по Телицин Андрей 8 лет назад

471

Операционные системы (ОС)

В 1960-х годах с распространением телетайпов и терминалов с электронно-лучевыми дисплеями возникла необходимость в многозадачности для более эффективного использования вычислительных ресурсов.

Операционные системы (ОС)

Операционные системы (ОС)

Понятие

Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием. В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов в самой операционной системе. В составе операционной системы различают три группы компонентов: ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система; системные библиотеки; оболочка с утилитами.
Операционные системы нужны: -если нужен универсальный механизм сохранения данных; -для предоставления системным библиотекам часто используемых подпрограмм; -для распределения полномочий; -необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере; -для управления процессами выполнения отдельных программ. Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как: -использующие файловые системы (с универсальным -механизмом доступа к данным), -многопользовательские (с разделением полномочий), -многозадачные (с разделением времени).
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.
Существуют две группы определений операционной системы: «набор программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который связан с вопросом, в каких случаях требуется операционная система.

Ядро

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

Разделение времени и многозадачность

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

Функции

Основные функции: 1 Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.). 2 Загрузка программ в оперативную память и их выполнение. 3 Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода). 4 Управление оперативной памятью (распределение между процессами, организация виртуальной памяти). 5 Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе. 6 Обеспечение пользовательского интерфейса. 7 Сохранение информации об ошибках системы.
Дополнительные функции: 1 Параллельное или псевдопараллельное выполнение задач (многозадачность). 2 Эффективное распределение ресурсов вычислительной системы между процессами. 3 Разграничение доступа различных процессов к ресурсам. 4 Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам. 5 Взаимодействие между процессами: обмен данными, взаимная синхронизация. 6 Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений. 7 Многопользовательский режим работы и разграничение прав доступа (см.: аутентификация, авторизация).