8819

История. Назначение. Системные вызовы. Структура операционных систем.

Реферат

Информатика, кибернетика и программирование

История. Назначение. Системные вызовы. Структура операционных систем. 1.1 История ОС Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа. Когда скорость выполнения программ и их количество ...

Русский

2013-02-17

153 KB

13 чел.

История. Назначение. Системные вызовы.
Структура операционных систем.


1.1 История ОС

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

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

Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.

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

Системы разделения времени - вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.

В это время была разработана многопользовательская система MULTICS, которая должна была обеспечивать одновременную работу сотни пользователей.

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX. 

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

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

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы.  Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95. 

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

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

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

Распределенная операционная система, напротив, представляется пользователям простой системой, в которой пользователь не должен беспокоиться о том, где работают его программы или где расположены файлы, все это должно автоматически обрабатываться самой операционной системой.

  В 1987г. была выпущена операционная система MINIX (прототип LINUX), она была построена на схеме микро ядра.

В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

1.2 Назначение ОС 

1.2.1 ОС как виртуальная машина 

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

Например, чтобы считать или записать информацию на дискету, надо:

  •  Запустить двигатель вращения дискеты
  •  Управлять шаговым двигателем перемещения головки
  •  Следить за индикатором присутствия дискеты
  •  Выбрать номер блока на диске
  •  Выбрать дорожку
  •  Выбрать номер сектора на дорожке
  •  и.т.д.

Все эти функции берет на себя операционная система.

 

1.2.2 ОС как система управления ресурсами 

Чтобы несколько программ могло работать с одним ресурсом (процессор, память), необходима система управления ресурсами.

Способы распределения ресурса: 

  •  Временной - когда программы используют его по очереди, например, так система управляет процессором.
  •  Пространственный - программа получает часть ресурса, например, так система управляет оперативной памятью и жестким диском.


  
1.3 Интерфейс прикладного программирования 

API (Application Programming Interface) - интерфейс прикладного программирования, .

Интерфейс между операционной системой и программами определяется набором системных вызовов.

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

Рассмотрим наиболее часто применяемых системных вызовов стандарта POSIX. В POSIX существует более 100 системных вызовов.

fork - создание нового процесса

exit - завершение процесса

open - открывает файл

close - закрывает файл

read - читает данные из файла в буфер

write - пишет данные из буфера в файл

stat - получает информацию о состоянии файла

mkdir - создает новый каталог

rmdir - удаляет каталог

link - создает ссылку

unlink - удаляет ссылку

mount - монтирует файловую систему

umount - демонтирует файловую систему

chdir - изменяет рабочий каталог

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

Рассмотрим интерфейс прикладного программирования для Windows - Win32 API. Win32 API отделен от системных вызовов. Это позволяет в разных версиях менять системные вызовы, не переписывая программы.

Поэтому непонятно является ли вызов системным (выполняется ядром), или он обрабатывается в пространстве пользователя.

В Win32 API существует более 1000 вызовов. Такое количество связано и с тем, что графический интерфейс пользователя UNIX запускается в пользовательском режиме,  а в Windows встроен в ядро. Поэтому Win32 API имеет много вызовов для управления окнами, текстом, шрифтами т.д.

Рассмотрим вызовы Win32 API, которые подобны вызовам стандарта POSIX.

CreatProcess (fork) - создание нового процесса

ExitProcess (exit) - завершение процесса

CreatFile (open) - открывает файл 

CloseHandle (close) - закрывает файл 

ReadFile (read) - читает данные из файла в буфер

WriteFile (write) - пишет данные из буфера в файл

CreatDirectory (mkdir) - создает новый каталог

RemoveDirectory (rmdir) - удаляет каталог

SetCurrentDirectory (chdir) - изменяет рабочий каталог

 

Интерфейс Win32 API позволяет программам работать почти на всех версиях Windows
   

1.4 Структура операционных систем 

1.4.1 Монолитная система 

Структура системы:

  1.  Главная программа, которая вызывает требуемые сервисные процедуры.
  2.  Набор сервисных процедур, реализующих системные вызовы.
  3.  Набор утилит, обслуживающих сервисные процедуры.

Простая модель монолитной системы

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

Этапы обработки вызова:

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


1.4.2 Многоуровневая структура ОС 

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

 

Пример структуры многоуровневой системы

Преимущества:

  •  Высокая производительность

Недостатки:

  •  Большой код ядра, и как следствие большое содержание ошибок
  •  Ядро плохо защищено от вспомогательных процессов

Пример реализации многоуровневой модели UNIX.

 

 

Структура ОС UNIX

 

 

Ядро ОС UNIX

 

Пример реализации многоуровневой модели Windows

 

Структура Windows 2000

1.4.3 Модель экзоядра 

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

 

1.4.4 Микроядерная архитектура (модель клиент-сервер) 

Эта модель является средним между двумя предыдущими моделями.

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

В этой модели вводятся два понятия:

  1.  Серверный процесс (который обрабатывает запросы)
  2.  Клиентский процесс (который посылает запросы)

