Содержание
1.Введение.………………………………………………………………….2
1.1.Ядро операционной системы………………………………………….3
2.Архитектура ОС Windows……………………………………………….6
2.1.Пример работы ОС Windows ………………………………………….9
3.Архитектура UNIX……………………………………………………...10
3.1Ядро UNIX……………………………………………………………..11
3.2Файловая система UNIX………………………………………………13
3.3Управление процессами………………………………………………16
4.Заключение……………………………………………………………...18
5.Список литературы……………………………………………………..19
Введение:
К омпьютеры играют очень важную роль в нашей современной жизни. Они проникли во все сферы деятельности человека. Они позволяют хранить огромные объёмы информации и моментально получать к ним доступ; они способны также обрабатывать эту информацию во много раз быстрее человека, работают дольше по времени и с меньшим количеством ошибок. Если раньше на обработку какой-либо информации человеком уходили дни, то сейчас с помощью компьютера, это занимает секунды, что позволяет сконцентрироваться на задаче, а не на вычислениях. Компьютеры применяются в медицине, что является очень полезным фактом; являются самым дешёвым и быстрым средством общения; при правильном использовании служат нам незаменимым помощником в учёбе. Домашний компьютер сейчас есть у большинства людей. И он может оказать нам неоценимую пользу. Он является источником новой информации. Вряд ли мы можем представить свою жизнь без него. Он имеет множество преимуществ: мы можем на нём учиться, писать, читать, смотреть фильмы, играть в игры, общаться с людьми, которые находятся за сотни километров от нас, создавать программы и проекты, рисовать.
|
Что такое операционная система?
«Операционная система, сокр. ОС — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения».
То есть операционную системы можно назвать движущей силой нашего компьютера. Именно она даёт нам возможность взаимодействовать с компьютером. Она делает информацию, которую выдаёт нам компьютер, понятной для нашего восприятия, и в то же время переводит то, что мы вводим на компьютерный язык, чтобы компьютер смог выполнить поставленную перед ним задачу. Она является связующим звеном между аппаратурой компьютера и человеком.
Функции Операционной системы:
1. Осуществление диалога с пользователем;
2. Ввод, вывод и управление данными;
3. Планирование и организация процесса обработки программ;
4. Распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);
5. Запуск программ на выполнение;
6. Передача информации между различными внутренними устройствами;
7. Программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).
Ядро операционной системы:
|
Ядро - центральная часть ОС, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение. Также ядро предоставляет сервисы файловой системы и сетевых протоколов и выполняет следующие функции:
· Управляет всей операционной системой;
· Содержит драйверы устройств, подпрограммы управления памятью, планировщик заданий;
· Реализует системные вызовы.
К ак основополагающий элемент ОС, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам системы, необходимым для его работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессорного взаимодействия и обращения приложений к системным вызовам ОС.
Существует несколько типов архитектур ядер операционных систем:
1) Монолитное ядро;
2) Микроядро;
3) Экзоядро;
4) Наноядро;
5) Гибридное ядро.
Но подробнее мы рассмотрим монолитное и модульное ядра.
«Монолитное ядро — классическая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве».
То есть в памяти нашего компьютера хранится информация, и каждой её составляющей соответствует число – адрес, который определяет место её хранения. Кстати, монолитное ядро сейчас всё равно является самой распространённой архитектурой ядер операционных систем. Монолитные ядра долго развивались и усовершенствовались. Сейчас они являются наиболее архитектурно зрелыми и пригодными к эксплуатации. Но, к сожалению, монолитное ядро имеет свои недостатки. Оно работает в одном адресном пространстве.
|
Если вдруг произойдёт сбой в одном из компонентов, то нарушится работоспособность всей системы. Эти сбои невозможны в модульном ядре, о котором мы сейчас поговорим. «Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем компьютеров. В отличие от «классических» монолитных ядер, считающихся ныне устаревшими, модульные ядра, как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного компьютера».
Взамен этим функциям модульные ядра просто дополнительно загружают модули ядра, которые в свою очередь поддерживают то или иное аппаратное обеспечение. Например, модульное ядро может загрузить нужный для работы драйвер. Модульное ядро может загрузить модуль прямо во время работы системы, не перезагружая её. А также подгрузка модуля может выполняться при перезагрузке ОС. В это время ОС перестраивается на загрузку определенных модулей. Но, не смотря на новые возможности, модульные ядра всё равно остаются монолитными. Они по-прежнему работают в адресном пространстве. Это даёт им возможность использовать все функции ядра. «Модульные ядра удобнее для разработки, чем традиционные монолитные ядра, не поддерживающие динамическую загрузку модулей, так как от разработчика не требуется многократная полная перекомпиляция ядра при работе над какой-либо его подсистемой или драйвером. Выявление, локализация, отладка и устранение ошибок при тестировании также облегчаются».
То есть если нужно усовершенствовать функции модульного ядра, то сначала можно улучшить одну из его составляющих частей, например, какой-нибудь драйвер, а потом загрузить его к ядру. Эта задача гораздо усложняется в случае с монолитным ядром. Его придётся полностью переделывать, чтобы поместить туда новый драйвер. Функции, которые входят в состав ядра, решают очень важные задачи. Они переключают контексты, занимаются организацией процесса вычислений, загружают и выгружают страницы, обрабатывают прерывания. А в свою очередь приложения, работающие из режима пользователя, могут обращаться к ядру, чтобы выполнить нужные действия.
Скорость выполнения функция ядра является показателем производительности ОС. Все модули ядра или большая их часть находятся в ОС. Ядро является главной составляющей компьютерной системы, благодаря которой она работает. По этой причине так необходимо, чтобы коды ядра были надежны.
Ядро состоит из следующих слоёв:
1.Средства аппаратной поддержки;
2.Машинно-зависимые компоненты;
3.Базовые механизмы ядра;
4.Менеджеры ресурсов;
5.Интерфейс системных вызовов.
Программное обеспечение, находящееся в режиме ядра:
· Может иметь прямой и неограниченный доступ к аппаратному обеспечению;
· Имеет доступ ко всей памяти компьютера;
· Не может быть вытеснено в страничный файл на жестком диске;
· Имеют больший приоритет по сравнению с процессами пользовательского режима.
Сама архитектура ядра позволяет защитить его компоненты от изменения их другими программами.
Основные функции ядра:
Ядро ОС содержит программы для реализации следующих функций:
· Обработка прерываний;
· Создание и уничтожение процессов;
· Переключение процессов в различные состояния;
· Диспетчирование;
· Приостановка и активизация процессов;
· Синхронизация процессов;
· Организация взаимодействия между процессами;
· Манипулирование блоками управления процессами;
· Поддержка операций ввода-вывода;
· Поддержка распределения и перераспределения памяти;
· Поддержка работы файловой системы;
· Поддержка механизма вызова-возврата при обращении к процедурам;
· Поддержка определенных функций по ведению учета работы машины.
Архитектура ОС Windows
Архитектура ОС Windows имеет модульную структуру. Из этого можно сделать вывод, что она состоит из разделяемых компонентов, любой из которых жестко отвечает за собственные функции. Она состоит из двух уровней: компонентов, которые работают в режиме пользователя (user mode), и компонентов, работающих в режиме ядра (kernel mode).
Это очень удобно, потому что пользователь, имея доступ к системным программам и внутренним компонентам ОС, может случайно что-то изменить или удалить. Это спровоцирует поломку системы. Поэтому с компьютером мы работаем через пользовательский режим и его приложения, а в режиме ядра выполняются наши команды.
У пользовательского режима и режима ядра есть свои привилегии. У режима ядра их больше. В операционной системе они разделены на уровни.
1. Уровень 1 – Режим ядра;
2. Уровень2–Режим_пользователя.
Режим пользователя:
Режим пользователя имеет гораздо меньше привилегий по сравнению с режимом ядра. У него нет прямого доступа к оборудованию. А также он имеет ограниченный доступ к памяти. «Режим пользователя состоит из подсистем, которые передают запросы ввода и вывода соответствующему драйверу режима ядра посредством менеджера Ввода-вывода. Уровень пользователя состоит из двух подсистем — подсистема окружения(Environment) и интегральная подсистема (Integral)».
Подсистема окружения нужна для того, чтобы запускать приложения, которые написаны для разных видов ОС. Обратим внимание на то, что ни у какой из подсистем окружения нет прямого доступа к аппаратной части компьютера. У ОС есть менеджер Вирт. Памяти. Этот менеджер имеет привилегии, так как работает в режиме ядра.
Именно он обеспечивает доступ к ресурсам памяти. В состав системы окружения входят следующие подсистемы: Win32, POSIX, OS/2. Самой важной из них является Win 32. Она предоставляет компьютерным программам интерфейс программирования приложения (англ. application programming interface, API). Две другие подсистемы тоже предоставляют свой интерфейс программирования приложения. Но для того чтобы им получить пользовательский ввод и показать результаты, им нужно использовать подсистему Win32. Без подсистемы Win32 Windows работать не может, поэтому Win32 работает всегда. Это её главное отличие от двух других подсистем.
Эта подсистема обрабатывает все, что связано с клавиатурой, мышью и экраном, и нужна даже на серверах в отсутствие интерактивных пользователей. Также Win32 управляет окнами и базовыми сервисами. «Подсистема окружения OS/2 поддерживает неграфические 16-разрядные приложения операционной системы OS/2 и эмулирует систему OS/2 2.1.x.
Подсистема окружения POSIX поддерживает приложения, написанные в соответствии со стандартом POSIX.1»[9] Интегрированная подсистема работает от имени подсистемы окружения. Она наблюдает за несколькими функциями операционной системы. В её состав входят подсистемы безопасности, службы рабочей станции и службы сервера. «Служба безопасности обращается с маркерами доступа, позволяет или запрещает доступ к учетной записи пользователя, обрабатывает запросы авторизации и инициирует процесс входа пользователя в систему. Служба Рабочая станция обеспечивает доступ компьютера к сети — является API для сетевого редиректора. Служба Сервер позволяет компьютеру предоставлять сетевые сервисы».
Отличия двух режимов:
Чем же отличаются программы, работающие в режиме пользователя от программ, работающих в режиме ядра? Отличия процессов, работающих в режиме пользователя, от процессов, работающих в режиме ядра:
· Не имеют прямого доступа к оборудованию, все запросы на использование аппаратных ресурсов должны быть разрешены компонентом режима ядра;
· Ограничены размерами выделенного адресного пространства;
· Могут быть выгружены из физической памяти в виртуальную на жестком диске;
· Приоритет процессов данного типа ниже приоритета процессов режима ядра, это предохраняет ОС от снижения производительности или задержек, происходящих по вине приложений.
Пример работы ОС:
А сейчас мы посмотрим, как работает ОС. Допустим на надо написать и распечатать какой-нибудь текст. Что мы делаем? Открываем текстовый редактор, набираем текст, сохраняем этот документ, а потом распечатываем. А что же делает наша операционная система, и как взаимодействуют её компоненты? Во-первых, клавиатура и мышь отправляют введённые нами данные в ОС. Затем ОС решает, что текстовый редактор является активной программой и использует нужные модули для работы с ней. ОС принимает данные, которые мы ввели, и отправляет их к себе на хранение. Дело в том, что ОС обладает небольшим объёмом и хранит информацию временно, только при работе с ней. Если вдруг выключить компьютер, то вся информация, хранящаяся в ОС, не сохранится. Поэтому всю информацию мы сохраняем на жёстком диске. Каждое наше редактирование из текстового редактора посылается ОС в центральный процессор. При этом команды переводятся на машинный язык. Процессор работает уже в режиме ядра. На протяжении этого времени ОС предоставляет нам всю информацию на мониторе нашего компьютера с помощью графической карты. Теперь нам нужно сохранить текст. Мы нажимаем кнопку Сохранить. Тем временем текстовый редактор отправляет запрос в ОС. ОС отвечает, позволяя нам выбрать место сохранения файла и его имя. После того как мы выберем нужные нам параметры, ОС направляет эти данные на хранение в устройство с постоянной памятью. Теперь текст нужно распечатать. Нажимаем кнопку Печать. Теперь ОС принимает наши данные и отправляет их на принтер до нужного порта, который мы указываем.
Архитектура UNIX.
Знакомство с архитектурой UNIX начнем с рассмотрения таких неотъемлимых для неё характеристических понятий, как стандартизация и многозадачность:
Стандартизация:
Несмотря на многообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов (в UNIX стандартизовано почти всё – от расположения системных папок и файлов, до интерфейса системных вызовов и списка драйверов базовых устройств). Опытный администратор без особого труда сможет обслуживать другую версию, тогда как для пользователей переход на другую систему и вовсе может оказаться незаметным. Для системных же программистов такого рода стандарты позволяют полностью сосредоточиться на программировании, не тратя время на изучение архитектуры и особенностей конкретной реализации системы.
Многозадачность:
В системе UNIX может одновременно выполняться множество процессов (задач), причем их число логически не ограничивается, и множество частей одной программы может одновременно находиться в системе. Благодаря специальному механизму управления памятью, каждый процесс развивается в своем защищенном адресном пространстве, что гарантирует безопасность и независимость от других процессов. Различные системные операции позволяют процессам порождать новые процессы, завершают процессы, синхронизируют выполнение этапов процесса и управляют реакцией на наступление различных событий.
Два кита UNIX: файлы и процессы:
Существует два основных объекта операционной системы UNIX, с которыми приходиться работать пользователю – файлы и процессы. Эти объекты сильно связаны друг с другом, и в целом организация работы с ними как раз и определяет архитектуру операционной системы.
Все данные пользователя хранятся в файлах; доступ к периферийным устройствам осуществляется посредством чтения и записи специальных файлов; во время выполнения программы, операционная система считывает исполняемый код из файла в память и передает ему управление.
С другой стороны, вся функциональность операционная определяется выполнением соответствующих процессов. В частности, обращение к файлам на диске невозможно, если файловая подсистема операционной системы (совокупность процессов, осуществляющих доступ к файлам) не имеет необходимого для этого кода в памяти.
Самый общий взгляд на архитектуру UNIX позволяет увидеть двухуровневую модель системы, состоящую из пользовательской и системной части (ядра) Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы (процессы в пользовательской части операционной системы) от особенностей ее архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам посредством системных вызовов. Таким образом, в системе можно выделить два уровня привилегий: уровень системы (привилегии специального пользователя root) и уровень пользователя (привилегии всех остальных пользователей).
Архитектура операционной системы UNIX:
Архитектура представляет собой:
1) Ядро;
2) Системные утилиты;
3) Демоны;
4) Пользовательские программы.
Важной частью системных программ являются демоны. Демон – это процесс, выполняющий определённую функцию в системе, который запускается при старте системы и не связан ни с одним пользовательским терминалом. Демоны предоставляют пользователям определенные сервисы, примерами которых могут служить системный журнал, веб-сервер и т.п.. Аналогом демонов в операционной системе Windows NT и более поздних версиях являются системные службы.
Ядро UNIX
Операционная система UNIX обладает классическим монолитным ядром в котором можно выделить следующие основные части:
1.Файловая подсистема
Доступ к структурам ядра осуществляется через файловый интерфейс.
2.Управление процессами
Сюда входит управление параллельным выполнением процессов (планирование и диспетчеризация), виртуальной памятью процесса, и взаимодействием между процессами (сигналы, очереди сообщений и т.п.).
3.Драйверы устройств
Драйверы устройств делятся на символьные и блочные по типу внешнего устройства. Для каждого из устройств определен набор возможных операций (открытие, чтение и т.д.). Блочные устройства кэшируются с помощью специального внутреннего механизма управления буферами.
Ядро ОС UNIX
Рис 1. Ядро ОС UNIX.
Благодаря тому, что в UNIX аппаратно-независимая часть явно отделена, это семейство операционных систем может быть с минимальными затратами перенесено на новые аппаратные платформы.
Видно, что ядро операционной системы UNIX является классическим для многозадачной многопользовательской операционной системы, поэтому оно широко используется в обучении системному программированию и теории операционных систем.
Файловая система UNIX
Термин файловая система по историческим причинам обозначает одновременно и иерархию каталогов и файлов, и часть ядра, управляющую доступом к каталогам и файлам.
Особенности файловой системы:
Первое значение термина упирается в рассмотрение структур, в которые могут быть организованы файлы на носителях данных. Существует несколько видов таких структур: линейные, древовидные, объектные и другие, но в настоящее время широко распространены только древовидные структуры.
Каджый файл в древовидной структуре расположен в определенном хранилище файлов – каталоге, каждый каталог, в свою очередь, также расположен в некотором каталоге. Таким образом, по принципу вложения элементов файловой системы (файлов и каталогов) друг в друга строится дерево, вершинами которого являются непустые каталоги, а листьями – файлы или пустые каталоги. Корень такого дерева имеет название корневой каталог и обозначается каким-либо специальным символом или группой символов (например, «C:» в операционной системе Windows). Каждому файлу соответствует некоторое имя, отпределяющее его расположение в дереве файловой системы. Полное имя файла состоит из имен всех вершин дерева файловой системы, через которые можно пройти от корня до данного файла (каталога), записывая их слева-направо и разделяя специальными символами-разделителями.
В настоящее время существует огромное количество файловых систем, каждая из которых используется для определенной цели: для быстрого доступа к данным, для обеспечения целостности данных при сбоях системы, для простоты реализации, для компактного хранения данных, и т.д. Однако среди всего множества файловых систем можно выделить такие, которые обладают рядом схожих признаков, а именно:
айлы и каталоги идентифицируются не по именам, а по индексным узлам (i-node) – индексам в общем массиве файлов для данной файловой системе. В этом массиве хранится информация об используемых блоках данных на носителе, а также – длина файла, владелец файла, права доступа и другая служебная информация под общим названием «метаданные о файле». Логические же связки типа «имя–i-node» – есть ни что иное как содержимое каталогов.
Таким образом, каждый файл характеризуется одним i-node, но может быть связан с несколькими именами – в UNIX это называют жёсткими ссылками ю При этом, удаление файла происходит тогда, когда удаляется последняя жёсткая ссылка на этот файл.
Важной особенностью таких файловых систем является то, что имена файлов зависят от регистра, другими словами файлы test.txt и TEST.txt отличаются (т.е. являются разными строками в файле директории).
· В определенных (фиксированных для данной файловой системы) блоках физического носителя данных находится т.н. суперблок. Суперблок – это наиболее ответственная область файловой системы, содержащая информацию для работы файловой системы в целом, а также – для ёе идентификации. В суперблоке находится «магическое число» – идентификатор файловой системы, отличающий её от других файловых систем, список свободных блоков, список свободных i-node'ов и некоторая другая служебная информация.
· Помимо каталогов и обычных файлов для хранения информации, ФС может содержать следующие виды файлов:
Специальный файл устройства
Обеспечивает доступ к физическому устройству. При создании такого устройства указывается тип устройства (блочное или символьное), старший номер – индекс драйвера в таблице драйверов операционной системы и младший номер – параметр, передаваемый драйверу, поддерживающему несколько устройств, для уточнения о каком «подустройстве» идет речь (например, о каком из нескольких IDE-устройств или COM-портов).
Именованный канал
Используется для передачи данных между процессами, работает по принципу двунаправленной очереди (FIFO). Является одним из способов обмена между изолированными процессами.
Символическая ссылка
Особый тип файла, содержимое которого – не данные, а имя какого-либо другого файла. Для пользователя такой файл неотличим от того, на который он ссылается.
Символическая ссылка имеет ряд преимуществ по сравнению с жёсткой ссылкой: она может использоваться для связи файлов в разных файловых системах (ведь номера индексных узлов уникальны только в рамках одной файловой системы), а также более прозрачно удаление файлов – ссылка может удаляться совершенно независимо от отсновного файла.
Дерево каталогов:
Рассмотрение второго значения термина ФС приводит нас к уже обозначенной ранее совокупности процедур, осуществляющих доступ к файлам на различных носителях. Особенностью операционных систем семейства UNIX является существование единого дерева файловой системы для любого количества носителей данных с одинаковыми или разными типами файловых систем на них. Это достигается путем монтирования – временной подстановкой вместо каталога одной файловой системы дерева другой файловой системы, вследствие чего система имеет не несколько деревьев никак не связанных друг с другом, а одно большое разветвленное дерево с единым корневым каталогом.
Файловая подсистема операционной системы UNIX имеет имеет уникальную систему обработки запросов к файлам – переключатель файловых систем или виртуальная файловая система (VFS). VFS предоставляет пользователю стандартный набор функций (интерфейс) для работы с файлами, вне зависимости от места их расположения и принадлежности к разным файловым системам.
В мире стандартов UNIX определено, что корневой каталог единого дерева файловой системы должен иметь имя /, как и символ-разделитель при формировании полного имени файла. Тогда полное имя файла может быть, например, /usr/share/doc/bzip2/README. Задача VFS – по полному имени файла найти его местоположение в дереве файловой системы, определить её тип в этом месте дерева и «переключить», т.е. передать файл на дальнейшую обработку драйверу конктретной файловой системы. Такой подход позволяет использовать практически неограниченое количество различных файловых систем на одном компьютере под управлением одной операционной системы, а пользователь даже не будет знать, что файлы физически находятся на разных носителях информации.
Использование общепринятых имен основных файлов и структуры каталогов существенно облегчает работу в операционной системе, её администрирование и переносимость. Некоторые из этих структур используются при запуске системы, некоторые – во время работы, но все они имеют большое значение для ОС вцелом, а нарушение этой структуры может привести к неработоспособности системы или ее отдельных компонентов.
Управление процессами:
В операционной системе UNIX традиционно поддерживается классическая схема мультипрограммирования. Система поддерживает возможность параллельного (или псевдопараллельного в случае наличия только одного аппаратного процессора) выполнения нескольких пользовательских программ. Каждому такому выполнению соответствует процесс операционной системы. Каждый процесс выполняется в собственной виртуальной памяти, и, тем самым, процессы защищены один от другого, т.е. один процесс не в состоянии неконтроллируемым образом прочитать что-либо из памяти другого процесса или записать в нее.
Контекст процесса:
Каждому процессу соответствует контекст, в котором он выполняется. Этот контекст включает содержимое пользовательского адресного пространства – пользовательский контекст (т.е. содержимое сегментов программного кода, данных, стека, разделяемых сегментов и сегментов файлов, отображаемых в виртуальную память), содержимое аппаратных регистров – регистровый контекст (регистр счетчика команд, регистр состояния процессора, регистр указателя стека и регистры общего назначения), а также структуры данных ядра (контекст системного уровня), связанные с этим процессом. Контекст процесса системного уровня в ОС UNIX состоит из «статической» и «динамических» частей. Для каждого процесса имеется одна статическая часть контекста системного уровня и переменное число динамических частей.
Статическая часть контекста процесса системного уровня включает следующее:
Идентификатор процесса (PID)
Уникальный номер, идентифицирующий процесс. По сути, это номер строки в таблице процессов – специальной внутренней структуре ядра операционной системы, хранящей информацию о процессах.
В любой момент времени номера запущенных в ситеме процессов отличаются, однако после завершения процесса, его номер может быть в дальнейшем использован для идентификации вновь запущенного процесса.
Идентификатор родительского процесса (PPID)
В операционнной системе UNIX процессы выстраиваются в иерархию – новый процесс может быть создан в рамках текущего, который выступает для него родительским.
Таким образом, можно построить дерево из процессов, в вершине которого находится процесс init, запускающийся при старте системы и являющийся прародителем для всех системных процессов..
Состояние процесса
Каждый процесс может находиться в одном из возможных состояний: инициализация, исполнение, приостановка, ожидание ввода-вывода, завершение и т.п.
Состояния процесса в UNIX:
Рис 2. Состояние процесса UNIX.
Большинство этих состояний совпадает с классическим набором состояний процессов в многозадачных операционных системах. Для операционной системы UNIX характерно особое состояние процесса – зомби. Это состояние имеет завершившийся процесс, родительский процесс которого еще не закончил работу, и служит для корректного завершния группы процессов, освобождения ресурсов и т.п..
Заключение
Операционные системы Unix и Windows достаточно сильно отличаются в реализации различных сервисов и служб. можно отметить несколько глобальных различий.
В Unix/Linux графическая система существует отдельно от ядра и функционирует как обычное приложение. В операционных системах Windows графическая система интегрирована в ядро. В случае использования операционной системы на рабочей станции, особенно при запуске графикоемких приложений, возможно, лучше, когда графическая система входит в ядро - в этом случае она может быстрее работать. А при работе на сервере предпочтительней отделение графической системы от ядра ОС, так как она загружает память и процессор.
В случае Unix/Linux графическую систему можно просто отключить, к тому же, если системный администратор ее все-таки хочет использовать, в Linux есть несколько графических оболочек на выбор, некоторые из них (например, WindowMaker) достаточно слабо загружают машину.
Эта же особенность Unix-образных операционных систем позволяет запускать эти ОС на машинах с весьма скромными объемами ОЗУ и т.п. В случае Windows же графическая система слишком тесно интегрирована в ОС, поэтому она должна запускаться даже на тех серверах, на которых она вовсе не нужна.
Список литературы
1. Бах Дж.М. Архитектура операционной системы UNIX. –
2. Курячий Г.В. Операционная система UNIX. – М.:Интуит.Ру, 2004. – 292 с.: ил.
3. Робачевский А.М. Операционная система UNIX. – СПб.: БХВ-Петербург, 2002. – 528 с.: ил.
4. Максвелл С. Ядро Linux в комментариях. – К.: Издательство «Диа-Софт», 2000. – 488 с.: ил.
5. Э. Танненбаум «Современные операционные системы»