Файл: Функции операционных систем персональных компьютеров (Функции операционных систем ПК).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 120

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ОС с вытесняющей многозадачностью, когда в зависимости от ситуации система самостоятельно передает или забирает управление у той или иной задачи, что позволяет разделять все аппаратные ресурсы между различными приложениями (Windows, OS/2, UNIX)[12].

По числу процессоров:

Однопроцессорные ОС;

Многопроцессорные ОС.

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

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

Поддержка мультипроцессирования является важным свойством операционных систем и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в операционных системах: Linux, Solaris, Windows NT и др.

По разрядности кода:

8-разрядные ОС;

16-разрядные ОС;

32-разрядные ОС;

64-разрядные ОС.

Разрядность показывает, какую разрядность внутренней шины данных центрального процессора способна поддержать операционная система, и определяет программы, с которыми она будет работать. Разрядность кода интерфейса прикладных программ имеет непосредственное отношение к адресному пространству оперативного запоминающего устройства (ОЗУ)[14].

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

Однопотоковые ОС (MS DOS);

Многопотоковые ОС, когда система разбивает одну задачу на несколько потоков и выполняет их независимо друг от друга, отслеживая процесс выполнения. В случае остановки какого-либо потока система автоматически загружает новый поток, систематически распределяя время между ними с учетом их приоритетов (Windows, OS/2, UNIX).

По возможности управления сетевыми ресурсами:

Локальные ОС;

Сетевые ОС – системы, предназначенные для управления ресурсами компьютеров, объединенных в сеть с целью совместного использования данных, которые предоставляют мощные средства разграничения доступа к данным в рамках обеспечения их целостности и сохранности, а также сервисные возможности по использованию сетевых ресурсов (Windows NT Server Novell Net Ware, OS/2 SMP и др.).


По типу лицензии:

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

свободная или открытая (большинство Linux и UNIX систем). Свобода ПО означает право пользователя свободно запускать, копировать, распространять, изучать, изменять и улучшать его.

Таким образом были рассмотрены и описаны виды операционных систем по различным критериям классификации.

1.2 Операционные системы, альтернативные Windows

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

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

OS/2 (Operating System/2) – это многозадачная, однопользовательская операционная система, обеспечивающая текстовый и графический интерфейс пользователя. Разработана в 1987 г. корпорацией IBM совместно с Microsoft. Одновременно IBM объявила о выходе на рынок семейства компьютеров PS/2 (Personal System/2). Отличается высокой надежностью и имеет достаточное число бизнес-приложений, поэтому система способна работать в самых ответственных местах, например, в серверах.

Unix[16] – это многопользовательская сетевая операционная система с достаточно простым интерфейсом, которая разработана в подразделении Computing Science Research Group американской компании Bell Labs. Очень часто используется для управления различными вычислительными сетями.

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

Идеи, заложенные в основу Unix, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время Unix-системы признаны одними из самых исторически важных ОС.


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

Вторая колоссальная заслуга Unix — в её мультиплатформенности. Ядро системы разработано таким образом, что его легко можно приспособить практически под любой микропроцессор.

Unix имеет и другие характерные особенности:

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

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

Как и Multics, Unix была написана на языке высокого уровня, а не на ассемблере (доминировавшем в то время)[17].

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

Unix популяризировала предложенную в Multics идею иерархической файловой системы с произвольной глубиной вложенности. Другие операционные системы (в том числе DOS) того времени позволяли разбивать дисковое пространство на каталоги или разделы, но число уровней вложенности было фиксировано и, зачастую, уровень вложенности был только один. Позднее все основные фирменные операционные системы обрели возможность создания рекурсивных подкаталогов, также заимствованную из Multics[18].

