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

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

Содержание:

Введение

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

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

Главные качества операционных систем для пользователя являются: отказоустойчивость, безопасность, скорость, совместимость периферийных устройств. Также есть и многие другие аспекты ОС, которые так же важны для нормального функционирования операционной системы. Но к сожалению в наше время, безопасность операционных систем стала главной проблемной для человечества в сфере Информационных технологий. А скорость и отказоустойчивость системы стали главной целью в гонке за лидерство Компаний-разработчиков.

Сейчас разработку ОС ведут: компания Microsoft Corporation (как правило, упоминается просто как Microsoft, распространено сокращение MS) -Одна из крупнейших транснациональных компаний по производству проприетарного программного обеспечения для различного рода вычислительной техники – персональных компьютеров, игровых приставок, КПК, мобильных телефонов и прочего, разработчик наиболее широко распространенной на данный момент в мире программной платформы – семейства операционных систем Windows.

Apple Inc. – Американская корпорация, производитель персональных компьютеров, аудиоплееров, телефонов, программного обеспечения. Один из пионеров в области персональных компьютеров и современных многозадачных операционных систем с графическим интерфейсом. Mac OS (Macintosh Operating System) – семейство проприетарных операционных систем. Разработана для линейки персональных компьютеров Macintosh. Популяризация графического интерфейса пользователя в современных ОС часто считается заслугой Mac OS. Она была впервые представлена в 1984 году вместе с персональным компьютером Macintosh 128K.

Linux – общее название Unix-подобных операционных систем, основанных на одноименном ядре. Ядро Linux создается и распространяется в соответствии с моделью разработки свободного и открытого ПО. Поэтому общее название не подразумевает какой-либо единой «официальной» комплектации Linux; они распространяются бесплатно в виде различных готовых дистрибутивов. Первый релиз системы состоялся 5 октября 1991 года.

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

Наиболее известные дистрибутивы:

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

Ubuntu – дистрибутив основанный на Debian и быстро завоевавший популярность. Поддерживается сообществом разработчиков Canonical Ltd. Основная сборка ориентирована на легкость в освоении и использовании, при этом существуют серверная и минимальная сборки.

Linux Mint – дистрибутив, основанный на Ubuntu и полностью с ним совместимый, включающий в себя по умолчанию Java, Adobe Flash и многое другое.

Fedora – поддерживается сообществом и корпорацией RedHat, предшествует выпускам коммерческой версии RHEL (Red Hat Enterprise Linux).

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

Понятие

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

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

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

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

Во-вторых, операционная система предоставляет возможность запуска программ. Для этого производится ряд действий, скрытых от пользователя: следует загрузить в основную память команды и данные, ини­циализировать устройства ввода-вывода и файлы, а также подготовить дру­гие ресурсы. Операционная система выполняет всю эту рутинную работу вместо пользователя.

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

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

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

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

Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.

Операционные системы нужны:

-Если нужен универсальный механизм сохранения данных

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

-Для распределения полномочий

-Необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере

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

Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:

-Использующие файловые системы (с универсальным механизмом доступа к данным)

-Многопользовательские (с разделением полномочий)

-Многозадачные (с разделением времени)

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

-Ядро

-Системные библиотеки

-Оболочка с утилитами

1. Развитие и основные идеи

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

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

1.1. Пакетный режим

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

1.2. Разделение времени и многозадачность

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.

1.3. Разделение полномочий

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

Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенным при запуске программы на исполнение).

1.4. Масштаб реального времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «масштаба реального времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.

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

1.5. Файловые системы и структуры

Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).

Файловая система — способ хранения данных на внешних запоминающих устройствах.

2. Функции

2.1. Основные функции

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

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

Ввод и вывод в информатике — взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять, как человек, так и любая другая система обработки информации. Ввод — сигнал или данные, полученные системой, а вывод — сигнал или данные, посланные ею (или из неё). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод-вывод» означает выполнение операций ввода или вывода. Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши — специально разработанные компьютерные устройства ввода, а мониторы и принтеры — компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно

-Загрузка программ в оперативную память и их выполнение

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

-Стандартизированный доступ к периферийным устройствам (устройства ввода-вывода)

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

