Автор: Пользователь скрыл имя, 24 Марта 2013 в 11:42, курс лекций
Первые шаги по созданию электронных вычислительных машин были предприняты в конце второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства, и появился принцип программы, хранимой в памяти машины (John Von Neumann, июнь 1945г). В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке.
Четвертый период (1980-настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы. Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку, а не отделу предприятия или университета. Наступила эра персональных компьютеров. Первоначально персональные компьютеры предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т.п.).
Компьютеры стали широко использоваться неспециалистами, что потребовало разработки "дружественного" программного обеспечения, это положило конец кастовости программистов.
Однако рост сложности и разнообразия задач, решаемых на персональных компьютерах, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем.
В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.
В сетевых операционных системах пользователи,
при необходимости
Распределенная система, напротив, внешне выглядит как обычная автономная система. Пользователь не знает и не должен знать, где его файлы хранятся на локальной или удаленной машине, и где его программы выполняются. Он может вообще не знать, подключен ли его компьютер к сети. Внутреннее строение распределенной операционной системы имеет существенные отличия от автономных систем.
В дальнейшем автономные операционные системы мы будем называть классическими операционными системами.
Выводы.
Просмотрев этапы развития вычислительных систем, мы можем выделить следующие функции, которые выполняли классические операционные системы в процессе своей эволюции:
Еще в 1950-60-х годах прошлого века сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.
Пакетный режим. Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём ОС может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.
Разделение времени и многозадачность. Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ. Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило
создать «
Разделение полномочий. Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности модификации исполняемой программы или данных одной программы в памяти компьютера другой (содержащей ошибку или злонамеренно подготовленной) программы, а также модификации самой ОС прикладной программой.
Реализация разделения полномочий в ОС была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).
Реальный масштаб времени. Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами. Включение функции реального масштаба времени в ОС позволило создавать системы, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и (или) в режиме разделения времени).
Файловые системы и структуры. Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).
Каждая из приведенных функций обычно реализована в виде подсистемы, являющейся структурным компонентом ОС. В каждой конкретной операционной системе эти функции, конечно, реализовывались по-своему, в различном объеме. Они не были придуманы как составные части деятельности операционных систем изначально, а появились в процессе развития, по мере того, как вычислительные системы становились удобнее, эффективнее и безопаснее. Эволюция вычислительных систем, созданных человеком пошла по такому пути, но никто еще не доказал, что это единственно возможный путь их развития. Операционные системы существуют потому, что на настоящий момент их существование - это разумный способ использования вычислительных систем. Рассмотрение общих принципов и алгоритмов реализации их функций и будет составлять содержание большей части нашего курса.
Сегодня наиболее известными операционными системами являются ОС семейства Microsoft Windows и UNIX-подобные системы.
Существуют две группы определений ОС: «совокупность программ, управляющих оборудованием» и «совокупность программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны операционные системы.
Иногда под назначением ОС подразумевают распределение и планирование ресурсов (или динамическое и статическое распределение ресурсов).
Таким образом, на первый план определение 1 выдвигает проблему распределения ресурсов (рис.1). Причем под ресурсами понимают не только традиционные виды ресурсов, как время работы отдельных устройств (например, процессорное время), пространство памяти различных уровней, функции отдельных устройств, наборы данных, но и отдельные программы и комплексы программ, допускающие совместное использование, а иногда и пользователя (например, запрос на выполнение определенной функции).
Cторонники определений типа 1 исходят из некоторой модели вычислительного процесса, в котором параллельно действуют несколько участников (задач, процессов, заданий, пользователей и др.), конкурирующих и борющихся за ресурсы.
2. Другая группа определений характеризуется функциональным подходом. В этом случае ОС представляется перечислением функций, которые она должна выполнять (рис.2).
Рис. 2 - Состав функций ОС
3. ОС является посредником (связующим звеном, интерфейсом) между ЭВМ, с одной стороны, и человеком (пользователем, программистом, оператором, инженером и т.д.) - с другой. Другими словами, ОС - логическое расширение функций аппаратуры в сторону человека. Она позволяет от "физического" уровня аппаратуры перейти к более высокому "логическому" уровню, который становится уровнем вычислительной системы и который более удобен для человека (рис.3).
Таким образом, операционная система (ОС) (англ. operating system) — это первый и основной (базовый) набор программ), обеспечивающий управление аппаратными средствами компьютера, организующий работу с файлами и выполнение прикладных программ, осуществляющий ввод и вывод данных, предоставляющий общий пользовательский интерфейса и т.п.
ОС позволяет абстрагироваться от деталей реализации аппаратного обеспечения, предоставляя разработчикам программного обеспечения минимально необходимый набор функций. С точки зрения обычных пользователей компьютерной техники ОС включает в себя и программы пользовательского интерфейса.
Основные функции (простейшие ОС):
Дополнительные функции:
Когда нужна операционная система
Существуют информационные системы,
для которых ОС не нужны. Например, встроенные микрокомпьютеры
содержатся сегодня во многих бытовых
приборах, автомобилях (иногда по десятку
в каждом), сотовых телефонах и т. п. Зачастую
такой компьютер постоянно исполняет
лишь одну программу, запускающуюся по
включении. И простые игровые приставки —
также представляющие собой специализированные
микрокомпьютеры — могут обходиться без
ОС, запуская при включении программу,
записанную на вставленном в устройство
«картридже» или компакт-диске. Тем
не менее, некоторые микрокомпьютеры и
игровые приставки всё же работают под
управлением особых собственных ОС. В
большинстве случаев, это UNIX-подобные
системы (последнее особенно верно в отношении
программируемого коммутационного оборудования: файрволов, маршр
Операционные системы, в свою очередь, нужны, если: