4. Вычислительный процесс и его состояния, дескриптор процесса.
5. Мультипрограммирование, многопользовательский режим работы и режим разделения времени.
6. Виды ресурсов и возможности их разделения.
7. Процессы и потоки.
8. Классификация операционных систем.
1. Появление операционных систем и их функции.
Операционные системы относятся к системному программному обеспечению.
История появления и развития системного обеспечения началась с того момента, когда люди осознали, что любая программа требует операций ввода-вывода данных. Это произошло в 50-е годы прошлого столетия. Собственно операционные системы появились чуть позже. Основной причиной их появления было желание автоматизировать процесс подготовки вычислительного комплекса к выполнению программы.
Для автоматизации труда программиста (кодера) стали разрабатывать специальные алгоритмические языки высокого уровня, а для автоматизации труда оператора вычислительного комплекса была разработана специальная управляющая программа, загрузив которую в память один раз оператор мог ее далее использовать неоднократно и более не обращаться к процедуре программирования ЭВМ через пульт оператора. Именно эту управляющую программу и стали называть операционной системой. Со временем на нее стали возлагать все больше задач, она стала расти в объеме.
Понятия операционных систем. Операционные системы и их история развития.
Разработчики стремились к тому, чтобы операционная система как можно более эффективно распределяла вычислительные ресурсы компьютера, ведь в 60-е годы операционные системы уже позволяли организовать параллельное выполнение нескольких программ. Помимо задач распределения ресурсов появились задачи обеспечения надежности вычислений. К началу 70-х годов диалоговый режим работы с компьютером стал преобладающим, и у операционных систем стремительно начали развиваться интерфейсные возможности.
На сегодняшний день операционная система (ОС) представляет собой комплекс системных управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны, предназначены для наиболее эффективного расходования ресурсов вычислительной системы и организации надежных вычислений.
Основные функции операционных систем:
1) прием от пользователя (или от оператора системы) заданий, или команд, сформированных на соответствующем языке, и их обработка.
2) загрузка в оперативную память подлежащих исполнению программ;
3) распределение памяти, а в большинстве современных систем и организация виртуальной памяти;
4) запуск программы;
5) идентификация всех программ и данных;
6) прием и исполнение различных запросов от выполняющихся приложений;
7) обслуживание всех операций ввода-вывода;
8) обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД);
9) обеспечение режима мультипрограммирования, то есть организация параллельного выполнения двух или более программ на одном процессоре, создающая видимость их одновременного исполнения;
Лекция 6. Приборные системы безопасности. Прикладная программа ПСБ | Противоаварийная защита
10) планирование и диспетчеризация задач;
11) организация механизмов обмена сообщениями и данными между выполняющимися программами;
12) обеспечение взаимодействия связанных между собой компьютеров (для сетевых ОС);
13) защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений;
14) аутентификация и авторизация пользователей. Аутентификация –процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи. Авторизация – в соответствии с учетной записью пользователя, который прошел аутентификацию, ему назначаются определенные права.
15) удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени);
16) обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы;
17) предоставление услуг на случай частичного сбоя системы.
Операционная система изолирует аппаратное обеспечение компьютера от прикладных программ пользователей. И пользователь, и его программы взаимодействуй с компьютером через интерфейсы операционной системы.
Понятие операционных сред и оболочек
Операционная система выполняет функции управления вычислениями в компьютере, распределяет ресурсы вычислительной системы между различными процессами, и образует ту программную среду, в которой выполняются прикладные программы пользователей. Такая среда называется операционной.
Набор функций и сервисов операционной системы, а также правила обращения к ним как раз и образуют то базовое понятие, которое мы называем операционной средой. Таким образом, термин «операционная среда» означает, прежде всего, соответствующие интерфейсы, необходимые программам и пользователям для обращения к управляющей (супервизорной) части операционной системы с целью получить определенные сервисы.
Каждая операционная система имеет множество системных функций; они вызываются соответствующим образом, по принятым в системе правилам. Совокупность системных вызовов и правил, по которым их следует использовать, определяет интерфейс прикладного программирования (API – Application Program Interface). Очевидно, что программа, созданная для работы в некоторой операционной системе, скорее всего не будет работать в другой операционной системе, поскольку API у этих операционных систем, как правило, различаются. Поэтому разработчики операционных систем стали создавать так называемые программные среды.
Программную (системную) среду следует понимать как некоторое системное окружение, позволяющее выполнить все системные запросы от прикладной программы.
Помимо основной операционной среды в операционной системе организованы (путем эмуляции иной операционной среды) дополнительные программные среды.
Параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система (в общем случае) может поддерживать несколько операционных сред.
Операционная среда может включать несколько интерфейсов (оболочек): пользовательские и программные.
Программы-оболочки относятся к классу системных программ. Они обеспечивают более удобный и наглядный способ общения с компьютером, чем штатные средства ОС.
Некоторые программы не заменяют «штатную оболочку», а дополняют ее или добавляют в нее новые функции.
Прерывания.
Прерывание – это принудительная передача управления от выполняемой программы к системе (а через нее — к соответствующей программе обработки прерывания), происходящая при возникновении определенного события.
Идея прерывания была предложена в середине 50-х годов. Основная цель введения прерываний — реализация асинхронного режима функционирования и распараллеливание работы отдельных устройств вычислительного комплекса.
Механизм прерываний реализуется аппаратно-программными средствами. Прерывание непременно влечет за собой изменение порядка выполнения команд процессором.
Механизм обработки прерываний подразумевает выполнение шагов:
1) установление факта прерывания;
2) запоминание состояния прерванного процесса вычислений.
3) управление аппаратно передается на подпрограмму обработки прерывания;
4) сохранение информации о прерванной программе, которую не удалось спасти помощью аппаратуры;
5) собственно выполнение программы, связанной с обработкой прерывания;
6) восстановление информации, относящейся к прерванному процессу;
7) возврат на прерванную программу.
Шаги 1-3 реализуются аппаратно, шаги 4-7 — программно.
Прерывания, возникающие при работе вычислительной системы, можно разделить на два основных класса: внешние (их иногда называют асинхронными) и внутренние (синхронные).
Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса.
Внутренние прерывания вызываются событиями, которые связаны с работой процессора, и являются синхронными с его операциями.
Наконец, существуют собственно программные прерывания.
Процессор может обладать средствами защиты от прерываний: отключение системы прерываний, маскирование (запрет) отдельных сигналов прерывания.
Программное управление специальными регистрами маски (маскирование сигнала прерывания) позволяет реализовать различные дисциплины обслуживания:
• с относительными приоритетами, то есть обслуживание не прерывается даже при наличии запросов с более высокими приоритетами.
• с абсолютными приоритетами, то есть всегда обслуживается прерывание с наивысшим приоритетом.
• по принципу стека (последним пришел, первым обслужен).
Источник: megaobuchalka.ru
Операционная система, среда и операционная оболочка
Операционные системы (ОС) в современном их понимании (их назначении и сущности) появились значительно позже первых компьютеров (правда, по всей видимости, и исчезнут в этой сущности в компьютерах будущего). Почему и когда появились ОС?
Считается 1) что первая цифровая вычислительная машина ENIAC (Electronic Numerical Integrator and Computer) была создана в 1946 году по проекту «Проект РХ» Министерства обороны США. На реализацию проекта затрачено 500 тыс. долларов. Компьютер содержал 18000 электронных ламп, массу всякой электроники, включал в себя 12 десятиразрядных сумматоров, а для ускорения некоторых арифметических операций имел умножитель и «делитель-извлекатель» квадратного корня. Программирование сводилось к связыванию различных блоков проводами. Конечно, никакого программного обеспечения и тем более операционных систем тогда еще не существовало [10, 13].
Интенсивное создание различных моделей ЭВМ относится к началу 50-х годов прошлого века. В эти годы одни и те же группы людей участвовали и в проектировании, и в создании, и в программировании, и в эксплуатации ЭВМ. Программирование осуществлялось исключительно на машинном языке (а затем на ассемблере), не было никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм. Операционные системы еще не появились, а все задачи организации вычислительного процесса решались вручную каждым программистом с примитивного пульта управления ЭВМ.
С появлением полупроводниковых элементов вычислительные возможности компьютеров существенно выросли. Наряду с этим заметно прогрессировали достижения в области автоматизации программирования и организации вычислительных работ. Появились алгоритмические языки (алгол, фортран, кобол) и системное программное обеспечение (трансляторы, редакторы связи, загрузчики и др.). Выполнение программ усложнилось и включало в себя следующие основные действия:
· загрузка нужного транслятора (установка нужных МЛ и др.);
· запуск транслятора и получение программы в машинных кодах;
· связывание программы с библиотечными подпрограммами;
· загрузка программы в оперативную память;
· вывод результатов работы программы на печатающее или другое периферийное устройство.
Для организации эффективной загрузки всех средств компьютера в штаты вычислительных центров ввели должности специально обученных операторов, профессионально выполнявших работу по организации вычислительного процесса для всех пользователей этого центра. Однако, как бы ни был подготовлен оператор, ему тяжело состязаться в производительности с работой устройств компьютера. И поэтому большую часть времени дорогостоящий процессор простаивал, а следовательно, использование компьютеров не было эффективным.
С целью исключения простоев были предприняты попытки разработки специальных программ – мониторов, прообразов первых операционных систем, которые осуществляли автоматический переход от задания к заданию. Считается, что первую операционную систему создала в 1952 году для своих компьютеров IBM-701 исследовательская лаборатория фирмы General Motors [9]. В 1955 году эта фирма и North American Aviation совместно разработали ОС для компьютера IBM-704.
В конце 50-х годов прошлого века ведущие фирмы изготовители поставляли операционные системы со следующими характеристиками:
· пакетная обработка одного потока задач;
· наличие стандартных программ ввода-вывода;
· возможности автоматического перехода от программы к программе;
· средства восстановления после ошибок, обеспечивающие автоматическую «очистку» компьютера в случае аварийного завершения очередной задачи и позволяющие запускать следующую задачу при минимальном вмешательстве оператора;
· языки управления заданиями, предоставляющие пользователям возможность описывать свои задания и ресурсы, требуемые для их выполнения.
Пакет представляет собой набор (колоду) перфокарт, организованную специальным образом (задание, программы, данные). Для ускорения работы он мог переноситься на магнитную ленту или диск. Это позволяло сократить простои дорогой аппаратуры. Надо сказать, что в настоящее время в связи с прогрессом микроэлектронных технологий и методологий программирования значительно снизилась стоимость аппаратных и программных средств компьютерной техники. Поэтому сейчас основное внимание уделяется тому, чтобы сделать работу пользователей и программистов более эффективной, поскольку затраты труда квалифицированных специалистов сейчас представляют собой гораздо большую долю общей стоимости вычислительных систем, чем аппаратные и программные средства компьютеров.
Расположение операционной системы в иерархической структуре программного и аппаратного обеспечения компьютера можно представить, как показано на рис. 1.1.
Рис. 1.1. Иерархическая структура программно-аппаратных средств компьютера
Самый нижний уровень содержит различные устройства компьютера, состоящие из микросхем, проводников, источников питания, электронно-лучевых трубок и т.п. Этот уровень можно разделить на подуровни, например контроллеры устройств, а затем сами устройства. Возможно деление и на большее число уровней. Выше расположен микроархитектурный уровень, на котором физические устройства рассматриваются как отдельные функциональные единицы.
На микроархитектурном уровне находятся внутренние регистры центрального процессора (их может быть несколько) и арифметико-логические устройства со средствами управления ими. На этом уровне реализуется выполнение машинных команд. В процессе выполнения команд используются регистры процессора и устройств, а также другие возможности аппаратуры. Команды, видимые для работающего на ассемблере программиста, формируют уровень ISA (Instruction Set Architecture – архитектура системы команд), часто называемый машинным языком.
Операционная система предназначена для того, чтобы скрыть все эти сложности. Конечный пользователь обычно не интересуется деталями устройства аппаратного обеспечения компьютера. Компьютер ему видится как набор приложений. Приложение может быть написано программистом на каком-либо языке программирования.
Для упрощения этой работы программист использует набор системных программ, некоторые из которых называются утилитами. С их помощью реализуются часто используемые функции, которые помогают работать с файлами, управлять устройствами ввода-вывода и т.п. Программист применяет эти средства при разработке программ, а приложения во время выполнения обращаются к утилитам для выполнения определенных функций. Наиболее важной из системных программ является операционная система, которая освобождает программиста от необходимости глубокого знания устройства компьютера и представляет ему удобный интерфейс для его использования. Операционная система выступает в роли посредника, облегчая программисту, пользователям и программным приложениям доступ к различным службам и возможностям компьютера [10].
Таким образом, операционная система – это набор программ, контролирующих работу прикладных программ и системных приложений и исполняющих роль интерфейса между пользователями, программистами, прикладными программами, системными приложениями и аппаратным обеспечением компьютера.
Образно можно сказать, что аппаратура компьютера предоставляет «сырую» вычислительную мощность, а задача операционной системы заключается в том, чтобы сделать использование этой вычислительной мощности доступным и по возможности удобным для пользователя. Программист может не знать детали управления конкретными ресурсами (например, диском) компьютера и должен обращаться к операционной системе с соответствующими вызовами, чтобы получить от нее необходимые сервисы и функции. Этот набор сервисов и функций и представляет собой операционную среду, в которой выполняются прикладные программы.
Таким образом, операционная среда – это программная среда, образуемая операционной системой, определяющая интерфейс прикладного программирования (API) как множество системных функций и сервисов (системных вызовов), которые предоставляются прикладным программам. Операционная среда может включать несколько интерфейсов прикладного программирования. Кроме основной операционной среды, называемой естественной (native), могут быть организованы путем эмуляции (моделирования) дополнительные программные среды, позволяющие выполнять приложения, которые рассчитаны на другие операционные системы и даже другие компьютеры.
Еще одно важное понятие, связанное с операционной системой, относится к реализации пользовательских интерфейсов. Как правило, любая операционная система обеспечивает удобную работу пользователя за счет средств пользовательского интерфейса. Эти средства могут быть неотъемлемой частью операционной среды (например, графический интерфейс Windows или текстовый интерфейс командной строки MS DOS), а могут быть реализованы отдельной системной программой – оболочкой операционной системы (например, Norton Commander для MS DOS). В общем случае под оболочкой операционной системы понимается часть операционной среды, определяющая интерфейс пользователя, его реализацию (текстовый, графический и т.п.), командные и сервисные возможности пользователя по управлению прикладными программами и компьютером.
Перейдем к рассмотрению эволюции операционных систем.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
1.Группы системных программ
- системное программное обеспечение может быть разделено на следующие пять групп:
- Операционные системы
- Системы управления файлами
- Интерфейсные оболочки для взаимодействия пользователя с ОС и программные среды
- Системы программирования
- Утилиты
2. Операционная среда– это набор функций, сервисов и правил обращения к ним, так же набор интерфейсов, необходимый программам и пользователям для обращения к операционной системе с целью получения определенного сервиса. Операционная система в общем случае может содержать несколько операционных сред. (Windows поддерживает MS-DOS и Windows). Операционная среда может включать несколько интерфейсов. …. Пользовательские и программные.
- Tермин операционная среда означает соответствующий интерфейс, необходимый программам для обращения к ОС с целью получить определенный сервис — выполнить операцию ввода/вывода, получить или освободить участок памяти и т. д.
- Это программный интерфейс, API (application program interface). Интерфейс прикладного программирования (API) включает в себя управление процессами, памятью и вводом/выводом.
- Это программная среда, в которой выполняются прикладные программы пользователей.
3. Понятие вычислительного процесса и ресурса
- Понятие «вычислительный процесс» (или просто —«процесс») является одним из основных при рассмотрении операционных систем.
- Последовательный процесс (иногда называемый «задачей») — это выполнение отдельной программы с ее данными на последовательном процессоре.
- Изначально задача(task) определялась, как совокупность связанных между собой и образующих единое целое программных модулей и данных, требующая ресурсов вычислительной системы для своей реализации.
- Затем задачей стали называть единицу работы, для выполнения которой предоставляется центральный процессор. Вычислительный процесс может включать в себя несколько задач.
- Определение концепции процесса преследует цель выработать механизмы распределения и управления ресурсами.
- Другими словами, ресурсом называется всякий объект, который может распределяться внутри системы, например- процессорное время, адресное пространство оперативной памяти, переферийные устройства.
- Ресурсы могут быть разделяемыми, когда несколько процессов могут их использовать одновременно (в один и тот же момент времени) или параллельно (в течение некоторого интервала времени процессы используют ресурс попеременно), а могут быть и неделимыми
- При разработке первых систем ресурсами считались процессорное время, память, каналы ввода/вывода и периферийные устройства.
- Различного рода программные и информационные ресурсы также могут быть определены для системы как объекты, которые могут разделяться и распределяться, и доступ к которым необходимо соответствующим образом контролировать.
- В первых вычислительных системах любая программа могла выполняться только после полного завершения предыдущей.
- Центральный процессор осуществлял и выполнение вычислений, и управление операциями ввода/вывода данных. Соответственно, пока осуществлялся обмен данными между оперативной памятью и внешними устройствами, процессор не мог выполнять вычисления.
Ресурс выделяется по следующим правилам:
- Если ресурс свободен и нет задач с более высокими приоритетами.
- Когда текущий и ранее выданный запрос допускает совместное использование ресурсов.
- Когда ресурс занят задачей с более низким приоритетом,он может быть отобран.
Если ресурс занят, задача становится в очередь ожидания
- Выполняется задача и передаются ресурсы
- ОС может сама у задачи забрать ресурс
Ресурс может находиться в монопольном использовании. Существуют системные процессы, сами программы ОС, они всегда имеет ресурсы и обеспечивают работу программ. Процесс за время выполнения проходит состояния:
- Пассивное состояние- для ОС реального времени, процесс не участвует в конкуренции за ресурс
- Выполнение- процессу выделены все ресурчы, которые ему необходимы. Сколько ядер- столько процессов выполняется.
- Готов к выполнению- выделены все ресурсы кроме процессорного времени
- Состояние ожидания, когда проходят операции ввода-вывода.
4. Диаграмма состояний процессаЗа время своего существования процесс может осуществить переход из одного состояния в другое. Это обусловлено обращениями к ОС с запросами ресурсов и выполнением системных функций, которые предоставляют ОС взаимодействие с другими процессами, появлением сигналов прерывания от таймера и устройств ввода/вывода. Процесс из состояния бездействия может перейти в состояние готовности в следующем случае: 1 . По команде оператора или пользователя, ОС где программа может иметь статус задачи и при этом являться пассивной, а не просто быть исполняемой файлами и только на время исполнения получать статус задачи это характерно для большинства современных ОС. 2 .При выборе из очереди на выполнение процесс может перейти от бездействия к готовности. Это характерно для ОС работающих в постоянном режиме. 3 .По вызову из другой задачи. По вызову супервизора один процесс может создать, инициировать, приостановить, остановить и уничтожить любой процесс. От прерывания от внешнего устройства. устройства называют инициатором, если по сигналу на прерывание от него должна запустится акая-то задача. Переход в готовность при поступлении запланированного запроса программы. процесс, который может исполняться или только ему будет предоставлен процессор находится в состоянии готовности. Уже выделены все необходимые ресурсы за исключением процессора. Из состояния выполнения процесс может выйти по одной из следующих причин: 1 . Процесс завершается, при этом он посредством обращения к супервизору передает управление ОС и сообщает ей о своем завершении. В результате их действий супервизор либо переводит его в список бездействующих процессов либо уничтожает. В состояние бездействия процесс может быть переведен принудительно по команде оператора. Действие этой команды реализуется системными процессами. которые транслируют запрос супервизору с требованием перевести соотв. процесс в состояние бездействия. Из состояния выполнения процесс переводится в состояние готовности к выполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного этому процессу кванта времени. Либо вследствие запроса операции ввода/вывода, который должен быть выполнен прежде чем процесс может продолжить исполнение либо в силу невозможности предоставить ему ресурс запрошенный в настоящий момент. При поступлении соответствующего сигнала о завершении операции ввода/вывода, освобождающем требуемый ресурс, в оперативную память загружается необходимая страница виртуальной памяти. Процесс деблокируется и переводится из состояния готовности к исполнению. Итак, движущей силой, меняющей состояния процессов, является механизм прерываний.
Ограничение
Для продолжения скачивания необходимо пройти капчу:
Источник: studfile.net