Основные компоненты подсистемы:

1. Драйвер – компьютерное программное обеспечение, с помощью которого другое программное обеспечение(ОС) получает доступ к аппаратному обеспечению некоторого устройства.

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

3. Диспетчер прерываний - Одним из важных аспектов, связанных с эксплуатацией различных устройств в ОС, является своевременная и оперативная обработка аппаратных прерываний. Учитывая широкий спектр разработчиков устройств, практически не возможно выработать унифицированный механизм поведения ОС при получении того или иного аппаратного прерывания (в дальнейшем IRQ).

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

Вторым по важности кандидатом в плане обслуживания устройств выступает платформа, к которой физически подключаются аппаратура устройств, расширяющих функциональность платформы. В частности платформа 0x86 нормирует количество линий IRQ, ограничивая их количество 16. Являясь "кабальным" условием для работы, подключаемой к платформе 0x86 аппаратуры, оно предоставляет только единственный выход из подобного положения параллельного подключения устройств на канал IRQ. Сгруппированные на один физический канал IRQ устройства пользуются им последовательно, обозначив признак принадлежности прерывания физическому устройству через запись в адресное пространство портов В/В или памяти метки идентификатора. Естественно, что точный адрес местоположения и содержимое идентификационной метки известно только драйверу, управляющему работой устройства. Недопущение группировки на один физический канал, так же возможно при работе с устройствами монопольно использующими каналы IRQ

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

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

-Управление доступом к данным на энергонезависимых носителях (таких как жесткий диск, оптические диски и др.), организованным в той или иной файловой системе

Одной из основных задач ОС является предоставление удобств пользователю при работе с данными, хранящихся на дисках. Для этого ОС подменяет физическую структуру хранящих данных некоторой удобной для пользователя логической моделью, которая реализуется в виде дерева каталогов, выводимого на экран такими утилитами как Norton Commander, Far Manager или Windows Explorer. Базовым элементом этой модели является файл, который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.

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

-Именование файлов

-Программный интерфейс

-Отображение логической модели файловой системы

-Устойчивость файловой системы к сбоям питания и ошибкам

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

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

Еще более сложным становится функции файловой системы, которая работает в составе сетевой ОС.

-Обеспечение пользовательского интерфейса

-Сохранение информации об ошибках системы

2.2. Дополнительные функции

-Параллельное или псевдопараллельное выполнение задач (многозадачность).

Свойство операционной системы или среды выполнения обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах.

Существует два типа многозадачности:

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

2. Поточная многозадачность (основанная на потоках). Наименьший элемент управляемого кода — поток (одна программа может выполнять 2 и более задачи одновременно)

-Эффективное распределение ресурсов вычислительной системы между процессами

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

-Взаимодействие между процессами: обмен данными, взаимная синхронизация

-Защита самой системы, а также пользовательских данных от действия пользователей (злонамеренных или по незнанию) или приложений

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

2.3. Компоненты ОС

-Загрузчик

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

Загрузчик операционной системы:

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

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

3. Загружает ядро операционной системы (Ntoskrnl.exe в случае MS Windows) в ОЗУ. Загрузка ядра операционной системы не обязательно происходит с жесткого диска. Загрузчик может получать ядро по сети. Ядро может храниться в ПЗУ или загружаться через последовательные интерфейсы (это может пригодиться на ранней стадии отладки создаваемой компьютерной системы);

4. формирует параметры, передаваемые ядру операционной системы (например, ядру Linux передаются параметры, указывающие способ подключения корневой файловой системы);

5. Предает управление ядру системы.

На компьютерах архитектуры IBM PC запуск загрузчика осуществляется программным обеспечением BIOS, записанной в ПЗУ компьютера, после успешного окончания процедуры POST

-Ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система (это самый важный компонент);

-Системные библиотеки

-Оболочка с утилитами

Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.

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

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

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

Объекты ядра ОС:

-Процессы

-Файлы

-События

-Потоки

-Семафоры

-Мьютексы

-Каналы

-Файлы, проецируемые в память

-Командный процессор

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

-Драйверы устройств

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

