Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. Появление операционных систем и их функции
• Операционные системы относятся к системному программному обеспечению.
• История появления и развития системного обеспечения началась с того момента, когда люди осознали, что любая программа требует операций ввода-вывода данных. Это произошло в 50-е годы прошлого столетия. Собственно операционные системы появились чуть позже. Основной причиной их появления было желание автоматизировать процесс подготовки вычислительного комплекса к выполнению программы.
• Для автоматизации труда программиста (кодера) стали разрабатывать специальные алгоритмические языки высокого уровня, а для автоматизации труда оператора вычислительного комплекса была разработана специальная управляющая программа, загрузив которую в память один раз оператор мог ее далее использовать неоднократно и более не обращаться к процедуре программирования ЭВМ через пульт оператора. Именно эту управляющую программу и стали называть операционной системой. Со временем на нее стали возлагать все больше задач, она стала расти в объеме.
• Разработчики стремились к тому, чтобы операционная система как можно более эффективно распределяла вычислительные ресурсы компьютера, ведь в 60-е годы операционные системы уже позволяли организовать параллельное выполнение нескольких программ. Помимо задач распределения ресурсов появились задачи обеспечения надежности вычислений. К началу 70-х годов диалоговый режим работы с компьютером стал преобладающим, и у операционных систем стремительно начали развиваться интерфейсные возможности.
• На сегодняшний день операционная система (ОС) представляет собой комплекс системных управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны, предназначены для наиболее эффективного расходования ресурсов вычислительной системы и организации надежных вычислений.
• Основные функции операционных систем: 1) прием от пользователя (или от оператора системы) заданий, или команд, сформированных на соответствующем языке, и их обработка.
2) загрузка в оперативную память подлежащих исполнению программ;
3) распределение памяти, а в большинстве современных систем и организация виртуальной памяти;
4) запуск программы;
5) идентификация всех программ и данных;
6) прием и исполнение различных запросов от выполняющихся приложений;
7) обслуживание всех операций ввода-вывода;
8) обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД);
9) обеспечение режима мультипрограммирования, то есть организация параллельного выполнения двух или более программ на одном процессоре, создающая видимость их одновременного исполнения;
10) планирование и диспетчеризация задач;
11) организация механизмов обмена сообщениями и данными между выполняющимися программами;
12) обеспечение взаимодействия связанных между собой компьютеров (для сетевых ОС);
13) защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений;
14) аутентификация и авторизация пользователей. Аутентификация –процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи. Авторизация – в соответствии с учетной записью пользователя, который прошел аутентификацию, ему назначаются определенные права.
15) удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени);
16) обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы;
17) предоставление услуг на случай частичного сбоя системы.
• Операционная система изолирует аппаратное обеспечение компьютера от прикладных программ пользователей. И пользователь, и его программы взаимодействуй с компьютером через интерфейсы операционной системы.
2.
Понятие операционных сред и оболочек
Операционная система выполняет функции управления вычислениями в компьютере, распределяет ресурсы вычислительной системы между различными процессами, и образует ту программную среду, в которой выполняются прикладные программы пользователей. Такая среда называется операционной.
• Набор функций и сервисов операционной системы, а также правила обращения к ним как раз и образуют то базовое понятие, которое мы называем операционной средой. Таким образом, термин «операционная среда» означает, прежде всего, соответствующие интерфейсы, необходимые программам и пользователям для обращения к управляющей (супервизорной) части операционной системы с целью получить определенные сервисы.
ткань пвх. успевайте юный химик первоклассный.. • Каждая операционная система имеет множество системных функций; они вызываются соответствующим образом, по принятым в системе правилам. Совокупность системных вызовов и правил, по которым их следует использовать, определяет интерфейс прикладного программирования (API – Application Program Interface). Очевидно, что программа, созданная для работы в некоторой операционной системе, скорее всего не будет работать в другой операционной системе, поскольку API у этих операционных систем, как правило, различаются. Поэтому разработчики операционных систем стали создавать так называемые программные среды.
• Программную (системную) среду следует понимать как некоторое системное окружение, позволяющее выполнить все системные запросы от прикладной программы.
• Помимо основной операционной среды в операционной системе организованы (путем эмуляции иной операционной среды) дополнительные программные среды.
• Параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система (в общем случае) может поддерживать несколько операционных сред.
• Операционная среда может включать несколько интерфейсов (оболочек): пользовательские и программные.
• Программы-оболочки относятся к классу системных программ. Они обеспечивают более удобный и наглядный способ общения с компьютером, чем штатные средства ОС.
• Некоторые программы не заменяют «штатную оболочку», а дополняют ее или добавляют в нее новые функции.
3. Прерывания.
• Прерывание – это принудительная передача управления от выполняемой программы к системе (а через нее — к соответствующей программе обработки прерывания), происходящая при возникновении определенного события.
• Идея прерывания была предложена в середине 50-х годов. Основная цель введения прерываний — реализация асинхронного режима функционирования и распараллеливание работы отдельных устройств вычислительного комплекса.
• Механизм прерываний реализуется аппаратно-программными средствами. Прерывание непременно влечет за собой изменение порядка выполнения команд процессором.
• Механизм обработки прерываний подразумевает выполнение шагов:
1) установление факта прерывания;
2) запоминание состояния прерванного процесса вычислений.
3) управление аппаратно передается на подпрограмму обработки прерывания;
4) сохранение информации о прерванной программе, которую не удалось спасти помощью аппаратуры;
5) собственно выполнение программы, связанной с обработкой прерывания;
6) восстановление информации, относящейся к прерванному процессу;
7) возврат на прерванную программу.
• Шаги 1-3 реализуются аппаратно, шаги 4-7 — программно.
• Прерывания, возникающие при работе вычислительной системы, можно разделить на два основных класса: внешние (их иногда называют асинхронными) и внутренние (синхронные).
• Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса. • Внутренние прерывания вызываются событиями, которые связаны с работой процессора, и являются синхронными с его операциями.
• Наконец, существуют собственно программные прерывания.
• Процессор может обладать средствами защиты от прерываний: отключение системы прерываний, маскирование (запрет) отдельных сигналов прерывания.
• Программное управление специальными регистрами маски (маскирование сигнала прерывания) позволяет реализовать различные дисциплины обслуживания:
• с относительными приоритетами, то есть обслуживание не прерывается даже при наличии запросов с более высокими приоритетами.
• с абсолютными приоритетами, то есть всегда обслуживается прерывание с наивысшим приоритетом.
• по принципу стека (последним пришел, первым обслужен).
4. Вычислительный процесс и его состояния, дескриптор процесса
• Как понятие процесс является определенным видом абстракции. Последовательный процесс, иногда называемый задачей (task), — это отдельная программа с ее данными, выполняющаяся на последовательном процессоре. Под последовательным мы понимаем такой процессор, в котором текущая команда выполняется после завершения предыдущей.
• Концепция процесса предполагает два аспекта: во-первых, он является носителем данных и, во-вторых, он собственно и выполняет операции, связанные с обработкой этих данных.
• Необходимо отличать системные управляющие вычислительные процессы, представляющие работу супервизора операционной системы и занимающиеся распределением и управлением ресурсов, от всех других процессов: задач пользователей и системных обрабатывающих процессов. Последние, хоть и относятся к операционной системе, но не входят в ядро операционной системы и требуют общих ресурсов для своей работы, которые получают от супервизора.
• Супервизор – центральный управляющий модуль ОС.
• Для системных управляющих процессов, в отличие от обрабатывающих, в большинстве операционных систем ресурсы распределяются изначально и однозначно. Эти вычислительные процессы сами управляют ресурсами системы, в борьбе за которые конкурируют все остальные процессы.
• Процесс может находиться в активном и пассивном состоянии. В активном состоянии процесс может конкурировать за ресурсы вычислительной системы, а в пассивном состоянии он известен системе, но за ресурсы не конкурирует.
• В свою очередь, активный процесс может быть в одном из следующих состояний:
• выполнения — все затребованные процессом ресурсы выделены;
• готовности к выполнению — ресурсы могут быть предоставлены, тогда процесс перейдет в состояние выполнения;
• блокирования, или ожидания, — затребованные ресурсы не могут быть предоставлены, или не завершена операция ввода-вывода.
• В обычных операционных системах процесс появляется при запуске какой-нибудь программы. Операционная система организует для нового процесса информационную структуру – так называемый дескриптор процесса (описатель задачи, блок управления задачей), и процесс (задача) начинает выполнение. В общем случае дескриптор процесса содержит следующую информацию:
• идентификатор процесса;
• тип (класс) процесса;
• приоритет процесса,
• переменную состояния процесса;
• контекст задачи, то есть защищенную область памяти (или адрес такой области), в которой хранятся текущие значения регистров процессора, когда он прерывается, не закончив работы;
• информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться;
• место (или его адрес) для организации общения с другими процессами;
• параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры);
• адрес задачи на диске в ее исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если ее вытесняет другая задача.
• Дескрипторы (описатели), как правило, постоянно располагаются в оперативной памяти с целью ускорить работу супервизора, который организует их в списки (очереди) и отображает изменение состояния процесса перемещением соответствующего описателя из одного списка в другой.
5. Мультипрограммирование, многопользовательский режим работы и режим разделения времени
• Суть мультипрограммного режима работы заключается в том, что один вычислительный процесс ожидает завершения очередной операции ввода-вывода, другая задача может быть поставлена на решение. Это позволяет более полно использовать имеющиеся ресурсы и уменьшить общее время, необходимое для решения некоторого множества задач.
• Общее время выполнения совмещенных во времени процессов получается меньшим, чем если бы их выполняли по очереди. Однако время выполнения каждого процесса в общем случае больше, чем если бы каждый из них выполнялся как единственный.
• Мультипрограммирование стало применяться все чаще и шире в 60-х годах XX века
• Упрощение пользовательского интерфейса и развитие интерфейсных функций ОС позволило реализовать диалоговый режим работы, который может быть реализован и без мультипрограммирования.
• Совмещение диалогового режима работы с компьютером и режима мультипрограммирования привело к появлению мулътитерминальных, или многопользовательских, систем.
• Организовать параллельное выполнение нескольких задач можно разными способами. Если на каждую задачу поочередно выделяется некий квант времени, после чего процессор передается другой задаче, готовой к продолжению вычислений, то такой режим принято называть режимом разделения времени. Системы разделения времени активно развивались в 60-70 годы, и сам термин означал именно мультитерминальную и мультипрограммную систему.
6. Виды ресурсов и возможности их разделения
• Термин ресурс обычно применяется по отношению к многократно используемым, относительно стабильным и часто недостающим объектам, которые запрашиваются, задействуются и освобождаются в период их активности. Другими словами, ресурсом называется всякий объект, который может распределяться внутри системы.
• Ресурсы могут быть разделяемыми, когда несколько процессов используют их одновременно (в один и тот же момент времени) или параллельно (попеременно в течение некоторого интервала времени), а могут быть и неделимыми (рис. 1.).
• Основные виды ресурсов вычислительной системы:
• 1. Процессор, точнее — процессорное время. Процессорное время делится попеременно (параллельно).
• 2. Память. Оперативная память может делиться и одновременно, и попеременно. Внешняя память может разделяться и одновременно, а доступ к ней всегда разделяется попеременно.
• 3. Внешние устройства, как правило, могут разделяемыми и выделенными.
• 4. Программные модули (прежде всего, системные). Могут быть однократно и многократно используемыми. Однократно используемые могут быть правильно выполнены только один раз, являются неделимым ресурсом. Повторно используемые программные модули могут быть непривилегированными, привилегированными и реентерабельными.
• Привилегированные программные модули работают при отключенной системе прерываний. Непривилегированные программные модули могут быть прерваны во время своей работы (нельзя считать разделяемыми). В реентерабельных модулях обеспечено сохранение промежуточных результатов для прерываемых вычислений.
• Существуют еще повторно входимые программные модули. Они состоят привилегированных секций.
• 5. Информационные ресурсы, в качестве ресурсов могут выступать данные как в виде переменных, находящихся в оперативной памяти, так и в виде файлов. Информационные ресурсы можно разделять, если они используются только для чтения.
7. Процессы и потоки.
• Мультипрограммный режим предполагает, что операционная система организует выполнение нескольких вычислительных процессов на одном компьютере, и каждый вычислительный процесс не зависит от другого процесса.
• Термин «мультизадачный режим работы» стали применять как раз для тех случаев, когда необходимо обеспечить взаимодействие между вычислениями.
• Понятие процесса было введено для реализации идей мультипрограммирования.
• Для реализации мультизадачности было введено понятие легковесные (thin) процессы, или, как их теперь называют, потоки выполнения, нити, или треды (threads).
• Когда говорят о процессах (process), то хотят отметить, что операционная система поддерживает их обособленность. Потоки обеспечивают внутренний параллелизм, который может быть в самих процессах.
• Каждый поток выполняется строго последовательно и имеет свой программный счетчик и стек. Потоки, как и процессы, могут порождать потоки-потомки, поскольку любой процесс состоит, по крайней мере, из одного потока. Подобно традиционным процессам, каждый поток может находиться в одном из активных состояний. Пока один поток заблокирован, другой поток того же процесса может выполняться. Потоки разделяют процессорное время, как и обычные процессы. Потоки имеют одно виртуальное адресное пространство свого процесса, разделяют глобальные переменные.
• В отличие от процессов, между потоками нет полной защиты. Все потоки одного процесса всегда решают общую задачу пользователя.
8. Классификация операционных систем.
Операционные системы принято классифицировать: по назначению, по режиму обработки задач, по способу взаимодействия с системой и, наконец, по способам построения (архитектурным особенностям системы).
• Прежде всего, традиционно различают ОС общего и специального назначения. ОС специального назначения, в свою очередь, подразделяются на ОС для носимых микрокомпьютеров и различных встроенных систем, организации и ведения баз данных, решения задач реального времени и т. п.
• По режиму обработки задач различают ОС, обеспечивающие однопрограммный и мультипрограммный (мультизадачный) режимы. Современные ОС для персональных компьютеров реализуют и мультипрограммный, и мультизадачный режимы.
• По способу взаимодействия с компьютером ОС разделяют на диалоговые системы и системы пакетной обработки.
• При организации работы с вычислительной системой в диалоговом режиме существуют однопользовательские (однотерминальные) и мультитерминальные ОС. В мультитерминальной ОС с одной вычислительной системой одновременно могут работать несколько пользователей, каждый со своего терминала. При этом у пользователей возникает иллюзия, что у каждого из них имеется собственная система
• Основной особенностью операционных систем реального времени (ОСРВ) является обеспечение обработки поступающих заданий в течение заданных интервалов времени, которые нельзя превышать. Одной из наиболее известных ОСРВ для персональных компьютеров является ОС QNX.
• По архитектурному принципу операционные системы разделяются на микроядерные и макроядерные (монолитные). В некоторой степени это разделение условно но, однако можно в качестве яркого примера микроядерной ОС привести ОСРВ QNX, тогда как в качестве монолитной можно назвать Windows 95/98 или Linux.
Дата публикования: 2014-12-08; Прочитано: 2744 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!