В настоящее время эта технология имеет аппаратную поддержку на всех современных процессорах.
В случае расположения данных на внешних запоминающих устройствах память может быть представлена, например, специальным разделом на жёстком диске (partition) или отдельным файлом на обычном разделе диска.
Также существует термин swap (англ. swap, /swɔp/) также означающий виртуальную память (точнее способ её представления), или же означает подкачку данных с диска.
Применение механизма виртуальной памяти позволяет:
· упростить адресацию памяти клиентским программным обеспечением;
· рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);
· изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью);
Билет № 21 Развитие и основные функции операционных систем. Ввод-вывод. Принципы аппаратуры ввода-вывода
Первые (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).
Функции операционной системы.
· Управление работой каждого блока ПК и их взаимодействием
· Управление выполнением программ
· Организацию хранения информации во внешней памяти
· Взаимодействие пользователя с компьютером, т.е. поддержку интерфейса пользователя
Ввод-вывод.
В информатике, ввод/вывод (в англ. языке часто используется сокращение I/O) означает взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод — сигнал или данные, полученные системой, а вывод — сигнал или данные, посланные ею (или из нее). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод/вывод» означает выполнение операций ввода или вывода. Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши — специально разработанные компьютерные устройства ввода, а мониторы и принтеры — компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно.
Принципы аппаратуры ввода-вывода.
Шина – вся совокупность линий по которым обмениваются информацией компоненты и устройства ПК. Шина предназначена только для двух устройств называется портом.
Шина имеет место для подключения внешних устройств.
- слоты, которые в результате становится частью шины и могут обмениваться информацией со всеми подключенными к ним устройствами.
По функциональному назначению шины бывают: системные, шина КЭШ памяти, шина памяти, шина в/в.
1) Системная шина – предназначена для пересылки информации к центральному процессору и обработки.
2) Шина КЭШ памяти – предназначена для обмена информацией между центральным процессором и КЭШ памятью.
3) Шина памяти используется для обмена информацией между оперативной памятью и центральным процессором
Шина в/в подразделяется на стандартную и локальную.
- локальная шина в/в – скоростная шина предназначенная для обмена информацией между быстродействующими периферийными устройствами.
- стандартная шина в/в предназначена для подключения к выше указанным шинам более медленных периферийных устройств (мыши, клавиатура).
Характеристики шины.
1) Разрядность – определяется числом параллельных проводников входящих в нее (первая шина состояла из восьми разрядов)
2) Пропускная способность шины определяется количеством байт информации передаваемые по шине за 1 секунду.
Внешние устройства подключаются к шинам по средствам интерфейса (сопряжения) представляющие собой совокупность различных характеристик какого-либо периферийного устройства, определяющие организацию обмена информации между ним и центральным процессором CPU. К числу таких характеристик относятся; электрические и временные характеристики (параметры), набор управляющих сигналов, протокол обмена данными, конструктивные особенности подключения. Обмен данными между компонентами ПК возможен, если интерфейс этих компонентов совместимы
Билет № 22 Развитие и основные функции операционных систем. Программные уровни ввода-вывода. Сравнительные возможности операционных систем
Программные уровни ввода-вывода. Сравнительные возможности операционных систем.
Уровни ввода-вывода
Обработчики прерываний
Прерывания должны быть скрыты как можно глубже в недрах операционной системы, чтобы как можно меньшая часть ОС имела с ними дело. Лучше всего блокировать драйвер, начавший ввод-вывод.
Алгоритм:
1. Драйвер начинает операцию ввод-вывод.
2. Драйвер блокирует сам себя,
3. - выполнив на семафоре процедуру down
4. - выполнив на переменной состояния процедуру wait
5. - выполнив на сообщении процедуру receive
6. Происходит прерывание
7. Обработчик прерываний начинает работу
8. Обработчик прерываний может разблокировать драйвер (например, выполнив на семафоре процедуру up)