В общем случае драйвер не обязан взаимодействовать с аппаратными устройствами, он может их только имитировать (например, драйвер принтера, который записывает вывод из программ в файл), предоставлять программные сервисы, не связанные с управлением устройствами (например, /dev/zero в Unix, который только выдаёт нулевые байты), либо не делать ничего (например, /dev/null в Unix и NUL в DOS/Windows).

Виртуальные драйверы - представляют собой особый вариант драйверов. Они используются для эмуляции аппаратного устройства, особенно в средах виртуализации, например, когда программа DOS запускается на компьютере с Microsoft Windows или когда гостевая операционная система работает на хостинге Xen.

-Встроенное программное обеспечение (Прошивка)

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

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

Прошивка памяти осуществляется при изготовлении устройства различными способами — например, установкой микросхемы памяти с записанным содержимым («прошитой»).

Большинство устройств допускает замену содержимого памяти («перепрошивку»). Способы «перепрошивки» могут быть самыми различными — от физической замены микросхемы памяти до передачи данных по беспроводным каналам.

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

3. Операционные системы сегодня

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

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

Впервые перспективность графического пользовательского интерфейса осознали основатели компании Apple Стивен Джобс и Стивен Возняк, увидевшие его в одной из исследовательских лабораторий Xerox. Их первый компьютер, выпущенный в 1983 году, обладал графическим пользовательским интерфейсом, а годом позже появился первый Macintosh с операционной системой Mac OS, которая в течение долгого времени была самой популярной операционной системой подобного класса.

3.1. Windows

Сегодня наиболее популярными операционными системами для конечных пользователей являются члены семейства продуктов Microsoft Windows, которые занимают в настоящее время основную долю рынка. Компания Microsoft начала работу над операционной системой с графическим пользовательским интерфейсом в 1981 году. Первая версия Windows, выпущенная в ноябре 1985 года, обладала гораздо меньшими возможностями, чем Mac OS, и вплоть до выпуска в 1990-м Windows 3.0 эта ОС была не слишком известной. Ситуация начала меняться с выходом версий 3.1 и 3.11, а умелая маркетинговая кампания в середине 90-х годов привела к резкому росту популярности Windows 95 и последующих продуктов этого семейства на рынке операционных систем для корпоративных рабочих станций и для домашних компьютеров.

-Семейство Windows 9x

Первая система данного семейства Windows 95  была выпущена в 1995 году. Её отличительными особенностями являлись: новый пользовательский интерфейс, поддержка длинных имён файлов, автоматическое определение и конфигурация периферийных устройств Plug and Play, способность исполнять 32-битные приложения и наличие поддержки TCP/IP прямо в системе. Windows 95 использовала вытесняющую многозадачность и выполняла каждое 32-битное приложение в своём адресном пространстве. К данному семейству относятся также Windows 98 и Windows Me.

Операционные системы этого семейства не являлись безопасными многопользовательскими системами как Windows NT, поскольку из соображений совместимости вся подсистема пользовательского интерфейса и графики оставалась 16-битной и мало отличалась от той, что в Windows 3.x. Так как этот код не был потокобезопасным, все вызовы в подсистему оборачивались в мьютекс по имени Win16Lock, который, кроме того, ещё и находился всегда в захваченном состоянии во время исполнения 16-битного приложения. Таким образом, «повисание» 16-битного приложения немедленно блокировало всю ОС. Но уже в 1999 году вышло второе исправленное издание. Программный интерфейс был подмножеством Win32 API, поддерживаемым Windows NT, но имел поддержку юникода в очень ограниченном объёме. Также в нём не было должного обеспечения безопасности (списков доступа к объектам и понятия «администратор»). В составе Windows 95 присутствовал MS-DOS 7.0, однако его роль сводилась к обеспечению процесса загрузки и исполнению 16-битных DOS приложений. Исследователи заметили, что ядро Windows 95 — VVM — обращается к DOS под собой, но таких обращений довольно мало, главнейшая функция ядра DOS — файловая система FAT — не использовалась. В целом же интерфейс между VMM и нижележащей DOS никогда не публиковался, и DOS была замечена Эндрю Шульманом (книга «Недокументированный Windows 95») в наличии недокументированных вызовов только для поддержки VMM.

