Назначение и функции операционных систем.
В 1965-1975 годах произошел переход от отдельных электронов к интегральным схемам, что открыло путь к появлению следующего типа компьютеров. Большие функциональные возможности интегральных схем сделали возможным осуществление на практике сложных компьютерных архитектур, таких, например, как IBM/360.
В этот период были реализованы практически все остальные механизмы, присущие современным операционным системам:
Революционным событием данного этапа явилась промышленная реализация мультипрограммирования – способа организации вычислительного процесса, при котором в памяти компьютера находились одновременно несколько попеременно выполняющиеся программ. Такое усовершенствование значительно улучшило эффективность вычислительных систем – компьютер использовался теперь постоянно. В начале 70-х годов появились первые сетевые операционные системы, которые в отличие от многотерминальных операционных систем позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими компьютерами, связанными электронными сетями. К середине 70-х годов наряду с мейнфрэймами широкое распространение получили такие мини-компьютеры, как PDP-11, NOVA, HP. Мини-компьютеры первыми использовали преимущества больших интегральных схем, позволившие реализовать достаточно мощные функциональные возможности при сравнительно невысокой стоимости. Важным событием в истории мини-компьютеров и вообще в истории операционных систем явилось создание операционной системы UNIX. Первоначально она предназначалась для поддерживания режима разделения времени в мини-компьютере PDP-11. С середины 70-ч годов началось массовое использование операционной системы UNIX . В 80-е годы был разработан протокол TCP/IP, признанный в 1983 году Министерством обороны США военным стандартом и реализованный для операционной системы BSD UNIX. Все это десятилетие отмечалось постоянным появлением новых, все более совершенных версий операционной системы UNIX. Среди них были и фирменные версии UNIX: Sun OS, HP-UX, Irix, AIX и многие другие, к которым производители компьютеров адаптировали код ядра и системных утилит для своей аппаратуры. Начало 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, Apple Talk, RIP, OSPF, NLSP).
Во второй половине 90-х годов все компании-производители операционных систем резко усилили поддержку своими системами средств работы с Интернетом. Кроме самого стека протоколов TCP/IP, в комплект поставки начали включать утилиты, реализующие такие популярные серверы, как telnet, ftp, DNS и Web.
Операционные системы компьютера представляет собой комплекс программ, организующих вычислительный процесс в вычислительных системах.
Операционная система выполняет две группы функций:
предоставление пользователю место реальной аппаратуры компьютера некой расшифрованной машины, с которой удобнее работать и которую легче программировать;
повышение эффективности использования компьютера путем рационального управления его ресурсами в соответствии с некоторыми критериями.
Операционная система не только предоставляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является механизмом, распределяющим ресурсы компьютера. К ресурсам вычислительной системы относят такие ее средства, которые могут быть выделены процессу обработки данных. Ресурсы вычислительных систем можно разбить на первичные – аппаратные ресурсы и вторичные – логичные, программные и информационные ресурсы.
К числу первичных ресурсов современных вычислительных систем относятся процессоры, основная память, диски и др., за которыми стоят реальные аппаратные средства. Они являются наиболее значимыми для вычислительного процесса.
Вторичные ресурсы связаны с техническими устройствами, косвенно, т.к. является логическими, виртуальными. Однако их введение – это необходимая абстракция, удобная не только для создателей операционной системы, но и для пользователей.
Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса задач:
планирование ресурса – определение, какому процессу, когда и в каком количестве (если ресурс может быть разбит на части) следует выделить данный ресурс;
удовлетворение запросов на ресурсы;
отслеживание состояния и учет использования ресурса – поддержание оперативной информации о занятости ресурса и распределенной его доли;
разрешение конфликтов между процессами, использующими один ресурс.
Разработка и реализация алгоритмов управления ресурсами являются очень важными этапами при проектировании системы.
Функции операционной системы обычно группируются либо в соответствии с типами локальных ресурсов, которыми управляет операционная система, либо в соответствии со специфическими задачами, примененными ко всем ресурсам вычислительных систем. Такие группы именуются подсистемами. Наиболее важные – это подсистемы управления процессами, памятью, файлами и внешними устройствами, а подсистемами, общими для всех ресурсов, являются подсистемы пользовательского интерфейса, защиты данных и администрирования. Рассмотрим возложенные на них основные задачи.
Подсистема управления процессами генерирует системные информационные структуры, содержащие данные о потребностях в ресурсах вычислительных систем, а также о фактически выделенных ресурсах для каждой задачи. Процесс (задача) – представляет собой базовое понятие современных операционных систем и часто кратко определяется как программа в стадии выполнения.
Программа – это статистический объект, представляющий собой файл с командами и данными, процесс является динамическим объектом, который возникает в операционной системе после того как пользователь или операционная система решает запустить программу на выполнение. Во многих современных операционных системах для обозначения минимальной единицы работы операционной системы используют термин «нить», или «поток», при этом изменяется суть термина «процесс».
В мультипрограммной операционной системе одновременно может существовать несколько процессов, часть из которых, называется пользовательскими процессами, порождается по инициативе пользователей. Другие процессы инициализируются самой операционной системой для выполнения своих функций и называются системными.