То, что интерпретатор команд стал просто одной из пользовательских программ, а в качестве дополнительных команд выступают отдельные программы, является ещё одной инновацией Multics[19], популяризированной Unix. Язык командной оболочки Unix используется пользователем как для интерактивной работы, так и для написания скриптов, то есть не существует отдельного языка описания заданий, как, например, в системе JCL фирмы IBM. Так как оболочка и команды операционной системы являются обычными программами, пользователь может выбирать их в соответствии со своими предпочтениями, или даже написать собственную оболочку. Наконец, новые команды можно добавлять к системе без перекомпиляции ядра. Новый, предложенный в командной строке Unix, способ создания цепочек программ, последовательно обрабатывающих данные, способствовал использованию параллельной обработки данных.


Существенными особенностями Unix были полная ориентация на текстовый ввод-вывод и предположение, что размер машинного слова кратен восьми битам[20]. Первоначально в Unix не было даже редакторов двоичных файлов — система полностью конфигурировалась с помощью текстовых команд. Наибольшей и наименьшей единицей ввода-вывода служил текстовый байт, что полностью отличало ввод-вывод Unix от ввода-вывода других операционных систем, ориентированного на работу с записями. Ориентация на использование текста для представления всего, что только можно, сделала полезными т. н. конвейеры (англ. pipelines). Ориентация на текстовый восьмибитный байт сделала Unix более масштабируемой и переносимой, чем другие операционные системы. Со временем текстовые приложения одержали победу и в других областях, например, на уровне сетевых протоколов, таких как Telnet, FTP, SMTP, HTTP и других.

Unix способствовала широкому распространению регулярных выражений, которые были впервые реализованы в текстовом редакторе ed для Unix. Возможности, предоставляемые Unix-программам, стали основой стандартных интерфейсов операционных систем (POSIX)[21].

Широко используемый в системном программировании язык Си, созданный изначально для разработки Unix, превзошёл Unix по популярности. Язык Си был первым «веротерпимым» языком, который не пытался навязать программисту тот или иной стиль программирования. Си был первым высокоуровневым языком, предоставляющим доступ ко всем возможностям процессора, таким как ссылки, таблицы, битовые сдвиги, инкременты и т. п. С другой стороны, свобода языка Си приводила к ошибкам переполнения буфера в таких функциях стандартной библиотеки Си, как gets и scanf. Результатом стали многие печально известные уязвимости, например, та, что эксплуатировалась в знаменитом черве Морриса.

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

Unix предоставлял возможность использования протоколов TCP/IP на сравнительно недорогих компьютерах, что привело к быстрому росту Интернета. Это, в свою очередь, способствовало быстрому обнаружению нескольких крупных уязвимостей в системе безопасности, архитектуре и системных утилитах Unix.

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

Одними из самых известных примеров Unix-подобных ОС являются macOS, Solaris, BSD и NeXTSTEP.


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

Linux – это многопользовательская графическая операционная система, которая является полной альтернативой Windows по надежности – ее практически невозможно заставить «повиснуть». Компьютеры с установленной Linux работаю без перезагрузки месяцами и годами, управляя громоздкими базами данных и мощными вычислительными программами[22].

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

Традиционно системами Linux считаются только те, которые включают в качестве компонентов основные программы проекта GNU, такие как bash, gcc, glibc, coreutils, GNOME и ряд других[23], в связи с чем часто всё семейство иногда идентифицируется как GNU/Linux, притом существует спор об именовании GNU/Linux. Существует проект стандартизации внутренней структуры Linux-систем — Linux Standard Base, часть документов которого зарегистрирована в качестве стандартов ISO; но далеко не все системы сертифицируются по нему, и в целом для Linux-систем не существует какой-либо общепризнанной стандартной комплектации или формальных условий включения в семейство. Однако есть ряд систем на базе ядра Linux, но не имеющих в основе зависимости от программ GNU, которые к Linux-семейству традиционно не относят, в частности таковы мобильные системы Android и FirefoxOS.

Linux-системы реализуются на модульных принципах, стандартах и соглашениях, заложенных в Unix в течение 1970-х и 1980-х годов[24]. Такая система использует монолитное ядро, которое управляет процессами, сетевыми функциями, периферией и доступом к файловой системе. Драйверы устройств либо интегрированы непосредственно в ядро, либо добавлены в виде модулей, загружаемых во время работы системы.

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