Основы организации операционных систем

Автор: Пользователь скрыл имя, 24 Марта 2013 в 11:42, курс лекций

Описание работы

Первые шаги по созданию электронных вычислительных машин были предприняты в конце второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства, и появился принцип программы, хранимой в памяти машины (John Von Neumann, июнь 1945г). В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке.

Работа содержит 1 файл

Konspekt_lektsy_tekuschy_variant.doc

— 825.50 Кб (Скачать)

 

Четвертый период (1980-настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы. Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку, а не отделу предприятия или университета. Наступила эра персональных компьютеров. Первоначально персональные компьютеры предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т.п.).

Компьютеры стали широко использоваться неспециалистами, что потребовало  разработки "дружественного" программного обеспечения, это положило конец кастовости программистов.

 

Однако рост сложности и разнообразия задач, решаемых на персональных компьютерах, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем.

В середине 80-х стали бурно развиваться  сети компьютеров, в том числе  персональных, работающих под управлением сетевых или распределенных операционных систем.

В сетевых операционных системах пользователи, при необходимости воспользоваться  ресурсами другого сетевого компьютера, должны знать о его наличии  и уметь это сделать. Каждая машина в сети работает под управлением своей локальной операционной системы, отличающейся от операционной системы автономного компьютера наличием дополнительных средств (программной поддержкой для сетевых интерфейсных устройств  и  доступа к удаленным ресурсам), но эти дополнения существенно не меняют структуру операционной системы.

Распределенная система, напротив, внешне выглядит как обычная автономная система. Пользователь не знает и  не должен знать, где его файлы  хранятся на локальной или удаленной машине, и где его программы выполняются. Он может вообще не знать, подключен ли его компьютер к сети. Внутреннее строение распределенной операционной системы имеет существенные отличия от автономных систем.

В дальнейшем автономные операционные системы мы будем называть классическими операционными системами.

 

Выводы.

Просмотрев этапы развития вычислительных систем, мы можем выделить следующие функции, которые выполняли классические операционные системы в процессе своей эволюции:

    1. Планирование заданий и использования процессора.
    2. Обеспечение программ средствами коммуникации и синхронизации.
    3. Управление памятью.
    4. Управление файловой системой.
    5. Управление вводом-выводом.
    6. Обеспечение безопасности.

 

Еще в 1950-60-х годах прошлого века сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.

Пакетный режим. Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём ОС может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.

Разделение времени  и многозадачность. Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ. Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило  создать «многопользовательские»  системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких, как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие, как массивные вычисления) — в пакетном режиме.

Разделение полномочий. Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности модификации исполняемой программы или данных одной программы в памяти компьютера другой (содержащей ошибку или злонамеренно подготовленной) программы, а также модификации самой ОС прикладной программой.

Реализация разделения полномочий в ОС была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).

Реальный масштаб времени.  Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами. Включение функции реального масштаба времени в ОС позволило создавать системы, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и (или) в режиме разделения времени).

Файловые системы и  структуры. Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).

 

Каждая из приведенных функций  обычно реализована в виде подсистемы, являющейся структурным компонентом  ОС. В каждой конкретной операционной системе эти функции, конечно, реализовывались  по-своему, в различном объеме. Они не были придуманы как составные части деятельности операционных систем изначально, а появились в процессе развития, по мере того, как вычислительные системы становились удобнее, эффективнее и безопаснее. Эволюция вычислительных систем, созданных человеком пошла по такому пути, но никто еще не доказал, что это единственно возможный путь их развития. Операционные системы существуют потому, что на настоящий момент их существование - это разумный способ использования вычислительных систем. Рассмотрение общих принципов и алгоритмов реализации их функций и будет составлять содержание большей части нашего курса.

 

Сегодня наиболее известными операционными  системами являются ОС семейства Microsoft Windows и UNIX-подобные системы.

 

Глава 2  (лекция №3-4)

Основные  понятия и определения операционной системы

 

