Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Функции операционных систем персональных компьютеров (Характеристика операционных систем)

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

Объект исследования - операционные системы.

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

Цель исследования - заключается в представлении наиболее распространенных ОС и более удобных для общения пользователя с ПК.

Задачи исследования :

1. Изучить характеристику ОС.

2. Рассмотреть основные функции ОС.

Глава 1. Характеристика операционных систем

1.1 Понятие, состав и задачи ОС

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

Операционная система – совокупность управляющих программ, которые связывают устройства вычислительной системы и прикладные программы, а также позволяют управлять устройствами и вычислительными процессами, распределяя в том числе и ресурсы между ними.[2]

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

Базовая система ввода-вывода (BIOS, Basic Input/Output System), находящаяся в постоянной памяти компьютера. Эта часть ОС является «встроенной» в ПК.

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

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

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

Дисковые файлы IO.SYS и MSDOS.SYS(они могут называться по-другому, например, IBMBIO.COM и IBMDOS.COM для PC DOS, DRBIOS.SYS и DRDOS.SYS для DR DOS – названия меняются в зависимости от версии ОС).

Они загружаются в память загрузчиком ОС и остаются в памяти компьютера постоянною Файл IO.SYS представляет собой дополнение к базовой системе ввода-вывода в ПЗУ. Файл MSDOS.SYS реализует основные высокоуровневые услуги ОС.[4]

Операционная система обладает функциональной сложностью. Для изучения структуры операционной системы её делят на отдельные модули, в зависимости от возложенных на них функций. Часть этих модулей включается в ядро операционной системы, а часть находится вне ядра. Ядро – это программа, обеспечивающая взаимосвязь аппаратной части автоматизированной системы со всем остальным системным и прикладным программным обеспечением. Ядро функционирует в отдельной области памяти (пространство ядра). Всё остальное программное обеспечение использует пользовательское пространство, а всем процессам, протекающим в пользовательском пространстве, доступ в пространство ядра закрыт. Однако процессы внутри пространства ядра тесно взаимосвязаны, и ошибка в любой из компонент может повлечь за собой крах всей системы в целом. Всю операционную систему можно рассматривать как систему, состоящую из трех иерархических уровней: аппаратная часть, ядро и системное программное обеспечение. Ядро также можно разложить на слои (рис. 1).[5]

Основные задачи ОС следующие:

- увеличение пропускной способности ЭВМ (за счет организации непрерывной обработки потока задач с автоматическим переходом от одной задачи к другой и эффективного распределения ресурсов ЭВМ по неск5ольким задачам);

- уменьшение времени реакции системы на запросы пользователей пользователями ответов от ЭВМ4

- упрощенные работы разработчиков программных средств и сотрудников обслуживающего персонала ЭВМ (за счет предоставления им значительного количества языков программирования и разнообразных сервисных программ).

Операционные системы могут классифицироваться по следующим показателям:

- количество пользователей: однопользовательские ОС (Ms-DOS, Windows) и многопользовательские ОС (VM, UNIX);

- доступ: пакетные (OS 360), интерактивные (Windows, UNIX), систе6мы реального времени (QNX, Neutrino, RSX);

- количество решаемых задач: однозадачные (MS-DOS) и многозадачные ОС (Windows, UNIX).

Операционная система предназначена для выполнения следующих основных (тесно взаимосвязанных) функций:

- управление данными;

- управление задачами (заданиями, процессами);

- связь с человеком-оператором.[6]

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

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

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

К числу наиболее известных первых управляющих программ относятся комплексы SAGE, SABRE, MERCURE, реализованы на ЭВМ второго поколения. Для ЭВМ IBM/360 были разработаны ОС, обеспечивающие пакетную технологию обработки данных и работу в реальном масштабе времени, а также реализацию многомашинных и мультипроцессорных комплексов.[7]

Первая функционально полная ОС – OS/360. Разработка и внедрение ОС позволили разграничить функции операторов, администраторов, программистов, пользователей, а также существенно (в десятки и сотни раз) повысить производительность ЭВМ и степень загрузки технических средств. Версии OS/360/370/375 – MFT (мультипрограммирование с фиксированным количеством задач ), MVT (с переменным количеством задач),SVS (система с виртуальной памятью), SVM (система виртуальных машин) – последовательно сменяли друг друга и во многом определили современные представления о роли ОС в общей иерархии систем управления данными и задачами при обработке данных на ЭВМ.

Ранние версии OS/360 были ориентированны на пакетную обработку информации – входной поток заданий (МЛ, МД или перфокартах) подготавливался заранее и поступал на обработку в непрерывном режиме. В дальнейшем возникли расширения OS/360/375, допускающие диалоговую обработку данных с терминалов пользователя, последняя из версий (OSSVM) фактически предоставляла в распоряжении пользователя «виртуальную персональную ЭВМ» с полной мощностью вычислительной установки IBM/360/375. ОС других семейств.[8]

1.2 Программы ОС

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

ОС обеспечивает осуществление в вычислительной системе следующих процессов:

- обработка задач;

- работы системы в режиме диалога и квантования времени;

- работы в системе в реальном масштабе времени в составе многопроцессорных и многомашинных комплексов;

- связи оператора с системой;

- протоколирование хода выполнения вычислительных работ;

- обработки данных, поступающих по каналам связи;

- функционирование устройств ввода-вывода;

- использование широкого набора средств отладки и тестирование программ;

- планирование прохождения задач в соответствии с их приоритетами;

- ведение учета и контроля за использованием данных, программ и ресурсов ЭВМ.

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

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

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

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

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

Конфигурация системы. Прикладная программа в ОС может получить от ОС в процессе своей работы характеристик конкретной реализации системы, в среде которой она функционирует: имя, версию и редакцию ОС, тип и технические характеристики комп-а.[9]

1.3 Типы операционных систем

Начало созданию операционных систем для микроЭВМ положила ОС СР./М. Она была разработана в 1974 году, после чего была установлена на многих 8-разрядных машинах. В рамках этой операционной системы было создано программное обеспечение значительного объема, включающее трансляторы с языков Бейсик, Паскаль, Си, Фортран, Кобол, Лисп, Ада и многих других. Текстовые процессоры - это наиболее широко используемый вид прикладных программ. Они позволяют подготавливать документы гораздо быстрее и удобнее, чем с помощью пишущей машинки.[10]

ОС типа DOS стала доминирующей с появлением 16-разрядных ПЭВМ, использующих 16-разрядные микропроцессоры типа 8088 и 8086. С точки зрения долголетия ни одна операционная система для микрокомпьютеров не может даже приблизиться к DOS. С момента появления в 1981 году DOS распространилась настолько широко, что завоевала право считаться самой популярной в мире ОС. Несмотря на некоторые свои недостатки и на то, что большая ее часть основывается на разработках 70-х годов, DOS продолжает существовать и распространяться и поныне. Хорошо это или плохо, она, вероятно, будет доминировать на рынке операционных систем в течение ближайшего времени. В настоящее время для DOS разработан огромный фонд программного обеспечения. Имеются трансляторы (Транслятор - программа, автоматически преобразующая программу на языке программирования в последовательность инструкций. Разновидности трансляторов - компилятор, интерпретатор) для практически всех популярных языков высокого уровня, включая Бейсик, Паскаль, Фортран, Си, Модула-2, Лисп, Лого, АПЛ, Форт, Ада, Кобол, ПЛ-1, Пролог, Смолток и др.; причем для большинства языков существует несколько вариантов трансляторов. Имеются инструментальные средства для разработки программ в машинных кодах - ассемблеры, символьные отладчики и др. Эти инструментальные средства сопровождаются редакторами, компоновщиками и другими сервисными системами, необходимыми для разработки сложных программ. Кроме системного программного обеспечения для DOS создано множество прикладных программ.

ОС система DOS состоит из следующих частей:

Базовая система ввода-вывода (BIOS), находящаяся в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) компьютера. Эта часть ОС является «встроенной» в компьютер. Её назначение состоит в выполнении наиболее простых и универсальных услуг ОС, связанных с осуществлением ввода-вывода. Базовая система ввода-вывода содержит также тест функционирования компьютера , проверяющий работу памяти и устройств компьютера при включении его электропитания. Кроме того, базовая система ввода-вывода содержит программу вызова загрузчика ОС.

Загрузчик ОС – это очень короткая программа, находящаяся в первом секторе каждой дискеты с ОС DOS. Функция этой программы заключается в считывании в памяти еще двух модулей ОС, которые и завершают процесс загрузки DOS.

На жестком диске (винчестере) загрузчик ОС состоит из двух частей. Это связано с тем, сто жесткий диск может быть разбит на несколько разделов (логических дисков). Первая часть загрузчика находится на первом секторе жесткого диска, она выбирает, с какого из разделов жесткого диска следует продолжить. Вторая часть загрузчика находится на первом секторе этого раздела, она считывает в память модуля DOS и передает им в управление.