-Семейство Windows NT

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

Семейство Windows NT относится к операционным системам с вытесняющей многозадачностью. Разделение процессорного времени между потоками происходит по принципу «карусели». Ядро операционной системы выделяет квант времени (в Windows 2000 квант равен примерно 20 мс) каждому из потоков по очереди при условии, что все потоки имеют одинаковый приоритет. Поток может отказаться от выделенного ему кванта времени. В этом случае система перехватывает у него управление (даже если выделенный квант времени не закончен) и передаёт управление другому потоку. При передаче управления другому потоку система сохраняет состояние всех регистров процессора в особой структуре в оперативной памяти. Эта структура называется контекстом потока. Сохранения контекста потока достаточно для последующего возобновления его работы.

-Windows 10

Windows 10 — операционная система для персональных компьютеров, разработанная корпорацией Microsoft в рамках семейства Windows NT. После Windows 8 система получила номер 10, минуя 9.

Система призвана стать единой для разных устройств, таких как персональные компьютеры, планшетыб, смартфоны, консоли Xbox One и пр. Доступна единая платформа разработки и единый магазин универсальных приложений, совместимых со всеми поддерживаемыми устройствами. Windows 10 поставляется в качестве услуги с выпуском обновлений на протяжении всего цикла поддержки. В течение первого года после выхода системы пользователи могут бесплатно обновиться до Windows 10 на устройствах под управлением легальных Windows 7, Windows 8.1 и Windows Phone 8.1. Среди значимых нововведений — голосовая помошница Кортана, возможность создания и переключения нескольких рабочих столов и др. Windows 10 — последняя «коробочная» версия Windows, все последующие версии будут распространяться исключительно в цифровом виде.

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

Windows 10 — первая операционная система Microsoft, которая официально распространяется не только с серверов поставщика, но и с  компьютеров ее пользователей, по принципу протокола BitTorrent. По такому же принципу распространяются и обновления Windows 10, причём эта настройка включена по умолчанию, то есть, если у пользователя лимитированный трафик, тариф с оплатой за объём трафика или скорость подключения к сети не позволяет излишне нагружать линию связи — то эту опцию следует отключить. Так же имеется возможность оставить обмен обновлениями только между компьютерами локальной сети.

В течение первого года после выхода системы пользователи смогут бесплатно обновиться до Windows 10 на любом устройстве под управлением официальных версий Windows 7, Windows 8.1 и Windows Phone 8.1, соответствующим определённым требованиям.

3.2. Ubuntu

Ubuntu (от зулу ubuntu — человечность; «Убу́нту») — операционная система, основанная на Debian GNU\Linux. Основным разработчиком и спонсором является компания Canonical. В настоящее время проект активно развивается и поддерживается свободным сообществом.

По утверждениям Canonical, Ubuntu используется примерно 20 миллионами пользователей. Он является 4-м в списке самых популярных дистрибутивов Linux для веб-серверов. По количеству пользователей, посетивших сайт DistroWatch.com (на апрель 2016 года) занимает 3-е место.

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

Версии LTS, выпускаемые раз в 2 года, поддерживаются в течение 5 лет — как серверные, так и десктопные варианты. (До версии 12.04 LTS срок поддержки для десктопных LTS-версий составлял 3 года.) На другие дистрибутивы LTS семейства Ubuntu действует полная поддержка в 3 года,  а для основы системы (ядро, Xorg и прочие компоненты) — 5 лет.

-Особенности

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

Ubuntu, кроме того, имеет развитую интернационализацию, обеспечивающую максимальную доступность для представителей разных языковых групп. С версии 5.04 кодировкой по умолчанию является UTF-8.

Ubuntu для работы рекомендуется от 512 мегабайт RAM и, при установке на жёсткий диск, от пяти гигабайт свободного пространства, а предельно минимальные требования гораздо ниже.

Ubuntu (до версии 11.04) была основана на системе рабочего стола GNOME, которая разработана, чтобы обеспечить свободный, простой и интуитивный интерфейс, предлагая полный диапазон современных настольных приложений. Помимо тех приложений, которые включены в GNOME, Ubuntu выходит с дополнительным программным обеспечением, включая LibreOffice (OpenOffice.org до версии 11.04), web-браузер Mozila Firefox.

Версия 6.06 и более поздние объединяют LiveCD и установочный CD в один компакт-диск. Этот диск загружает рабочий стол со всеми возможностями, давая пользователям возможность видеть, поддерживаются ли их аппаратные средства, и экспериментировать с доступными приложениями, и уже затем устанавливать Ubuntu на жёсткий диск, используя графический инсталлятор Ubiquity («вездесущность»). Однако можно перейти сразу непосредственно к установке. Инсталляционный процесс сохраняет документы, созданные на «живом» рабочем столе. Альтернативная установка, использующая debian-installer, доступна для скачивания и нацелена на людей, разбирающихся в системе на более глубоком уровне, администраторов, устанавливающих много систем, и для сложного разбиения дисков, включая использование LVM или RAID, а также для установки с объёмом оперативной памяти менее 192 мегабайт. Также в дистрибутив входит программа создания загрузочного LiveUSB на базе USB Flash-диска, обладающего всеми возможностями LiveCD и установочного CD. Это удобно для использования, например, на нетбуках. Однако на старых компьютерах не всегда есть опция загрузки с USB-флеш-накопителя.

Пользовательский интерфейс по умолчанию в ранних версиях характеризовался оттенками коричневого и оранжевого цветов. Ubuntu имеет дополнительный пакет, названный ubuntu-calendar, который загружает новые обои, соответствующие коричневой цветовой теме, каждый месяц. В прошлом на этих обоях присутствовали частично обнажённые люди, поэтому они критиковались как рискованные. Это приводило к созданию таких прозвищ, как «Linuxxx». В интерфейсе Ubuntu проведён ребрендинг, заметный с версии 10.04: изменён логотип, цветовая гамма изменена с оттенков коричневого и оранжевого в сторону чёрного и фиолетового. По мнению некоторых пользователей, новый интерфейс Ubuntu стал напоминать интерфейс Mac OS X. При разработке компонентов Ubuntu активно используется язык программирования Python.

3.3. OS X

OS X  (Mac OS X до версии 10.7 включительно) — проприетарная операционная система производства Apple. Является преемницей Mac OS 9.

Семейство операционных систем OS X является вторым по распространённости (после Windows). Рыночная доля OS X (учитываются все версии) по состоянию на апрель 2016 составляет от 9,57% до 9,66%. Самой популярной версией OS X является El Capitan (3,94% среди всех ОС); за ней следуют Yosemite (2,53%) и Mavericks (1,25%).

В OS X используется ядро XNU, основанное на микроядре Mach и содержащее программный код, разработанный компанией Apple, а также код из ОС NeXTSTEP и FreeBSD. До версии 10.3 OS X работала только на компьютерах с процессорами PowerPC. Выпуски 10.4 и 10.5 поддерживали как PowerPC-, так и Intel-процессоры. Начиная с 10.6, OS X работает только с процессорами Intel.

В последние годы отмечается взаимная интеграция OS X и iOS — операционной системы для мобильных устройств Apple (iPhone, iPad и iPod touch). Сама компания рассматривает две ОС как единую платформу. На презентации Back to the Mac в 2010 году Стив Джобс, анонсируя OS X Lion, упомянул о важности обмена наработками между OS X и iOS: так, в Lion появилась поддержка мультитач-жестов на трекпаде (аналогичных жестам на iPad). В последующих выпусках OS X также наблюдалась тенденция к заимствованию функций из iOS (и наоборот). Например, в OS X Yosemite и iOS 8 была добавлена технология Handoff, позволяющая «перехватывать» с одного устройства приложения, запущенные на другом: начать набирать письмо на Mac, а закончить на iPad; открыть веб-страницу на iPhone и продолжить чтение на Mac и т. д.

OS X значительно отличается от предыдущих, «классических» версий Mac OS. Основа системы — POSIX-совместимая операционная система Darwin, являющаяся свободным программным обеспечением. Её ядром является XNU, в котором используется микроядро Mach и стандартные службы BSD. Все возможности Unix в OS X доступны через консоль.