Существуют две группы определений ОС: «совокупность программ, управляющих оборудованием» и «совокупность программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны операционные системы.

Иногда под назначением ОС подразумевают  распределение и планирование ресурсов (или динамическое и статическое распределение ресурсов).

  1. ОС – [набор программных средств] [организованная совокупность   программ (систем)], предназначенная(ный) для управления ресурсами вычислительной системы и действует как интерфейс между аппаратурой  и пользователями.

Таким образом, на первый план определение 1 выдвигает  проблему распределения ресурсов (рис.1). Причем под ресурсами понимают не только традиционные виды ресурсов, как время работы отдельных устройств (например, процессорное время), пространство памяти различных уровней, функции отдельных устройств, наборы данных, но и отдельные программы и комплексы программ,  допускающие совместное использование, а иногда и пользователя (например, запрос на выполнение определенной функции).

Cторонники определений типа 1 исходят из некоторой модели вычислительного процесса, в котором параллельно действуют несколько участников (задач, процессов, заданий, пользователей и др.), конкурирующих и борющихся за ресурсы.

2. Другая группа определений характеризуется функциональным подходом. В этом случае ОС представляется перечислением функций, которые она должна выполнять (рис.2).

Рис. 2 -  Состав функций ОС

 

3. ОС является посредником (связующим звеном, интерфейсом) между ЭВМ, с одной стороны, и человеком (пользователем, программистом, оператором, инженером и т.д.) - с другой. Другими словами, ОС - логическое расширение функций аппаратуры в сторону человека. Она позволяет от "физического" уровня аппаратуры перейти к более высокому "логическому" уровню, который становится уровнем вычислительной системы и который более удобен для человека (рис.3).

Таким образом, операционная система (ОС) (англ. operating system) — это первый и основной (базовый) набор программ), обеспечивающий управление аппаратными средствами компьютера, организующий работу с файлами и выполнение прикладных программ, осуществляющий ввод и вывод данных, предоставляющий общий пользовательский интерфейса и т.п.

ОС позволяет абстрагироваться от деталей реализации аппаратного  обеспечения, предоставляя разработчикам  программного обеспечения минимально необходимый набор функций. С  точки зрения обычных пользователей  компьютерной техники ОС включает в себя и программы пользовательского интерфейса.

Основные функции (простейшие ОС):

  • Загрузка приложений в оперативную память и их выполнение.
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода) – супервизор ввода-вывода..
  • Управление оперативной памятью (распределение между процессами, виртуальная память).
  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.
  • Пользовательский интерфейс.
  • Сетевые операции, поддержка стека протоколов.
  • Обработка прерываний.

Дополнительные функции:

  • Параллельное или псевдопараллельное выполнение задач (многозадачность) – планировщик (супервизор) задач.
  • Взаимодействие между процессами: обмен данными, взаимная синхронизация.
  • Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
  • Разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация);
  • обеспечение сетевого взаимодействия.

Когда нужна  операционная система

Существуют информационные системы, для которых ОС не нужны. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без ОС, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее, некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных ОС. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).

Операционные системы, в свою очередь, нужны, если:

  • вычислительная система используется для различных задач, причём программы, исполняющие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев ОС отвечает на неё реализацией файловой системы. Современные ОС, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы с вводом другой, минуя относительно медленные дисковые операции;
  • различные программы нуждаются в выполнении одних и тех же рутинных действий. Напр., простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, ОС предоставляют системные библиотеки часто используемых подпрограмм (функций);
  • между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
  • необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, «нарезает» процессорное время на короткие отрезки и предоставляет их поочередно различным исполняющимся программам (процессам);
  • наконец, оператор должен иметь возможность, так или иначе, управлять процессами выполнения отдельных программ. Для этого служат операционные среды, одна из которых — оболочка и набор стандартных утилит — является частью ОС (прочие, такие, как графическая операционная среда, образуют независимые от ОС прикладные платформы).

Информация о работе Основы организации операционных систем