Читайте также:
|
|
В настоящее время наблюдается бурное развитие операционных систем (Windows, Linux, Solaris, MacOS и др.), в том числе – с открытым исходным кодом (Windows Research Kernel, Linux, OpenSolaris и др.).
Определение понятия ОС
ОС – это комплекс взаимосвязанных системных программ, функциями которого является контроль использования и распределения ресурсов (процессор, память, устройства и т.п.) вычислительной системы и организация взаимодействия пользователя с компьютером.
ОС играет роль связующего звена между:
· аппаратурой ПК,
· выполняемыми программами,
· пользователем.
Важной особенностью многих ОС является способность их взаимодействия друг с другом, посредством сети, что позволяет ПК взаимодействовать друг с другом, в рамках локальных вычислительных сетей (ЛВС), так и в глобальной сети Интернет.
Образно можно сказать, что аппаратура компьютера предоставляет "сырую" вычислительную мощность, а задача операционной системы заключается в том, чтобы сделать использование этой вычислительной мощности доступным и по возможности удобным для пользователя.
Архитектура ОС - структурная и функциональная организация ОС на основе некоторой совокупности программных модулей.
В состав ОС входят исполняемые и объектные модули стандартных для данной ОС форматов, программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода), конфигурационные файлы, файлы документации, модули справочной системы и т.д.
1.1. Исторические сведения.
Предшественником ОС следует считать:
1) служебные программы (загрузчики). Служебные программы минимизировали физические манипуляции оператора с оборудованием.
2) библиотеки часто используемых подпрограмм. Библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т.п.)
В ранних mainframe-компьютерах (1940-1950 гг.), первым из которых был компьютер ENIAC (1947 г., США), операционные системы отсутствовали. Обращение к памяти в этих компьютерах осуществлялось по реальным (физическим) адресам, а обращение к внешним устройствам (например, к устройству ввода с перфокарт или накопителю на магнитной ленте) осуществлялось специальными командами, также по физическим адресам. Подобные компьютеры были весьма громоздкими, каждый из них занимал большой зал, в котором пользователи по очереди работали на компьютере, используя столь неудобный интерфейс, как инженерный пульт. Каждый пользователь перед уходом "с машины" (как тогда говорили) останавливал и "обнулял" ее нажатием кнопок на пульте и уступал место следующему пользователю, который вводил свою программу и данные с перфокарт или перфоленты, набирал ее начальный адрес тумблерами на пульте и запускал ее с помощью специальной кнопки. При любом сбое или ошибке в программе, в ситуации приходилось разбираться, изучая комбинации лампочек на пульте, воспроизводящие в двоичном виде содержимое регистров.
Разумеется, подобный способ взаимодействия с компьютером был очень неудобен. Требовалась хотя бы минимальная автоматизация. Для этого в 1950-х – 1960-х гг. – были созданы диспетчеры (dispatchers) - предшественники ОС, системные программы, управлявшие прохождением пакета задач, вводимых с перфокарт.
В 1960-х – 1970-х гг. были разработаны классические операционные системы, которые все более и более усложнялись. Все более сложными становились их системы файлов и другие компоненты ОС. Наиболее известные из операционных систем этого периода: среди зарубежных - ATLAS, MULTICS, OS IBM/360, среди отечественных – ОС ДИСПАК для ЭВМ БЭСМ-6. Для классических операционных систем были характерны следующие основные возможности:
1. мультипрограммирование (multi-programming) – одновременная обработка нескольких заданий;
2. пакетная обработка (batch mode) – обработка пакета заданий, введенных с перфокарт или с терминалов, с учетом их приоритетов и требуемых ресурсов
3. разделение времени (time sharing) – параллельная работа нескольких пользователей с терминалов (телетайпов или дисплеев), управлявших прохождением своих заданий, выполнявших их ввод в текстовых редакторах, компиляцию, выполнение и отладку;
4. управление процессами – параллельное (или попеременное, если компьютер был однопроцессорным) выполнение пользовательских процессов; возможность явного запуска параллельного процесса.
1.2. Компоненты компьютерной системы
Чтобы лучше понять место и роль операционной системы в процессе вычислений, рассмотрим компьютерную систему в целом. Она состоит из следующих компонентов:
Аппаратура (hardware) компьютера, основные части которой – центральный процессор (Central Processor Unit - CPU), выполняющий команды (инструкции) компьютера; память (memory),хранящая данные и программы, и устройства ввода- вывода, или внешние устройства (input-output devices, I/O devices), обеспечивающие ввод информации в компьютер и вывод результатов работы программ в форме, воспринимаемой пользователем-человеком или другими программами.
Операционная система (operating system) – системное программное обеспечение, управляющее использованием аппаратуры компьютера различными программами и пользователями.
Прикладное программное обеспечение (applications software) – программы, предназначенные для решения различных классов задач. К ним относятся, в частности, компиляторы, обеспечивающие трансляцию программ с языков программирования, например, C++, в машинный код (команды); системы управления базами данных (СУБД); графические библиотеки, игровые программы, офисные программы. Прикладное программное обеспечение образует следующий, более высокий уровень, по сравнению с операционной системой, и позволяет решать на компьютере различные прикладные и повседневные задачи.
Пользователи (users) – люди и другие компьютеры. Отнесение пользователя-человека к компонентам компьютерной системы - вовсе не шутка, а реальность: любой пользователь фактически становится частью вычислительной системы в процессе своей работы на компьютере, так как должен подчиняться определенным строгим правилам, нарушение которых приведет к ошибкам или невозможности использования компьютера, и выполнять большой объем типовых рутинных действий – почти как сам компьютер. Одна из важных функций ОС как раз и состоит в том, чтобы избавить пользователя от большей части такой рутинной работы (например, резервного копирования файлов) и позволить ему сосредоточиться на работе творческой. Другие компьютеры в сети также могут играть роль пользователей (клиентов) по отношению к данному компьютеру, выступающему в роли сервера, используемого, например, для хранения файлов или выполнения больших программ.
Рис. 1.1. Иерархическая структура программно-аппаратных средств компьютера
1.3. Основные компоненты операционной системы
Ядро (kernel) – низкоуровневая основа любой операционной системы, выполняемая аппаратурой в особом привилегированном режиме. Ядро загружается в память один раз и находится в памяти резидентно – постоянно, по одним и тем же адресам.
Подсистема управления ресурсами (resource allocator) – часть операционной системы, управляющая вычислительными ресурсами компьютера - оперативной и внешней памятью, процессором и др.
Управляющая программа (control program, supervisor) – подсистема ОС, управляющая исполнением других программ и функционированием устройств ввода-вывода.
2. Функции операционных систем
Цель ОС - динамическое распределение ресурсов и управление ими в соответствии с требованиями вычислительных процессов (задач).
2.1. Основные цели работы операционной системы:
1. Обеспечение удобства, эффективности, надежности, безопасности выполнения пользовательских программ. Для пользователя самое главное – чтобы его программа работала, вела себя предсказуемо, выдавала необходимые ему правильные результаты, не давала сбоев, не подвергалась внешним атакам. Вычислительную среду для такого выполнения программ и обеспечивает операционная система.
2. Обеспечение удобства, эффективности, надежности, безопасности использования компьютера. Операционная система обеспечивает максимальную полезность и эффективность использования компьютера и его ресурсов, обрабатывает прерывания, защищает компьютер от сбоев, отказов и хакерских атак. Эта деятельность ОС может быть не столь заметной для пользователя, но она осуществляется постоянно.
3. Обеспечение удобства, эффективности, надежности, безопасности использования сетевых, дисковых и других внешних устройств, подключенных к компьютеру. Особая функция операционной системы, без которой невозможно использовать компьютер, - это работа с внешними устройствами. Например, ОС обрабатывает любое обращение к жесткому диску, обеспечивая работу соответствующего драйвера (низкоуровневой программы для обмена информацией с диском) и контроллера (специализированного процессора, выполняющего команды ввода-вывода с диском). Любая "флэшка", вставленная в USB-слот компьютера, распознается операционной системой, получает свое логическое имя (в системе Windows – в виде буквы, например, G) и становится частью файловой системы компьютера на все время, пока она не будет извлечена (демонтирована).
4. Подчеркнем особую важность среди функций современных ОС обеспечения безопасности, надежности и защиты данных. Следует учитывать, что компьютер и операционная система работают в сетевом окружении, в котором постоянно возможны и фактически происходят атаки хакеров и их программ, ставящие своей целью нарушение работы компьютера, "взлом" конфиденциальных данных пользователя, хранящихся на нем, похищение логинов, паролей, использование компьютера как "робота" для рассылки реклам или вирусов и др. В связи с этим в 2002 г. фирма Microsoft объявила инициативу по надежным и безопасным вычислениям (trustworthy computing initiative), целью которой является повышение надежности и безопасности всего программного обеспечения, прежде всего – операционных систем. В данном курсе мы будем подробно останавливаться на том, какие действия по обеспечению надежности, безопасности и защите данных предпринимают современные ОС.
2.2. Понятие ресурсов в рамках ОС
Ресурсом является всякий объект, который может распределяться операционной системой между вычислительными процессами в ЭВМ.
Различают:
· аппаратные ресурсы ЭВМ. К ним относятся микропроцессор (процессорное время), оперативная память и периферийные устройства.
· программные ресурсы ЭВМ. К ним относятся доступные пользователю программные средства для управления вычислительными процессами и данными. Важнейшими программными ресурсами являются:
· программы, входящие в систему программирования;
· средства программного управления периферийными устройствами и файлами;
· библиотеки системных и прикладных программ;
· средства, обеспечивающие контроль и взаимодействие вычислительных процессов (задач).
2.3. Основные функции операционных систем.
По современным представлениям, ОС должна уметь делать следующее:
1. Обеспечивать загрузку пользовательских программ в оперативную памятьи их исполнение.
2. Обеспечивать работу с устройствами долговременной памяти, такими какмагнитные диски, ленты, оптические диски и т.д. Как правило, ОС управляетсвободным пространством на этих носителях и структурирует пользовательскиеданные.
3. Предоставлять более или менее стандартный доступ к различнымустройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.
4. Предоставлять некоторый пользовательский интерфейс. Слово некоторый здесь сказано не случайно - часть систем ограничивается командной строкой,в то время как другие на 90% состоят из средств интерфейса пользователя.
Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известныхсистем такого типа - дисковая операционная система MS DOS.
Более развитые ОС предоставляют также следующие возможности:
1. Параллельное (точнее, псевдопараллельное, если машина имеет только одинпроцессор) исполнение нескольких задач.
2. Распределение ресурсов компьютера между задачами.
3. Организация взаимодействия задач друг с другом.
4. Взаимодействие пользовательских программ с нестандартными внешними устройствами.
5. Организация межмашинного взаимодействия и разделения ресурсов.
6. Защита системных ресурсов, данных и программ пользователя,исполняющихся процессов и самой себя от ошибочных и зловредных действийпользователей и их программ.
2.4. Требования к ОС
совместимость — ОС должна включать средства для выполнения приложений, подготовленных для других ОС;
переносимость — обеспечение возможности переноса ОС с одной аппаратной платформы (характеризуется не только типом процессора, но и способом организации всей аппаратуры ПК) на другую. Свойство переносимости ОС, имеющих неск-ко вариантов реализации для разных платформ, называется многоплатформенностью.
надежность и отказоустойчивость — предполагает защиту ОС от внутренних и внешних ошибок, сбоев и отказов;
безопасность — ОС должна содержать средства защиты ресурсов одних пользователей от других;
расширяемость — ОС должна обеспечивать удобство внесения последующих изменений и дополнений. Она достигается за счет модульной структуры ОС, при которой программа строится из набора отдельных модулей, взаимодействующих только через функциональный интерфейс
производительность — система должна обладать достаточным быстродействием
Понятие об архитектуре аппаратных средств
Дата добавления: 2014-12-19; просмотров: 50 | Поможем написать вашу работу | Нарушение авторских прав |