Поверх этой основы в Apple разработано много проприетарных компонентов, таких как Cocoa и Carbon, Quartz.

OS X отличается высокой устойчивостью, что делает её непохожей на предшественницу, Mac OS 9.

В OS X (как и в любой UNIX-системе) используется вытесняющая многозадачность и защита памяти, позволяющие запускать несколько изолированных друг от друга процессов, каждый из которых не может прервать или модифицировать все остальные. На архитектуру OS X повлияла OpenStep, которая была задумана как переносимая операционная система (например, NeXTSTEP была перенесена с оригинальной платформы 68k компьютера NeXT до приобретения NeXTSTEP компанией Apple). Аналогичным образом OpenStep была перенесена на PowerPC в рамках проекта Rhapsody.

Наиболее заметно изменился графический интерфейс, который в OS X получил название Aqua. Использование закруглённых углов, полупрозрачных элементов и светлых полосок также повлияло на внешний вид первых моделей iMac. После выхода первой версии OS X другие разработчики тоже стали использовать интерфейс Aqua. Для предотвращения использования своего дизайна на других платформах Apple воспользовалась услугами юристов.

4. Список литературы

  • Гордеев А. В. Операционные системы: Учебник для вузов. — 2-е изд. — СПб.: Питер, 2007. — 416 с. — ISBN 978-5-94723-632-3.
  • Деннинг П. Дж., Браун Р. Л. Операционные системы // Современный компьютер. — М., 1986.
  • Керниган Б. У.Пайк Р. У. UNIX — универсальная среда программирования = The UNIX Programming Environment. — М., 1992.
  • Таненбаум Э. С. Многоуровневая организация ЭВМ = Structured Computer Organization. — М.: Мир, 1979. — 547 с.
  • Шоу А. Логическое проектирование операционных систем = The Logical Design of Operating Systems. — М.: Мир, 1981. — 360 с.
  • Рэймонд Э. С. Искусство программирования для UNIX = The Art of UNIX Programming. — М.: Вильямс, 2005. — 544 с. — ISBN 5-8459-0791-8.
  • Mark G. Sobell. UNIX System V. A Practical Guide. — 3rd ed. — 1995.
  • Иртегов Д. В. Введение в операционные системы. — 2-е изд. — СПб.: BHV-СПб, 2007. — ISBN 978-5-94157-695-1.
  • Олифер В. Г., Олифер Н. А. Сетевые операционные системы. — СПб.: Питер, 2002. — 544 с. — ISBN 5-272-00120-6.
  • Столлингс У. Операционные системы = Operating Systems: Internals and Design Principles. — М.: Вильямс, 2004. — 848 с. — ISBN 0-1303-1999-6.
  • Ден Томашевский. Microsoft Windows 8. Руководство пользователя = Microsoft Windows 8. Руководство пользователя. — Вильямс, 2013. — С. 352. — ISBN 978-5-8459-1827-7.
  • Пол Мак-Федрис. Microsoft Windows 7. Полное руководство = Microsoft Windows 7 Unleashed. — М.: Вильямс, 2012. — С. 800. — ISBN 978-5-8459-1614-3.
  • Брайан Ливингстон, Пол Таррот. Секреты Microsoft Windows Vista = Windows Vista Secrets. — М.: Диалектика, 2007. — С. 456. — ISBN 0-7645-7704-2.
  • Гален Груман. Mac OS X Lion. Библия пользователя = Mac OS X Lion Bible. — М.: Диалектика, 2012. — 912 с. — ISBN 978-5-8459-1764-5.
  • Колисниченко Денис Николаевич. Mac OS X Lion. Руководство пользователя. — М.: Диалектика, 2011. — 416 с. — ISBN 978-5-8459-1763-8.
  • Бенжамин Мако Хилл и др. Ubuntu Linux: официальный учебный курс = The Official Ubuntu Book. — М.: Триумф, 2008. — 384 с. — ISBN 978-5-89392-332-2.
  • Колисниченко Денис Николаевич. Ubuntu 10. Библия пользователя. — М.: «Диалектика», 2010. — С. 592. — ISBN 978-5-8459-1645-7.