Командный процессор DOS обрабатывает команды, вводимые пользователем. Некоторые команды пользователя, например Type, Dir или Cop, командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит её, то загружает в память и передает её управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команды (приглашение DOS).

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

Драйверы устройств – это специальные программы, которые дополняют систему ввода-вывода DOS и обеспечивают обслуживание новых или нестандартное использование имеющихся устройств. Например, с помощью драйверов возможна работа с «электронным диском» т.е. частью памяти компьютера, с которой можно работать так же, как и с диском. Драйверы загружаются в память компьютера при загрузки ОС, их имена указывает в специальном файле CONFIG.SYS. Такая схема облегчает добавление новых устройств позволяет делать это, не затрагивая системные файлы DOS.[11]

В начальный период развития персональных компьютеров была создана операционная система USCD p-system. Основу этой системы составляла так называемая П-машина - программа, эмулирующая гипотетическую универсальную вычислительную машину. П-машина имитирует работу процессора, памяти и внешних устройств, выполняя специальные команды, называемые П-кодом. Программные компоненты Пи-системы (в том числе компиляторы) составлены на П-коде, прикладные программы также компилируются в П-код. Таким образом, главной отличительной чертой системы являлась минимальная зависимость от особенностей аппаратуры ПЭВМ. Именно это обеспечило переносимость Пи-системы на различные типы машин. Компактность П-кода и удобно реализованный механизм подкачки позволял выполнять сравнительно большие программы на ПЭВМ , имеющих небольшую оперативную память.

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

В 1965-м компания American Telegraph & Telephone Bell Labs совместно с фирмой General Electric и группой исследователей из Масачусесткого технологического института творила проект Os Multics (также именуемый MAC - не путать с МасOS). Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам. Эта ОС основывалась на принципах многоуровневой защиты. Виртуальная память имела сегментно-страничную организацию, где с каждым сегментом связывался уровень доступа. Для того, чтобы какая-либо программа могла вызвать программу или обратиться к данным, располагающимся в некотором сегменте, требовалось, чтобы уровень выполнения этой программы был не ниже уровня доступа соответствующего сегмента. Также впервые в Multics была реализована полностью централизованная файловая система. То есть, даже если файлы находятся на разных физических устройствах, логически они как бы присутствуют на одном диске. В директории же указан не сам файл, а лишь линк на его физическое местонахождение. Если вдруг файла там не оказывается, умная система просит вставить соответствующий девайс. Помимо этого, в Multics наличествовал большой объем виртуальной памяти, что позволяло делать имэйджи файлов из внешней памяти в виртуальную. Увы, но все попытки наладить в системе относительно дружественный интерфейс провалились. Было вложено много денег, а результат был несколько иной, нежели хотелось ребятам из Bell Labs. Проект был закрыт. Кстати, участниками проекта значились Кен Томпсон и Денис Ритчи. Несмотря на то, что проект был закрыт, считается, что именно ОС Multics дала начало ОС Unix.[13]

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

UNIX - операционная система, которая позволяет осуществить выполнение работ в многопользовательском и многозадачном режиме. Поначалу она предназначалась для больших ЭВМ, чтобы заменить MULTICS. UNIX является очень мощным средством в руках программиста, но требует очень большого объёма ОЗУ и пространства диска. Несмотря на попытки стандартизировать эту операционную систему, существует большое количество различных его версий, главным образом потому, что она была распространена в виде программы на языке Си, которую пользователи стали модифицировать для своих собственных нужд.

Главной отличительной чертой этой системы является ее модульность и обширный набор системных программ, которые позволяли создать благоприятную обстановку для пользователей-программистов. Система UNIX органически сочетается с языком Си, на котором написано более 90% ее собственных модулей. Командный язык системы практически совпадает с языком Си, что позволяло очень легко комбинировать различные программы при создании больших прикладных систем.[14]

Windows была, наверное, первой операционной системой, которую Биллу Гейтсу никто не заказывал, а разрабатывать ее он взялся на свой страх и риск. Что в ней такого особенного? Во-первых, графический интерфейс. Такой на тот момент был только у пресловутой Мас 0S. Во-вторых, многозадачность. В общем, в ноябре 1985 вышла Windows 1.0. Основной платформой ставились 286-е машины.

