В. Столлингс - Операционные системы (1114679), страница 14
Текст из файла (страница 14)
ти ре тем является другу; насущной проблемой исследо р вания опе ационных систе а ой конкретной ситуации. поиск нужного соотношения в каждо ами и их распределения типичн дл а я исследований Задача управления ресурс ие результаты, полу- ~п~рационных систем; здесь могут п именяться математические мы что познано изме ять активность системы, "е"ные в этой области. Кроме того, важно из р и вносить коррективы в ее работу. ~лет следить за ее производительностью и вн рре ты опе ационной системы, участНа ис. 2.11 показаны основные элементы оп рац й а рис.
в и асп делении ресурсов в многозадачно зующне в планировании процессов и распределе й каж ая из кое живает несколько очередей, каждая ~Реле. Операционная система поддерж й на испольов ожи ающих своей очереди на орых является просто списком процессов, о д очн ю очередь заносятся процессы, кото- ование какого-то ресурса. В краткосрочную р е части которых) находятся в основно а- рые ~или, по крайней мере, основные ча вляется и готовы к выполнению. Выбор ред оче ного процесса осущест Прерывааее от услройс~ва ввода-вывода 107 Часть 1. Основные поц ~вл~чижаа планиРовщиком или днспегчером ОбщаЯ стРате~ иЯ том, чтобы каждому находящемуся в очереди процессу давать доступ по ди; такой метод называют циклическим (гоппс1-гоЫп).
Кроме того, п можно присваивать различный приоритет. Передача управление вроцессу Рис. 2.1 с..11. Ключевые элементы многозадачной операиионнои системы В долгосрочной очереди находится список новых процессов, ожида возможности использовать процессор. Операционная система переносит долгосрочной очереди в краткосрочную. В этот момент процессу необх" выделить определенную часть основной памяти. Таким образом, операци система должна следить за тем, чтобы не перегрузить память или проц добавляя в систему слишком много процессов. К одному и тому же устро ввода-вывода могут обращаться несколько процессов, поэтому для устройства создается своя очередь.
И здесь операционная система долж шать, какому процессу предоставить освободившееся устройство ввода- в первую очередь. Во время прерывания управление переходит к обработчику прерыв сорый является частью операционной системы. В силу своей функционал |роцесс м может обратиться к некоторому сервису операционной системы, ае к й Р дра веру устройства ввода-вывода. При этом происходит вызов обра са об а Р щений к сервисам, который становится точкой входа в операцио :истем, у. Независимо от того, произошло ли прерывание или обращение к сч у.
после его обработки планировщик выберет из краткосрочной очереди ;ля выполнения. Далее в этом разделе приводится чисто Функциональное описание; эти мо азличных х операционных системах имеют разные особенности и устройство. Уктура системы ы все новых функций. а также с рос- С до авл б ением в операционные системы все н ппа атного обеспеи озможностеи управляе мого операционными системами а р ень их сложности. Операционная сиси его разнообразия возрастает степень ч ,ния и его р ная в эксплуатацию в асса ~ М чусетском технологическом инстимд СТЯЯ, введенная .
у - ло 32 ООО 36-битовых слов. в 1963 году, занимала в памяти около ионная система ОЯ1'360, выпущенная Фирмой 1ВМ через год, содержала Рационная система . Система МиИ1св, совместная разработка комиллиона машинных команд. пстема более мил Массачусетского технологического инсти" была завершена специалистами а „,Рой и компанией Ве11 ЬаЬога1ог1ев к 1975 году, разрослась до 20 миллионов ко-з и компа впоследствии на меньших машинах Ради справедливости отметим, что , аул, ади ы и попроще, но и они неуклонно усложи появляться операционные системы и о стали ноя б печения и ростом требований со стороны с азвитием аппаратного о ес нялись с Р Так современная система р . ПХ1Х по своей сложности намного ользователей.
нт, аз аботанный и почти игрушечный первоначальныи вариа, р р евосходит 70-х го ов. То же самое колькими талантливыми программистами в начале ~ -х годов. несколькими талантл й МЯ-ВОЯ со временем переросшей в сложные и изошло с простой системо -, со произо ОЯ/2 и Ъч'1пйоъчз 2000. Так, операционная сис- а ные операционные системы тема Ж1пс1оччв ХТ содержит около 16 миллионов строк кода, а в УПпиоччз ватель увеличен более чем в два раза, этот пока а ионных систем и сложУвеличение размера полнофункциональных операцион ых ими задач стало причиной возникновения трех широко рас- ности выполняемых ими за охо ят о пользоенных п блем. Во-первых, операционные системы доходя д пространенных про лем.
- вып ска новых операцион- ватели с хро '1 ническим опозданием. Это касается как выпуска о . В - о ых в системах ных систем, так и о обновления уже существующих. Во-вторь чих с- появляются скрытые оши ки, которы б., торые начинают проявлять себя в рабоч у- ловиях и тре уют исправ б ления и доработки системы. В-третьих, рост производи- тельности зачастую происходит не так быс ро, ыст о как планируется. Как же следует организовать структуру операц ионных систем, чтобы упрон ые п блемы? Некоторые решения стить работу с ними и преодолеть перечисле н ро жно состоять из модулей, что упростит очевидны. Программное обеспечение должно и облегчит выявление и устранение оши- оРганизацию процесса его разработки и облегч олжны иметь тщательно разработан- бок Модули по отношению друг к другу должны что также облегчит задачи программи- ные и максимально простые интерфейсы, что та.
ста Кроме того, меньше усилий потребует эволюц ия такой системы. Если взаи1т по п остым и четким правилам, модействие модулей друг с другом происходит о р изменение любого модуля окажет минимальное в н е влияние на остальные. ых состоит Однако оказалось, что для ол б ьших операционных систем, код которых сос инцип модульного программирова- на миллионов или десятков миллионов строк, при ц низ сам по себе не избавляет от всех проблем. По этой причине возросла популяр- "ость концепции уровней иерархии, а также ин р ац нфо м ионной абстракции. В иерар- хической структуре современной операционной сис р темы азличные Функции нахожности в менных характеристик д" ~я на разных уровнях в зависимости от их слож „ре " степени абстракции.
Систему можно рассматривать как р уро - набо вней, каждый из аний входящий в комплекс задач которых выполняет свой ограниченныи круг задан о"ерацпонной системы. Работа компонентов определенного уро вня основывается на Работе компонентов, находящихся на более низком уро; у вне. Ф нкции более высокого Уровня используют примитивы нижнего по отношен ию к нем уровня.
В идеале у .; язва 2. Обзор операционных систем 08 Часть 1. Основные по уровни должны быть определены так, чтобы при изменении одного из них нялись остальные. Как правило, чем ниже уровень, тем меньше время работы его ко тов, Некоторые элементы операционной системы должны непосредственн модействовать с аппаратным обеспечением компьютера, элементарные п в котором иногда длятся не более нескольких миллионных долей сек ставляющие операционной системы, поддерживающие Взаимосвязь с пол ' лем, находятся на другом конце временного диапазона. Пользователи вво манды Весьма медленно — до одной команды за несколько секунд.
В каждой отдельно Взятой операционной системе перечисленные пр '' применяются по-разному. Для получения общего представления об опе ных системах на данном этапе изложения представим пример обобщенной'. пи иерархической операционной системы, описанной в ~ВВОЧ~84) и 1ПЕ ' Зна, несомненно, полезна для понимания сути дела, хотя и не соотве здной реальной операционной системе. Сама модель приведена в табл. 2„'. тоит из следующих уровней. ° Уровень 1.
В него входят электронные схемы; объектами данного являются регистры, ячейки памяти и логические элементы. Над эти ектами выполняются различные действия, такие„как очистка содер регистра или считывание ячейки памяти. ° Уровень 2. Набор команд процессора. В число операций, выполняе этом уровне, входят те, которые допускаются набором команд и языка, например сложение, вычитание, загрузка значения из регис сохранение в нем. ° Уровень 3. содержит концепцию процедуры (подпрограммы), а так рации вызова и возврата. Уровень 4.
Уровень прерываний, которые заставляют процессор сох текущий контекст и выполнить подпрограмму обработки прерывания., На самом деле первые четыре уровня не являются частями операц ' истемы, они составляют аппаратное обеспечение процессора. Однако н" рознях уже появляются некоторые элементы операционной системы, ', :ак программы обработки прерываний. Вплотную к операционной сис ~одходим только на пятом уровне, на котором возникают концепции, свя многозадачностью. /~, е Уровень 5.
На этом уровне вводится понятие процесса, под которым., зумевается работающая программа. В число фундаментальных треба операционной системе, способной поддерживать одновременную р скольких процессов, входят способность приостанавливать процессЫ: зобновлять их выполнение. Для этого необходимо сохранять соде регистров аппаратного обеспечения, чтобы можно было переключа ного процесса на другой.
Кроме того, если процессы должны взаим вовать между собой, необходим механизм их синхронизации. О Важнейших концепций устройства операционных систем является; Фор — простейший способ передачи сигналов, который рассмотрен ве 5, "Параллельные вычисления: взаимоисключения и многозадачн 109 ава 2. Обзор операционных систем 4 Уровень 6. Компоненты этого уровня взаимодействуют со вспомогательныМи запоминающими устройствами компьютера.