Основы, Назначение и функции ОС
В 1965-1975 гг. произошел переход от отдельных полупроводниковых элементов к интегральным микросхемам, что открыло путь к появлению следующего типа компьютеров. Большие функциональные возможности интегральных схем сделали возможным осуществление на практике сложных компьютерных архитектур, таких, например, как IBM/360. В это период были реализованы практически все основные механизмы, присущие современным ОС: мультипрограммирование, мультипроцессирование, поддержка многотерминального многопользовательского режима, виртуальная память, файловые системы, разграничение доступа и сетевая работа.. Революционным событием данного этапа явилась промышленная реализация мультипрограммирования – способа организации вычислительного процесса, при котором в памяти компьютера находилось одновременно несколько попеременно выполняющихся программ. Такое усовершенствование значительно улучшило эффективность вычислительной системы – компьютер использовался теперь постоянно. В начале 70-х годов появились первые сетевые ОС, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими компьютерами, связанными электрическими сетями.
К середине 70-х годов наряду с мэйнфрэймами широкое распространение получили такие мини-компьютеры, как PDP-11, NOVA, HP. Мини-компьютеры первыми использовали преимущества больших интегральных схем, позволившие реализовать достаточно мощные функциональные возможности при сравнительно невысокой стоимости. Важным событием в истории мини-компьютеров и вообще в истории ОС явилось создание ОС UNIX. Первоначальна она предназначалась для поддержания режима разделения времени в мини-компьютере PDP-11. С середины 70-х годов началось массовое использование ОС UNIX. В 80-е годы был разработан протокол TCP/IP, признанный в 1983 Министерством обороны США военным стандартом и реализованный для ОС BSD UNIX. Все это десятилетие отмечалось постоянным появлением новых, все более совершенных версий ОС UNIX. Среди них были и фирменные версии UNIX: SunOS, HP-UX, Irix, AIX и многие другие, к которым производители компьютеров адаптировали код ядра и системных утилит для своей аппаратуры. Разнообразие версий породило проблему их совместимости, периодически решаемую различными организациями. В результате этой работы появились стандарты POSIX и XPG, определяющие интерфейсы ОС для приложений, а специальное подразделение компании AT&T выпустило несколько версий UNIX System III и UNIX System V, предназначенных для консолидации разработчиков на уровне кода ядра.
Начало 80-х годов также ознаменовалось важным событием в истории ОС – появились персональные компьютеры. Они стали широко использоваться неспециалистами, что потребовало разработки так называемого дружественного программного обеспечения. Предоставление этих дружественных функций стало, естественно, прямой обязанностью ОС. Первая версия наиболее популярной ОС раннего этапа развития персональных компьютеров – MS-DOS компании Microsoft – была лишена этих функциональных возможностей. В 1987 году в результате совместных усилий Microsoft и IBM появилась на свет первая многозадачная ОС для персональных компьютеров OS/2 с процессором Intel 80286, в полной мере использующая возможности защищенного режима. В 90-е годы практически все ОС, занимающие заметное место на рынке, стали сетевыми. Сетевые функции сегодня являются неотъемлемой частью ОС и встраиваются в ее ядро. ОС получили средства для работы со всеми основными технологиями локальных (Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM) и глобальных (X.25, frame relay, ISDN, ATM) сетей, а также средства для создания составных сетей (IP, IPX, AppleTalk, RIP, OSPF, NLSP.
Во второй половине 90-х годов все компании-производители ОС резко усилили поддержку своими системами средств работы с Интернетом. Кроме самого стека протоколов TCP/IP, в комплект поставки начали включать утилиты, реализующие такие популярные сервисы, как telnet, ftp, DNS и Web.
Рассмотрев краткую историю развития операционных систем, мы можем более подробно остановиться на обсуждении выполняемых ими функций.
Операционная система (ОС) компьютера представляет собой комплекс программ, организующих вычислительный процесс в вычислительной системе.
ОС выполняет две группы функций:
- предоставление пользователю вместо реальной аппаратуры компьютера некой расширенной машины, с которой удобнее работать и которую легче программировать;
- повышение эффективности использования компьютера путем рационального управления его ресурсами в соответствии с некоторым критерием.
ОС не только предоставляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является механизмом, распределяющим ресурсы компьютера. К ресурсам вычислительной системы относят такие ее средства, которые могут быть выделены процессу обработки данных.
Ресурсы вычислительной системы можно разбить на первичные – аппаратные ресурсы и вторичные – логические, программные и информационные ресурсы.
К числу первичных ресурсов современных вычислительных систем относятся процессоры, основная память, диски и др., за которыми стоят реальные аппаратные средства. Они являются наиболее значимыми для вычислительного процесса.
Вторичные ресурсы связаны с техническими устройствами косвенно, так как являются логическими, виртуальными. Однако их введение – это необходимая абстракция, удобная не только для создателей ОС, но и для пользователей.
Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса задач:
- планирование ресурса – определение, какому процессу, когда и в каком количестве (если ресурс может быть разбит на части) следует выделить данный ресурс;
- удовлетворение запросов на ресурсы;
- отслеживание состояния и учет использования ресурса – поддержание оперативной информации о занятости ресурса и распределенной его доли;
- разрешение конфликтов между процессами, использующими один ресурс.
Разработка и реализация алгоритмов управления ресурсами является очень важным этапом при проектировании системы.