Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Основные функции операционных системСтр 1 из 3Следующая ⇒
Основные понятия и назначение операционных систем Операционная система ( ОС ) – это комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между пользователем (с его задачами) и аппаратными компонентами вычислительных машин (ВМ) и вычислительных систем (ВС), а с другой стороны предназначен для эффективного управления вычислительными процессами, а также наиболее рационального распределения и использования вычислительных ресурсов ВМ и ВС. Обеспечение пользователю определенного уровня удобств осуществляется посредством того, что ОС представляет для него так называемую «расширенную» (или виртуальную) машину, которая избавляет пользователя от необходимости работать напрямую с аппаратными компонентами и берет на себя выполнение большинства рутинных операций. Таким образом, абстрактная «расширенная» машина, с которой, благодаря ОС, имеет дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины. Таким образом, ОС выполняет функции управления вычислительными процессами в ВМ и ВС, распределяет ресурсы ВМ и ВС между различными вычислительными процессами и образует программную среду, в которой выполняются прикладные программы пользователей. Благодаря наличию операционной системы пользователи-программисты при написании собственных программ могут вообще не знать многих деталей управления конкретными ресурсами ВМ и ВС, а должны только обращаться к ОС как к некоторой программной подсистеме с соответствующими вызовами и получать от нее необходимые функции и сервисы.
Операционная система в значительной степени определяет функциональные возможности, удобства пользования и эффективность работы ВМ и ВС. На сегодняшний день существует большое количество разных типов ОС, отличающихся областями применения, аппаратными платформами и методами реализации. Естественно, это обуславливает и значительные функциональные различия этих ОС. Этапы развития ВМ и ОС. Первый период (1945 -1955 В середине 40-х были созданы первые ламповые вычислительные устройства. В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании ВМ. Об ОС не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. Второй период (1955 - 1965) С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы - полупроводниковых элементов. Именно в этот период произошло разделение персонала на программистов и операторов, эксплуатационщиков и разработчиков вычислительных машин. В эти годы появились первые алгоритмические языки, а следовательно и первые системные программы - компиляторы. Появились первые системы пакетной обработки, которые просто автоматизировали запуск одной программы за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными для управления вычислительным процессом. Третий период (1965 - 1980) В это время в технической базе произошел переход от отдельных полупроводниковых элементов к интегральным микросхемам, что дало гораздо большие возможности новому, третьему поколению компьютеров. Для этого периода характерно также создание семейств программно-совместимых машин. Одним из первых семейств программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Программная совместимость требовала и совместимости операционных систем. Важнейшим достижением ОС данного поколения явилась реализация мультипрограммирования. Мультипрограммирование - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении программ, а выполняет другую программу. При этом каждая программа загружается в свой участок оперативной памяти. Наряду с мультипрограммной реализацией систем пакетной обработки появился новый тип ОС - системы разделения времени. Вариант мультипрограммирования, применяемый в системах разделения времени, служит для создания для каждого отдельного пользователя иллюзии единоличного использования вычислительной машины. Четвертый период (1980 - настоящее время) Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. Компьютеры стали широко использоваться неспециалистами, что потребовало разработки " дружественного" программного обеспечения. В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых ОС. Основные функции операционных систем По современным представлениям ОС должна уметь делать следующее: 1. Обеспечивать загрузку пользовательских программ в оперативную память и их исполнение. 2. Обеспечивать управление памятью. В простейшем случае это указание единственной загруженной программе адреса, на котором кончается память, доступная для использования, и начинается память, занятая системой. В многопроцессных системах это сложная задача управления системными ресурсами. 3. Обеспечивать работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски, флэш-память и т. д. Как правило, ОС управляет свободным пространством на эти* носителях и структурирует пользовательские данные в виде файловых систем. 4. Предоставлять более или менее стандартизованный доступ к различным периферийным устройствам, таким как терминалы, модемы, печатающие или другие устройства. 5. Предоставлять некоторый пользовательский интерфейс. Слово «некоторый» здесь сказано не случайно — часть систем ограничивается командной строкой, в то время как другие на 90% состоят из интерфейсной подсистемы. Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа — дисковая операционная система MS DOS. Более развитые ОС предоставляют также следующие возможности: 1. Параллельное (или псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач. 2. Организацию взаимодействия задач друг с другом. 3. Организацию межмашинного взаимодействия и разделения ресурсов. 4. Защиту системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ. 5. Аутентификацию {проверку того, что пользователь является тем, за кого он себя выдает), авторизацию (проверка, что тот, за кого себя выдает пользователь, имеет право выполнять ту или иную операцию) и другие средства обеспечения безопасности. Загрузка ОС Загрузка - процесс подготовки программы к работе, заключающийся в пересылке программы из внешней памяти в оперативную память, ее настройке и дальнейшем запуске. Загрузка- это период высокой уязвимости системы. Ошибки в файлах конфигурации, сбои оборудования могут сильно осложнить этот процесс. Для различных ОС процессы различаются, но можно описать ход данной процедуры в общем случае. Английское название процесса загрузки — bootstrapping (от англ. «pull itself up by its own bootstraps»), - система поэтапно «поднимет себя за шнурки ботинок». Действительно, основные средства ОС в момент запуска еще недоступны, приходится постепенно подтягивать нужные силы. Загрузочный код содержит программу загрузчик ОС, который: •обеспечивает необходимые средства для диалога с пользователем •приводит аппаратуру компьютера в состояние, необходимое для •загружает ядро операционной системы в ОЗУ; •формирует параметры, передаваемые ядру операционной системы; • передает управление ядру операционной системы. ■ загрузка и инициализация ядра; ■ распознавание и конфигурирование устройств; • выполнение командных файлов запуска системы; • авторизация. При «аварийной» (в специальном режиме) или ручной загрузке некоторые действия могут быть пропущены. Проще всего происходит загрузка систем, ядро которых вместе со всеми дополнительными модулями (драйверами устройств, файловых систем и др.) собрано в единый загрузочный модуль. При переконфигурации системы, добавлении или удалении драйверов и других модулей необходима пересборка ядра, которая может производиться либо стандартным системным редактором связей, либо специальными утилитами генерации системы. Для такой пересборки в поставку системы должны входить исходные тексты (Linux) или объектные модули ядра. Большинство современных ОС используют схему, при которой дополнительные модули подгружаются уже после старта самого ядра 7)Построение и запуск задач (Создание исполняемых файлов) После того как загружена ОС, в ней могут выполняться другие задания. Для того чтобы отправить задание на выполнение, его необходимо оформить в виде исполняемого файла, который затем будет запущен с помощью программы-загрузчика, являющейся обычно частью ОС. Исполняемый файл содержит двоичное представление машинных инструкций, предназначенных для исполнения на конкретной виртуальной или физической машине (чаще всего, конкретной ОС). ОС распознают такие файлы, либо благодаря расширению (*.ехе или др.), либо по специальному коду разрешения исполнения в структуре файла (как в UNIX). Современные фалы могут содержать дополнительную информацию (например, для отладки). Исполнимые файлы могут содержать вызовы библиотечных функций. Структура исполняемого файла. Практически все однопроцессорные компьютерные системы построены на основе архитектуры фон Неймана, которая обеспечивает в этом случае наилучшую производительность. Эта архитектура предъявляет определенные требования к структуре исполняемого файла, который, например, может иметь расширение.ехе и строится в виде сегментов (рис. 1.8) Макросы и подпрограммы Макросы и подпрограммы служат одной цели: повторяющиеся совокупности программных кодов заменяются именем той или другой структуры, что дает возможность не только оптимизировать написание программы, но и улучшить ее «читабельность». Однако механизмы достижения этой цели совершенно разные. Каждый раз, когда в программе встречается имя макроса, компилятор вставляет его коды. Таким образом, после компиляции длина объектных кодов будет такой же, как если бы мы не применяли макросы, а писали программу обычным способом. Подпрограмма же выполняется в своем окружении, т. е. при ее вызове происходит скачок в другую область памяти. Если не предпринять специальные меры по возвращению в вызываемую программу, то в указанном окружении придется находиться до ближайшей дежурной перезагрузки системы. Связывание информации Разделение памяти на виртуальную и физическую стало одним из тех решений, которые привели, в конечном счете, к массовому программированию, но в то же время оно потребовало введения процедуры, которую можно назвать связыванием информации. Сутью данной операции является связывание имени переменной с физической областью, в которой хранятся значения данных. При этом если имя переменной указывает на сложный объект, то целесообразней осуществлять к нему доступ по указателю, так как это имеет несколько преимуществ: • указатель независимо от размера объекта имеет фиксированную • указатель может использоваться для контроля доступа (например, • через указатель можно осуществить доступ к другому объекту без • доступ к объекту пользователей с разными полномочиями можно Связывание информации за редким исключением может происходить на любом этапе обработки программы. Управление памятью Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск (когда размеры основной памяти не достаточны для размещения в ней всех процессов) и возвращение их в оперативную память (когда в ней освобождается место), а также настройка адресов программы на конкретную область физической памяти. Для идентификации команд и переменных используются символьные имена (метки), виртуальные адреса и физические адреса. Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере. Виртуальные адреса вырабатывает транслятор, переводящий программу на машинный язык. Так как во время трансляции в общем случае неизвестно, в какое место оперативной памяти будет загружен процесс, то транслятор присваивает командам и переменным виртуальные (условные) адреса, обычно считая по умолчанию, что процесс будет размещен, начиная с нулевого адреса. Совокупность виртуальных адресов процесса называется виртуальным адресным пространством. Каждый процесс имеет собственное виртуальное адресное пространство. Максимальный размер виртуального адресного пространства ограничивается разрядностью адреса, присущей данной архитектуре ВМ, и, как правило, не совпадает с объемом физической памяти, имеющимся в машине. Физические адреса соответствуют номерам ячеек оперативной памяти, где в действительности расположены или будут расположены команды и переменные. Переход от виртуальных адресов к физическим может осуществляться двумя способами. Управление вводом-выводом
ОС должна передавать устройствам команды, перехватывать прерывания и обрабатывать ошибки; она также должна обеспечивать интерфейс между устройствами и остальной частью машины. В целях развития интерфейс должен быть одинаковым для всех типов устройств (принцип независимости от устройств). Устройства ввода-вывода делятся на два типа: блок-ориентированные устройства и байт-ориентированные устройства. Блок-ориентированные устройства ввода-вывода хранят информацию в блоках фиксированного размера, каждый из которых имеет свой собственный адрес. Самое распространенное блок-ориентированное устройство – диск. Байт-ориентированные устройства ввода-вывода не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются мониторы, принтеры, сетевые адаптеры. Однако некоторые внешние устройства не относятся ни к одному классу, например, часы, которые, с одной стороны, не адресуемы, а с другой стороны, не порождают потока байтов. Это устройство только выдает сигнал прерывания в некоторые моменты времени. Любое внешнее устройство обычно состоит из механического и электронного компонента. Электронный компонент называют контроллером устройства или адаптером. Механический компонент представляет собственно устройство. Некоторые контроллеры могут управлять несколькими устройствами. Если интерфейс между контроллером и устройством стандартизован, то независимые производители могут выпускать совместимые как контроллеры, так и устройства. ОС обычно имеет дело не с устройством, а с его контроллером. Контроллер, как правило, выполняет простые функции, например, преобразует поток бит в блоки (состоящие из байт), осуществляют контроль и исправление ошибок. Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. В некоторых ВМ эти регистры являются частью физического адресного пространства. В таких ВМ нет специальных операций ввода-вывода. В других машинах адреса регистров ввода-вывода, называемых часто портами, образуют собственное адресное пространство за счет введения специальных операций ввода-вывода. ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера. Основная идея организации программного обеспечения ввода-вывода состоит в разбиении его на несколько уровней, причем нижние уровни обеспечивают экранирование особенностей аппаратуры от верхних, а те, в свою очередь, обеспечивают удобный интерфейс для пользователей. Ключевым принципом является независимость от устройств ввода-вывода. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска. Очень близкой к идее независимости от устройств является идея единообразного именования, то есть для именования устройств должны быть приняты единые правила. Файлы и файловые системы Таким образом, файловая система – это набор спецификаций и соответствующее им программное обеспечение, которые отвечают за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление доступом к файлам и за управление ресурсами, которые используются файлами. Именно файловая система определяет способ организации данных на диске или на каком-нибудь ином носителе данных. Следует различать файловую систему и систему управления файлами. Система управления файлами является основной подсистемой в абсолютном большинстве современных ОС (хотя в принципе можно обходиться и без нее). Во-первых, через систему управления файлами связываются по данным все системные обрабатывающие программы. Во-вторых, с помощью этой системы решаются проблемы централизованного распределения дискового пространства и управления данными. В-третьих, благодаря использованию той или иной системы управления файлами пользователям предоставляются следующие возможности: – создание, удаление, переименование (и другие операции) именованных наборов данных (именованных файлов) из своих программ или посредством специальных управляющих программ, реализующих функции интерфейса пользователя с его данными и активно использующих систему управления файлами; – работа с не дисковыми периферийными устройствами как с файлами; – обмен данными между файлами, между устройствами, между файлом и устройством (и наоборот); – работа с файлами с помощью обращений к программным модулям системы управления файлами; – защита файлов от несанкционированного доступа. В некоторых ОС может быть несколько систем управления файлами, что обеспечивает им возможность работать с несколькими файловыми системами. Очевидно, что системы управления файлами, будучи компонентом ОС, не являются независимыми от этой ОС, поскольку они активно используют соответствующие вызовы прикладного программного интерфейса API (application program interface). Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности, на диске. Файл состоит из физических записей – блоков. Блок (как уже было отмечено выше) – наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью. В некоторых ОС такая наименьшая единица обмена называется кластером. При этом кластер может состоять из нескольких блоков. Основные понятия и назначение операционных систем Операционная система ( ОС ) – это комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между пользователем (с его задачами) и аппаратными компонентами вычислительных машин (ВМ) и вычислительных систем (ВС), а с другой стороны предназначен для эффективного управления вычислительными процессами, а также наиболее рационального распределения и использования вычислительных ресурсов ВМ и ВС. Обеспечение пользователю определенного уровня удобств осуществляется посредством того, что ОС представляет для него так называемую «расширенную» (или виртуальную) машину, которая избавляет пользователя от необходимости работать напрямую с аппаратными компонентами и берет на себя выполнение большинства рутинных операций. Таким образом, абстрактная «расширенная» машина, с которой, благодаря ОС, имеет дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины. Таким образом, ОС выполняет функции управления вычислительными процессами в ВМ и ВС, распределяет ресурсы ВМ и ВС между различными вычислительными процессами и образует программную среду, в которой выполняются прикладные программы пользователей. Благодаря наличию операционной системы пользователи-программисты при написании собственных программ могут вообще не знать многих деталей управления конкретными ресурсами ВМ и ВС, а должны только обращаться к ОС как к некоторой программной подсистеме с соответствующими вызовами и получать от нее необходимые функции и сервисы.
Операционная система в значительной степени определяет функциональные возможности, удобства пользования и эффективность работы ВМ и ВС. На сегодняшний день существует большое количество разных типов ОС, отличающихся областями применения, аппаратными платформами и методами реализации. Естественно, это обуславливает и значительные функциональные различия этих ОС. Этапы развития ВМ и ОС. Первый период (1945 -1955 В середине 40-х были созданы первые ламповые вычислительные устройства. В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании ВМ. Об ОС не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. Второй период (1955 - 1965) С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы - полупроводниковых элементов. Именно в этот период произошло разделение персонала на программистов и операторов, эксплуатационщиков и разработчиков вычислительных машин. В эти годы появились первые алгоритмические языки, а следовательно и первые системные программы - компиляторы. Появились первые системы пакетной обработки, которые просто автоматизировали запуск одной программы за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными для управления вычислительным процессом. Третий период (1965 - 1980) В это время в технической базе произошел переход от отдельных полупроводниковых элементов к интегральным микросхемам, что дало гораздо большие возможности новому, третьему поколению компьютеров. Для этого периода характерно также создание семейств программно-совместимых машин. Одним из первых семейств программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Программная совместимость требовала и совместимости операционных систем. Важнейшим достижением ОС данного поколения явилась реализация мультипрограммирования. Мультипрограммирование - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении программ, а выполняет другую программу. При этом каждая программа загружается в свой участок оперативной памяти. Наряду с мультипрограммной реализацией систем пакетной обработки появился новый тип ОС - системы разделения времени. Вариант мультипрограммирования, применяемый в системах разделения времени, служит для создания для каждого отдельного пользователя иллюзии единоличного использования вычислительной машины. Четвертый период (1980 - настоящее время) Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. Компьютеры стали широко использоваться неспециалистами, что потребовало разработки " дружественного" программного обеспечения. В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых ОС. Основные функции операционных систем По современным представлениям ОС должна уметь делать следующее: 1. Обеспечивать загрузку пользовательских программ в оперативную память и их исполнение. 2. Обеспечивать управление памятью. В простейшем случае это указание единственной загруженной программе адреса, на котором кончается память, доступная для использования, и начинается память, занятая системой. В многопроцессных системах это сложная задача управления системными ресурсами. 3. Обеспечивать работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски, флэш-память и т. д. Как правило, ОС управляет свободным пространством на эти* носителях и структурирует пользовательские данные в виде файловых систем. 4. Предоставлять более или менее стандартизованный доступ к различным периферийным устройствам, таким как терминалы, модемы, печатающие или другие устройства. 5. Предоставлять некоторый пользовательский интерфейс. Слово «некоторый» здесь сказано не случайно — часть систем ограничивается командной строкой, в то время как другие на 90% состоят из интерфейсной подсистемы. Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа — дисковая операционная система MS DOS. Более развитые ОС предоставляют также следующие возможности: 1. Параллельное (или псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач. 2. Организацию взаимодействия задач друг с другом. 3. Организацию межмашинного взаимодействия и разделения ресурсов. 4. Защиту системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ. 5. Аутентификацию {проверку того, что пользователь является тем, за кого он себя выдает), авторизацию (проверка, что тот, за кого себя выдает пользователь, имеет право выполнять ту или иную операцию) и другие средства обеспечения безопасности. Популярное:
|
Последнее изменение этой страницы: 2016-05-28; Просмотров: 555; Нарушение авторского права страницы