Автор работы: Пользователь скрыл имя, 15 Октября 2011 в 10:24, доклад
Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.
Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время.
История. Назначение.
Системные вызовы.
Структура операционных систем.
1.1 История ОС
Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.
Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время. Появились первые системы пакетной обработки (1955-1965г.г.), которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий.
Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.
Спулинг (spooling-подкачка) в то время задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.
Системы разделения времени - вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.
В
это время была разработана
В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.
Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.
В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.
В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.
В
80-х годах стало возможным
С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.
Уже
тогда было ясно, что DOS с ее ограничениями
по памяти и по возможностям файловой
системы не может воспользоваться
вычислительной мощностью появляющихся
компьютеров. Поэтому IBM и Microsoft начинали
совместно разрабатывать
В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.
В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.
Сетевая операционная система не имеет отличий от операционной системы однопроцессорного компьютера. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств (драйвер сетевого адаптера), а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным файлам.
Распределенная операционная система, напротив, представляется пользователям простой системой, в которой пользователь не должен беспокоиться о том, где работают его программы или где расположены файлы, все это должно автоматически обрабатываться самой операционной системой.
В 1987г. была выпущена
В 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 вызовы почти один к одному идентичны библиотечным процедурам, которые используются для обращения к системным вызовам.
Рассмотрим
интерфейс прикладного
Поэтому непонятно является ли вызов системным (выполняется ядром), или он обрабатывается в пространстве пользователя.
В
Win32 API существует более 1000 вызовов. Такое
количество связано и с тем, что
графический интерфейс
Рассмотрим вызовы 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.4.2 Многоуровневая
структура ОС
Обобщением предыдущего подхода является организация ОС как иерархии уровней. Уровни образуются группами функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом - выше- или нижележащим уровнем. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням.
Пример структуры многоуровневой системы
Преимущества:
Недостатки:
Пример реализации многоуровневой модели UNIX.
Структура ОС UNIX
Ядро ОС UNIX
Пример реализации многоуровневой модели Windows
Структура Windows 2000
1.4.3 Модель экзоядра
Информация о работе История. Назначение. Системные вызовы. Структура операционных систем