В задачу ядра входит только управление связью между клиентами и серверами.

 

Модель клиент-сервер

Преимущества:

  •  Малый код ядра и отдельных подсистем, и как следствие меньшее содержание ошибок.
  •  Ядро лучше защищено от вспомогательных процессов.
  •  Легко адаптируется к использованию в распределенной системе.

Недостатки:

  •  Уменьшение производительности.

1.4.5 Обобщение сравнения моделей

Сравнения моделей.    

PAGE  7


 

А также другие работы, которые могут Вас заинтересовать

21738. Устройства хранения данных 237 KB
  Устройства хранения данных Вопросы: Общая характеристика устройств хранения данных. Общая характеристика устройств хранения данных. Утройства хранения данных относятся к внешней памяти компьютера они пзволяют сохранять информацию для последующего ее использования независимо от состояния включен или выключен компьютера. В устройствах хранения данных могут быть реализованы различные физические принципы хранения информации магнитный оптический электронный в любых их сочетаниях.
21739. Накопители на гибких магнитных дисках 323 KB
  С тех пор эти устройства претерпели относительно не большие изменения размер дискеты уменьшился почти в два раза а емкость возросла всего на порядок. Первые накопители использовали дискеты диаметром 525 133 мм для краткости обозначаемые как 5 заключенные в мягкие конверты рис. Поскольку дискеты НВ отличаются более высокой коэрцитивной силой носителя для них требуется более сильный ток записи чем для обычных дискет. Эти компактные дискеты заключены в пластмассовый конверт.
21740. Организация работ в очистных забоях. Основные понятия и определения 23.5 KB
  Организация производства – комплекс мероприятий направленный на рациональное сочетание процессов труда с вещественными элементами производства в пространстве и времени с целью повышения эффективности горного производства. Для разработки конкретных и детальных мероприятий по организации производственных процессов разрабатывается проект. В состав проекта входят графики работы очистных и подготовительных забоев определение типа бригады и выполняемых ею производственных процессов количество членов бригады их разряды нормы выработки и...
21741. Формы организации производства в очистных забоях 36 KB
  Цикличность ведение работ по циклам характеризуется повторяемостью выполнения определенных процессов в известной последовательности. Под циклом понимают совокупность всех процессов и операций выполняемых в определенной последовательности и объеме и необходимых для выемки полезных ископаемых по всей длине лавы очистного забоя на установленную паспортом величину подвигания забоя. Полный цикл совокупность всех процессов выполняемых в данном забое в определенном порядке и объеме необходимом для его подвигания на установленную величину...
21742. Проектирование организации очистных работ 23.5 KB
  Режим работы очистных забоев является исходным для составления проекта организации работ на добычном участке который включает графики организации производственных процессов в очистных и подготовительных забоях. Составление графиков организации очистных работдля случая когда режим работ и число циклов в сутки задано:для составления или корректировки необходимо посчитать объемы работ по каждому процессу и время для их выполнения; численность рабочих необходимых для выполнения каждого процесса комплексную норму выработки расценки. Для...
21743. Методика по выполнению раздела проекта: проектирование и организация работ в очистных забоях 65.5 KB
  Зависит от того задан ли режим работы рудника и число циклов в сутки либо режим работы и число циклов определяется как возможные в данных условиях. 1 Уточнить определить исходные данные задан ли режим работы и число циклов в скутки 2 Осуществляется анализ существующей организации производственных предприятий. Число производственных циклов в сутки по формуле: Кцп = 24 – число часов в сутки. коэффициент повторяемости – число повторений процессов подготовки на 1 цикл выемки полезного компонента.
21744. Организация производства подготовительных забоев 22 KB
  Время в течении которого выполняются все процессы проходческого цикла составляют продолжительность цикла. Процессы проходческого цикла могут выполняться последовательно или параллельно. При 2 способе продолжительность проходческого цикла сокращается и скорость в единицу времени повышается.
21745. Графики организации работ в подготовительных забоях 23 KB
  Анализ технологической проходки позволяет по ряду признаков классифицировать их на группы: по способу механизации проходческих работ графики делятся на: графики с применением БВР; графики с применением проходческих комбайнов; по степени совмещения отдельных процессов во времени: с последовательным выполнением основных процессов; с частичным совмещением; степень совмещения процессов во времени характеризуется коэффициентом совмещения равным отношению суммарной продолжительности полного проходческого цикла с учетом совмещенных...
21746. Методика проектирования организации работ в подготовительном забое 33.5 KB
  Методика зависит от необходимой величины суточного подвигания забоя выработки. Различают два случая суточного подвигания забоя выработки величина суточного подвигания забоя выработки задана величина суточного подвигания забоя выработки определяется как возможная в данных условиях. Методика проектирования организации работ в подготовительном забое в случае если величина суточного подвигания забоя выработки задана состоит из следующих пунктов Выбор технологической схемы проведения проходческих работ способа механизации отдельных...