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

Обновлено: 07.07.2024

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

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

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

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

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

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

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

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

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

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

Основные понятия, концепции ОС

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

2.4.1. Системные вызовы

В любой операционной системе поддерживается механизм, который позволяет пользовательским программам обращаться к услугам ядра ОС. В операционных системах наиболее известной советской вычислительной машины БЭСМ-6 соответствующие средства "общения" с ядром назывались экстракодами, в операционных системах IBM они назывались системными макрокомандами и т.д. В ОС Unix такие средства называют системными вызовами.

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

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

Основное отличие состоит в том, что при системном вызове задача переходит в привилегированный режим или режим ядра (kernel mode). Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями.

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

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

2.4.2. Прерывания

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

2.4.3. Исключительные ситуации

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

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

Файлы

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

Главная задача файловой системы (file system) – скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств.

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

Процессы, нити

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


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

  • в середине 80-х гг. XX в.
  • конец 60-х - начало 70-х гг. XX в.
  • конец 50-х - начало 60-х гг. XX в.
  • в середине 90-х гг. XX в.
Вопрос 3

Какую операционную систему начали разрабатывать компании IBM и Microsoft взамен "устаревающей" MS-DOS (которая должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений).
Первая версия которой вышла в 1987г.
В дальнейшем Microsoft отошла от разработки . и стала разрабатывать Windows NT

Вопрос 4

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

Вопрос 5

В 80-х годах стало возможным реализовать . теория которого была разработана еще в 60-е годы. Первой реализовала . корпорация Macintosh.

Вопрос 6

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

Вопрос 7

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

Вопрос 8

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

Вопрос 9

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

Вопрос 10

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

  • Многозадачность
  • Спулинг
  • Подкачка
  • Докачка
  • Перекачка
Вопрос 11

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

  • Системы пакетной обработки данных
  • Интерактивные системы
  • Системы разделения времени
Вопрос 12

. просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора.

  • Системы пакетной обработки данных
  • Интерактивные системы
  • Системы разделения времени
Вопрос 13

Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время. В 1955-1965г.г. появились первые .

  • Системы пакетной обработки данных
  • Интерактивные системы
  • Системы разделения времени
Вопрос 14

С какой операционной системой работали первые (1945-1955гг.) компьютеры?

  • Windows
  • Linux
  • Unix
  • OS/2
  • работали без операционных систем, на них работала одна программа
  • MS-DOS
Вопрос 15

. - это модуль, выполняющий основные функции ОС.

Вопрос 16

В каком году появилась первая Операционная система - Windows?

Вопрос 17

Организация диалога пользователя с компьютером с помощью выдачи на экран системного приглашения для ввода команды характерна для .

  • командного интерфейса
  • графического полноэкранного интерфейса
  • многооконного пиктографического интерфейса
  • графического интерфейса пользователя
Вопрос 18

. - это программа, которая осуществляет диалог с пользователем, управляет компьютером, его ресурсами, запускает другие программы.

Вопрос 19

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

  • Клавиатура
  • Принтер
  • Монитор
  • Сканер
Вопрос 20

Вставьте пропущенное слово:
… - это группа из двух или более компьютеров, которые предоставляют совместный доступ к своим аппаратным или программным ресурсам.

  • Сеть
  • Группа
  • Поток
  • Набор
  • Протокол
Вопрос 21

Какое устройство вывода информации подключается к ПК посредством видеокарты?

  • Монитор
  • Клавиатура
  • Принтер
  • Мышь
  • Колонки
  • Процессор
Вопрос 22

Его называют сердцем ПК.

  • Монитор
  • Клавиатура
  • Принтер
  • Мышь
  • Колонки
  • Процессор
Вопрос 23

Из кристалла какого камня по специальной технологии выращен любой процессор?

  • Кремний
  • Платина
  • Золото
  • Аллюминий
  • Кварц
Вопрос 24

Устройство, обрабатывающее информацию - .

  • оперативная память
  • процессор
  • клавиатура
  • монитор
Вопрос 25

Как называют ОС, которые работают в режиме диалога с пользователем?

  • Пакетные
  • Интерактивные
  • Серверные
  • Реального времени
Вопрос 26

Со стороны пользователя ОС - это .

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

Как называют ОС, которые выполняют задания без непосредственного взаимодействия с пользователем или объектом?

  • Пакетные
  • Интерактивные
  • Серверные
  • Реального времени
Вопрос 28

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

  • однопользовательские
  • многопользовательские
  • пакетные
  • интерактивные
  • системы реального времени
  • однозадачные
  • многозадачные
Вопрос 29

По доступу операционные системы классифицируются на:

  • однопользовательские
  • многопользовательские
  • пакетные
  • интерактивные
  • системы реального времени
  • однозадачные
  • многозадачные
Вопрос 30

По количеству решаемых задач операционные системы классифицируются на:

  • однопользовательские
  • многопользовательские
  • пакетные
  • интерактивные
  • системы реального времени
  • однозадачные
  • многозадачные
Вопрос 31

Системы пакетной обработки предназначены для решения задач:

  • вычислительного характера
  • требующих постоянного диалога с пользователем
  • требующих решения конкретной задачи за определенный промежуток времени
Вопрос 32

В каких системах гарантируется выполнение задания за определенный промежуток времени?