Ровно через два года, в ноябре 87-го вышла Windows 2.0, через полтора года вышла 2.10. Ничего особенного в них не было. И вот, наконец, революция! Май 1990-го года, вышла Windows 3.0. Чего там только не было: и ДОС-приложения выполнялись в отдельном окне на полном экране, и Сору-Paste работал для обмена с данными ДОС - приложений, и сами Винды работали в нескольких режимах памяти: в реальном (базовая 640 Кб), в защищенном и расширенном. При этом можно было запускать приложения, размер которых превышает размер физической памяти. Имел место быть и динамический обмен данными (DDE). Через пару лет вышла и версия 3.1, в которой уже отсутствовали проблемы с базовой памятью. Также была введена новомодная функция, поддерживающая шрифты True Туре. Обеспечена нормальная работа в локальной сети. Появился Drag&Drop (перенос мышкой файлов и директорий). В версии 3.11 была улучшена поддержка сети и введено еще несколько малозначительных функций. Параллельно вышла Windows NT 3.5, которая была на тот момент сбором основных сетевых примочек, взятых из 0S/2.В июне 1995 вся компьютерная общественность была взбудоражена сообщением Microsoft о релизе в августе новой операционной системы, существенно иной, нежели Windows 3.11.

24 августа - дата официального релиза Windows 95 (другие названия: Windows 4.0, Windows Chicago).Теперь это была не просто операционная среда - это была полноценная операционная система. 32-битное ядро позволяло улучшить доступ к файлам и сетевым функциям. 32-битные приложения были лучше защищены от ошибок друг друга, имелась и поддержка многопользовательского режима на одном компьютере с одной системой. Множество отличий в интерфейсе, куча настроек и улучшений.[15]

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

Глава 2. Функции операционных систем

1.1 Общее описание функций ОС

Операционная система - это программа, которая загружается при включении компьютера. Она производит диалог с пользователем, осуществляет управление компьютером, его ресурсами (оперативной памятью, местом на дисках и т.д.), запускает другие (прикладные) программы на выполнение. Таким образом, операционная система – это набор программ, контролирующих работу прикладных программ и системных приложений и исполняющих роль интерфейса между пользователями, программистами, прикладными программами, системными приложениями и аппаратным обеспечением компьютера.[16]

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

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

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа — дисковая операционная система MS DOS.
Более развитые ОС предоставляют также следующие возможности:

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

2.1. Управление памятью

Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ, в процессе выполнения должны (по крайней мере, частично) находиться в оперативной памяти. Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память (storage, memory) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память была самым дорогим ресурсом.

Часть ОС, которая отвечает за управление памятью, называется менеджером памяти.[18]

Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную, физическую) и вторичную (внешнюю) память.

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

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

Эту схему можно дополнить еще несколькими промежуточными уровнями, как показано на рис. 1. Разновидности памяти могут быть объединены в иерархию по убыванию времени доступа, возрастанию цены и увеличению емкости.

Иерархия памяти

Рисунок 1. Уровни памяти

Многоуровневую схему используют следующим образом. Информация, которая находится в памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.[19]

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

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

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

Некоторые сегменты, описывающие адресное пространство процесса, показаны на рис. 2.

Расположение сегментов процессов в памяти компьютера

Рисунок 2. Сегменты, описывающие адресное пространство процесса

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

Адреса, к которым обращается процесс, таким образом, отличаются от адресов, реально существующих в оперативной памяти. В каждом конкретном случае используемые программой адреса могут быть представлены различными способами. Например, адреса в исходных текстах обычно символические. Компилятор связывает эти символические адреса с перемещаемыми адресами (такими, как п байт от начала модуля). Подобный адрес, сгенерированный программой, обычно называют логическим (в системах с виртуальной памятью он часто называется виртуальным) адресом. Совокупность всех логических адресов называется логическим (виртуальным) адресным пространством.[20]

Чтобы обеспечить эффективный контроль использования памяти, ОС должна выполнять следующие функции:

  • отображение адресного пространства процесса на конкретные области физической памяти;
  • распределение памяти между конкурирующими процессами;
  • контроль доступа к адресным пространствам процессов;
  • выгрузка процессов (целиком или частично) во внешнюю память, когда в оперативной памяти недостаточно места;
  • учет свободной и занятой памяти.[21]

2.2.Обеспечение интерфейса пользователя

По реализации интерфейса пользователя различают неграфические и графические операционные системы. Неграфические операционные системы реализуют интерфейс командной строки, при котором основным устройством управления является клавиатура. Управляющие команды вводят в поле командной строки, где их можно редактировать. Исполнение команды начинается после ее утверждения, например нажатием клавиши Enter.[22]

Рис. 2.1. Функции операционных систем персональных компьютеров

Графические операционные системы реализуют более сложный тип интерфейса, в котором в качестве органа управления кроме клавиатуры может использоваться мышь или адекватное устройство позиционирования. Работа с графической операционной системой основана на взаимодействии активных и пассивных экранных элементов управления. Активным элементом управления выступает указатель мыши – графический объект, перемещение которого на экране синхронизировано с перемещением мыши. В качестве пассивных элементов управления выступают графические элементы управления приложений (экранные кнопки, значки, переключатели, флажки, раскрывающиеся списки, строки меню и многие другие). Характер взаимодействия между активными и пассивными элементами управления выбирает сам пользователь. В его распоряжении приемы наведения указателя мыши на элемент управления, щелчки кнопками мыши и другие средства.[23]

2.3. Обеспечение автоматического запуска

Все операционные системы обеспечивают свой автоматический запуск. Для дисковых операционных систем в специальной (системной) области диска создается запись программного кода. Обращение к этому коду выполняют программы, находящиеся в базовой системе ввода-вывода (BIOS). Завершая свою работу, они дают команду на загрузку и исполнение содержимого системной области диска. Недисковые операционные системы используются в специализированных вычислительных системах (например, в компьютеризированных устройствах автоматического управления). Математическое обеспечение таких систем содержится в микросхемах ПЗУ и его можно условно рассматривать как аналог операционной системы, автоматический запуск которой осуществляется аппаратно. При подаче питания процессор обращается к фиксированному физическому адресу ПЗУ (его можно изменять аппаратно с использованием логических микросхем), с которого начинается запись программы инициализации операционной системы.[24]

2.4. Организация файловой системы

Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы – табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о месте нахождения файла не диске хранятся в системной области диска в FAT-таблицах – таблицах размещения файлов. Нарушение FAT-таблицы приводит к невозможности воспользоваться данными, записанными на диске. Поэтому к таблице предъявляются особые требования надежности, и она имеет дубликат. Идентичность таблиц регулярно контролируется средствами операционной системы.[25]

Наименьшей физической единицей хранения данных является сектор, размер которого равен 512 байт. Поскольку размер FAT-таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры – наименьшие единицы адресации к данным, размер которых не фиксирован и зависит от емкости диска.[26]

Для современных жестких дисков потери, связанные с неэффективностью файловой системы, весьма значительны и могут составлять от 25% до 40% полной емкости диска, в зависимости от среднего размера хранящихся файлов. С дисками же размером более 2 Гбайт файловая система FAT16 работать не может. Более совершенную организацию файловой системы обеспечивает операционная система с 32-разрядными полями в таблице размещения файлов – FAT32 . Для дисков размером до 8 Гбайт эта система обеспечивает размер кластера 4 Кбайт (8 секторов).[27]

2.5.Обслуживание файловой системы

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

- создание файлов и присвоение им имен;

- создание каталогов (папок) и присвоение им имен;

- переименование файлов и каталогов (папок);

- копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;

- удаление файлов и каталогов (папок);

- навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);

- управление атрибутами файлов.[28]

2.6.Управление установкой, исполнением и удалением приложений

С точки зрения управления исполнением приложений, различают однозадачные и многозадачные операционные системы. Однозадачные операционные системы (например, MS-DOS) передают все ресурсы вычислительной системы одному исполняемому приложению и не допускают ни параллельного выполнения другого приложения (полная многозадачность), ни его приостановки и запуска другого приложения (вытесняющая многозадачность). Параллельно с однозадачными операционными системами возможна работа только специальных резидентных программ, которые не опираются на операционную систему, а непосредственно работают с процессором, используя его систему прерываний.[29]

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

- возможность одновременной или поочередной работы нескольких приложений;

- возможность обмена данными между приложениями;

- возможность совместного использования программных, аппаратных, сетевых и прочих ресурсов вычислительной системы несколькими приложениями.[30]

Надежность вычислительной системы во многом зависит от того, как операционная система управляет работой приложений. Операционная система должна предоставлять возможность прерывания работы приложений по желанию пользователя и снятия сбойной задачи без ущерба для работы других приложений. При этом требование надежности операционной системы может входить в противоречие с требованием ее универсальности. Например, наиболее универсальные операционные системы семейства Windows 95 и Windows 98 могут испытывать общесистемные сбои из-за работы с приложениями, недостаточно четко соблюдающими их спецификацию. Операционные системы семейства Windows NT и OS/2 обладают повышенной устойчивостью и не выходят из строя при сбое приложений, но имеют меньшую универсальность, и, соответственно, парк доступных приложений для них ограничен. Вопрос надежности операционной системы особо остро стоит для программистов. В процессе отладки программ возможны многочисленные сбои из-за несовершенства их кода.[31]

2.7. Обеспечение взаимодействия с аппаратным обеспечением

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

Чтобы закончить работу, программа пользователя должна очистить стек, как это делается после каждого вызова процедуры. Последняя команда увеличивает указатель стека, таким образом, чтобы удалить параметры, помещенные в стек перед запросом read. Далее программа может продолжать свою работу.

В POSIX существует более 100 системных вызовов, точнее библиотечных процедур, которые выполняют эти вызовы.

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

В большинстве случаев после вызова fork дочернему процессу необходимо выполнить программный код, отличный от предназначенного для родительского процесса. Например, оболочка читает команды с терминала, запускает дочерний процесс, ждет, пока дочерний процесс выполнит команду и читает следующую команду после завершения работы дочернего процесса. Ожидая, пока дочерний процесс закончит работу, родительский процесс выполняет системный вызов waitpid, который ожидает завершения дочернего процесса (или всех дочерних процессов, если их на данный момент несколько). Для того чтобы Waitpid(pid, &statioc, options) ждал окончания дочернего процесса, задается первый параметр вызова равным -1. Когда waitpid выполнен, указатель, задаваемый вторым параметром, устанавливается на статус завершения дочернего процесса (нормальное или аварийное завершение и выходное значение). Третий параметр определяет различные необязательные настройки.[32]

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

При копировании файла из одного файла в другой (file1 в файл file2) используется команда:

ср filel file2

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

main(argc, argv, envp)+-

Параметр argc указывает количество записей в командной строке, включая имя программы. Параметр argv является указателем на массив указателей. Элемент i массива указывает на i-ю запись в командной строке. Параметр envp – указатель на массив строковых переменных окружения вида: имя=величина, которые используются для передачи программе информации типа терминала или имя каталога.

В UNIX под процессы отводится часть памяти, которая, в свою очередь, делится на три сегмента: текстовый (код программы), сегмент данных (переменные) и сегмент стека. Сегмент данных увеличивается снизу вверх, а стек увеличивается сверху вниз. Между ними находится часть неиспользованного адресного пространства. Стек автоматически занимает нужную ему часть участка памяти, но расширение сегмента данных выполняется явным образом. Для этого используется специальный системный вызов brk, задающий новый адрес для границы сегмента данных.[33]

Многие системные вызовы имеют отношение к файловой системе. Чтобы прочитать или записать файл, его сначала нужно открыть при помощи вызова open(file, how, ...). Для этого вызова указывается имя открываемого файла (задается абсолютный путь файла или ссылка на рабочий каталог) и код, означающий, что файл открывается для чтения, записи или того и другого. Возвращаемый дескриптор файла употребляется при чтении или записи. Файл закрывается с помощью вызова close, который делает дескриптор файла доступным при следующем открытии (open).

Несмотря на то, что большинство программ читает и записывает файлы с помощью последовательного доступа, некоторым прикладным программам необходима возможность доступа к любой, случайно выбранной части файла. Связанный с каждым файлом указатель содержит текущую позицию в файле. Когда чтение (запись) осуществляется последовательно, он обычно указывает на байт, который должен быть прочитан (записан) следующим. Вызов lseek(fd, offset, whence) может изменить значение позиции указателя, так что следующий вызов read или write начнет операцию в другой части файла. Первый параметр является идентификатором файла, второй – определяет позицию в файле, третий – указывает, является ли второй параметр позицией в файле относительно начала файла, относительно текущей позиции или относительно конца файла. Вызов lseek возвращает абсолютную позицию в файле после изменения указателя.

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

Вызовы mkdir и rmdir соответственно создают и удаляют пустые каталоги. Вызов link разрешает одному файлу появляться под двумя или более именами, часто в разных каталогах. Этот вызов обычно используется, когда несколько программистов, работающих в одной команде, должны совместно использовать один общий файл. Вызов mount позволяет объединять в одну две файловые системы. Например: на жестком диске находится корневая файловая система, содержащая исполняемые версии общих команд и наиболее часто используемые файлы. Пользователю нужно прочитать файлы с гибкого диска. При помощи системного вызова mount файловая система с гибкого диска присоединяется к корневой файловой системе, например:

mount("/dev/fdO", "/mnt", 0);

Первый параметр определяет имя специального блочного файла на диске О, второй – место в дереве, куда будет вмонтирована файловая система, третий – указывает какая встроенная файловая система монтируется: для чтения и записи или только для чтения. После выполнения вызова mount доступ к файлу на диске О можно получить, указав его путь из корневого или рабочего каталога. Когда файловая система не нужна, ее демонтируют с помощью системного вызова umount.[34]

ЗАКЛЮЧЕНИЕ

В процессе выполнения  работы была достигнута поставленная цель - исследовать понятие операционных систем.

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

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

Список использованной литературы

1. Борисов М.В. Основы информатики и вычислительной техники./М.В. Борисова – Ростов н/Д: Феникс, 2006 – 224с.

2. П.П. Беленького Информатика. Серия Учебники, учебные пособия – Ростов н/Д: Феникс, 2003 – 189с.

3. Васильев Б.М. Операционные системы – М.: Знание, 1990 – 432с.

4. Владимир Волков «Понятный самоучитель работы в Windows». «Питер», С-Пб.2001 – 321с.

6. Зараев А.В. Новая энциклопедия персонального компьютера. Самое полное и доступное руководство для пользователя. – М: Эксмо 2004 - 258с.

7. Партыка Т. Л., Попов И.И. «Операционные системы, среды и оболочки» Учебное пособие. – М.: ФОРУМ:ИНФРА-М, 2006 - 287с.

8. Черноскутовая И.А. Информатика. Учебное пособие для среднего профессианального образования - СПб.: Питер, 2005 – 199с.

9. Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – 432с.

10. Таненбаум Э.Современные операционные системы. - СПб.: Питер, 2010. – 125с.

11. Марапулец Ю.В. Операционные системы. - Издательство: КамчатГТУ, 2008. – 242с.

12. Эффективная работа: Windows – Сулацкая И.М.СПб.: Питер, 2008. – 1553с.

13. Назаров С.В. ЭФФЕКТИВНОСТЬ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ // Современные информационные технологии и ИТ-образование. - 2017. - №2. - С.10 - 14.

14. Брыкова Е. И. Основные принципы построения безопасных операционных систем // Управление, вычислительная техника и информатика. - 2013. - №2. - С.23 - 25.

15. Малышев Д.А. Общая схема взаимодействия при развертывании операционных систем // Вестник Череповецкого государственного университета - 2013. - №2. - С.10-14.

16. Воробьев Д.Н., Камкин А.С. Генерация тестовых программ для подсистемы управления памятью // Труды Института Системного Программирования РАН. - 2009. - №2. - С.119-122.

17. Горбанёва И.В., Мартышкин А.И. Программный комплекс для оценки производительности основных функций операционных систем // TECHNICAL SCIENCES. - 2010. - №2. – С 278-281.

18. Понятие операционной системы. URL: http://osys.ru/os/1/ponyatie_operatsionnoy_sistemy.shtml. (Дата обращения: 16.11.2019).

19. Операционные системы коллективного пользования – многопользовательские, многозадачные. Основные сведения о функционировании. URLhttps://studopedia.org/5-77984.html. (Дата обращения: 16.11.2019).

20. Операционные системы семейства UNIX. URL http://chernykh.net/content/view/892/973/. 15. История операционных систем. URL https://www.linux.org.ru/forum/talks/443404. (Дата обращения: 16.11.2019).

21. Операционные системы URL http://unesco.kemsu.ru/study_work/method/informatics/book/chapter14.html. (Дата обращения: 16.11.2019).

  1. Назаров С.В. Эффективность современных операционных систем // Современные информационные технологии и ИТ-образование. - 2017. - №2. - С.10.

  2. Брыкова Е. И. Основные принципы построения безопасных операционных систем // Управление, вычислительная техника и информатика. - 2013. - №2. - С.23.

  3. Понятие операционной системы. URL: http://osys.ru/os/1/ponyatie_operatsionnoy_sistemy.shtml. (Дата обращения: 16.11.2019).

  4. Малышев Д.А. Общая схема взаимодействия при развертывании операционных систем // Вестник Череповецкого государственного университета - 2013. - №2. - С.10.

  5. Брыкова Е. И. Основные принципы построения безопасных операционных систем // Управление, вычислительная техника и информатика. - 2013. - №2. - С.23.

  6. Борисов М.В. Основы информатики и вычислительной техники./М.В. Борисова – Ростов н/Д: Феникс, 2006. – С. 36.

  7. П.П. Беленького Информатика. Серия Учебники, учебные пособия – Ростов н/Д: Феникс, 2003. – С. 142.

  8. Операционные системы коллективного пользования – многопользовательские, многозадачные. Основные сведения о функционировании. URLhttps://studopedia.org/5-77984.html. (Дата обращения: 16.11.2019).

  9. Зараев А.В. Новая энциклопедия персонального компьютера. Самое полное и доступное руководство для пользователя. – М: Эксмо 2004. – С. 89.

  10. Черноскутовая И.А. Информатика. Учебное пособие для среднего профессианального образования - СПб.: Питер, 2005. – С. 124.

  11. Партыка Т. Л., Попов И.И. «Операционные системы, среды и оболочки» Учебное пособие. – М.: ФОРУМ:ИНФРА-М, 2006. – С. 210

  12. Васильев Б.М. Операционные системы – М.: Знание, 1990. – С. 89.

  13. История операционных систем. URL https://www.linux.org.ru/forum/talks/443404. (Дата обращения: 16.11.2019).

  14. Операционные системы семейства UNIX. URL http://chernykh.net/content/view/892/973/. (Дата обращения: 16.11.2019).

  15. Волков В. Понятный самоучитель работы в Windows. «Питер», С-Пб.2001. – С. 35.

  16. Таненбаум Э.Современные операционные системы. - СПб.: Питер, 2010. – С. 89.

  17. Операционные системы: назначение, классификация, примеры. URL https://studopedia.org/8-67934.html. (Дата обращения: 16.11.2019).

  18. Воробьев Д.Н., Камкин А.С. Генерация тестовых программ для подсистемы управления памятью // Труды Института Системного Программирования РАН. - 2009. - №2. - С.119.

  19. Организация памяти компьютера. Простейшие схемы управления памятью. URL http://aad.tpu.ru/OS/os/osintro/8/1.html. (Дата обращения: 16.11.2019).

  20. Организация памяти компьютера. Простейшие схемы управления памятью. URL http://aad.tpu.ru/OS/os/osintro/8/1.html. (Дата обращения: 16.11.2019).

  21. Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – С . 437.

  22. Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – С . 432.

  23. Организация памяти компьютера. Простейшие схемы управления памятью. URL http://aad.tpu.ru/OS/os/osintro/8/1.html. (Дата обращения: 16.11.2019).

  24. Операционные системы URL http://unesco.kemsu.ru/study_work/method/informatics/book/chapter14.html. (Дата обращения: 16.11.2019).

  25. Воробьев Д.Н., Камкин А.С. Генерация тестовых программ для подсистемы управления памятью // Труды Института Системного Программирования РАН. - 2009. - №2. - С.119.

  26. Эффективная работа: Windows – Сулацкая И.М.СПб.: Питер, 2008. – С. 1069.

  27. Черноскутовая И.А. Информатика. Учебное пособие для среднего профессианального образования - СПб.: Питер, 2005. – С. 122.

  28. Партыка Т. Л., Попов И.И. «Операционные системы, среды и оболочки» Учебное пособие. – М.: ФОРУМ:ИНФРА-М, 2006. – С. 242.

  29. Горбанёва И.В., Мартышкин А.И. Программный комплекс для оценки производительности основных функций операционных систем // TECHNICAL SCIENCES. - 2010. - №2. – С 278.

  30. Марапулец Ю.В. Операционные системы. - Издательство: КамчатГТУ, 2008. – С. 37.

  31. Таненбаум Э.Современные операционные системы. - СПб.: Питер, 2010. – С. 114.

  32. Марапулец Ю.В. Операционные системы. - Издательство: КамчатГТУ, 2008. – С. 46.

  33. Горбанёва И.В., Мартышкин А.И. Программный комплекс для оценки производительности основных функций операционных систем // TECHNICAL SCIENCES. - 2010. - №2. – С 278.

  34. Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. – СПб.: Питер, 2011. – С . 416.