Друзья, сегодня хочу поговорить о развитии домашних персональных компьютеров за последние 40 лет. Посмотреть как изменялись основные компоненты ПК: внешний вид, технические характеристики, операционные системы и цена. Также хочу ответить на вопрос, почему сегодня мы живем на закате эры персональных компьютеров для дома?

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

Внешний вид домашних ПК

В конце 1970-х годов появились первые персональные компьютеры. Например, одним из прародителей современного домашнего ПК был " Altair 8800 ": данный компьютер не имел ни клавиатуры, ни мыши. Данные вводились с помощью переключателей и тумблеров. В 1976 году вышел первый ПК, который был полностью в собранном виде — " Apple I" с частотой процессора 1МГц и объемом ОЗУ 4, 8 или 48кБ.

В начале 1980-х персональные компьютеры представляли собой этакие "моноблоки": монитор + системный блок + клавиатура. Только в 1990 годах стали разделять понятие монитор, устройства ввода и системный блок. Системный блок сначала располагался под монитором, затем его стали выносить в отдельный блок, который устанавливался под стол. С 2005 по 2019 годы внешний вид домашних персональных компьютеров изменился незначительно.

Производительность домашних ПК

Судите сами, в конце 1970гг — в начале 1980гг характеристики ПК, например, IBM 5150 были следующими:

  • Процессор: Intel 8088 (1 ядро) с частотой 4,7 МГц
  • Оперативная память (ОЗУ): 16-480 кБ
  • Видеокарта: графический адаптер MDA, без цвета, без видеопамяти, с разрешением 720×350 точек

Сегодня характеристики среднего персонального компьютера такие:

Не трудно посчитать, что производительность ПК за 40 лет выросла в более чем 10 000 тысяч раз ! Развивались и периферийных устройств, в том числе и накопителей информации. Многие помнят дискеты с объемом 1,44 Мбайт, а сегодня карточки памяти microSD вмещают больше 128 Гб и имеют размер с человеческий ноготь.

Операционные системы домашних ПК

Первая операционная система была создана еще в 1955 году — " GM-НАА " — однозадачная ОС для ПК без графического интерфейса, управление осуществлялось с помощью консоли. Затем широкое распространение получили многозадачные ОС с графическим интерфейсом. Первой была ОС "PLATO". Вообще на заре эры персональных компьютеров было много операционных систем: AIX, MS-DOS, Apple DOS, NetWare, Irdis и т.д. Первая советская операционная система называлась "ДЕМОС" и была выпущена в 1985 году.

В конце 90-х вышли ОС "Windows 98" и "Mac OS 8", которые прочно закрепились на рынке ОС для домашних ПК. Ситуация не изменилась и по сей день — в 2019 году на рынке ОС для домашних ПК мир разделен на три большие части:

  • Windows — 88% пользователей
  • Mac OS — 9% пользователей
  • Linux — 2% пользователей
  • Остальные ОС — 1% пользователей

Цены на домашние ПК

Цены на ПК за последние 40 лет существенно изменились. В конце 1970гг цена на персональный компьютер была в пределах $9 000 - $20 000. Один из первых массовых домашних ПК — " IBM PC" он же "IBM 5150" в 1981 году стоил примерно $3000 - $4000.

С годами интерес к компьютерам рос, поэтому росло предложение и конкуренция. В начале 2000 годов ПК стоил уже около $1000. В 2002 — $500-$700. В 2019 году средний домашний ПК обойдется в $400-$500, в зависимости от конфигурации.

Давайте рассмотрим среднюю сборку домашнего ПК в 2019 году, в пределах $400-$500:

  • Процессор — Intel Core i3;
  • Оперативная память — 8 Гб;
  • Жесткий диск — 1 Тб;
  • Видеокарта — Radeon RX 550 2GB;

Для сравнения давайте посмотрим на средний ПК из 2002 года за $400-$500:

  • Процессор — Intel Celeron 1300;
  • Оперативная память — 256 Мб;
  • Жесткий диск — 60 Гб;
  • Видеокарта — GeForce 4 MX-440.

Прогнозы на 2020 — 2030 гг.

Последние 15 лет в сегменте домашних персональных компьютеров идет гонка за производительностью. И все 😢 Ничего уникального для сегмента сделано не было. Учитывая тенденцию развития мобильных гаджетов и тот факт, что существенная доля рынка компьютеров уже занята ноутбуками, можно говорить о закате эры домашних ПК .

Дальнейшее развитие домашних персональных компьютеров будет зависеть от ⚡ Apple, Microsoft и Google, а точнее от решений данных компаний в области разработки программного обеспечения. Если раньше производители софта и периферийных устройств подстраивались под компьютерное "железо", то сейчас ситуация противоположная — развитие сегмента домашних персональных компьютеров будет напрямую зависеть от производителей конечного ПО для пользователей— компьютерных программ и игр.

Первые (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г. она была переработана для других процессоров, например 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, она была построена на схеме микро ядра.

В 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.4.2 Многоуровневая структура ОС

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

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

Большой код ядра, и как следствие большое содержание ошибок

Ядро плохо защищено от вспомогательных процессов

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

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

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

Структура Windows 2000

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

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

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

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

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

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

Серверный процесс (который обрабатывает запросы)

Клиентский процесс (который посылает запросы)

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

Малый код ядра и отдельных подсистем, и как следствие меньшее содержание ошибок.

Читайте также: