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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

Для достижения поставленной цели необходимо выделить следующие задачи:

  1. Определить понятие операционной системы.
  2. Изучить классификацию операционных систем.
  3. Рассмотреть операционные системы, альтернативные Windows.
  4. Проанализировать функции операционных систем персональных компьютеров.

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

1. Понятие операционной системы

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

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

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

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

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

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

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

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

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

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

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

Операционная система представляет собой комплекс системных и служебных программных средств. С одной стороны, она опирается на базовое программное обеспечение компьютера, входящее в его сиcтему BIOS (базовая система ввода-вывода); с другой стороны, она сама является опорой для программного обеспечения более высоких уровней – прикладных и большинства служебных приложений[4] (рис. 1).

Рис. 1. Уровни программного обеспечения

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

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

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

  • интерфейса между пользователем и программно-аппаратным обеспечением (интерфейс пользователя, User Interface — UI );
  • интерфейса между программным и аппаратным обеспечением (аппаратно-программный интерфейс);
  • интерфейса между разными видами программного обеспечения (программный интерфейс, Application Programming Interface — API ).

Каждая ОС состоит как минимум из трех обязательных частей[6]:

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

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

Таким образом, операционная система, ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем. Наличие ядра операционной системы – непременное условие для возможности практической работы человека с вычислительной системой[7].

1.1 Классификация операционных систем

Все существующие ОС по различным признакам можно разделить на несколько групп.

По числу одновременно выполняемых задач[8]:

однозадачные ОС – системы, которые поддерживают режим выполнения только одной программы в отдельный момент времени, например, MS-DOS;

многозадачные ОС (Windows, OS/2, UNIX и др. сетевые), обеспечивающие:

1) возможность одновременной работы с несколькими задачами, между которыми можно переключаться;

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

3) возможность совместного использования программных, аппаратных, сетевых и прочих ресурсов несколькими приложениями.

По типу доступа пользователя к ЭВМ:

системы пакетной обработки - системы, когда из программ, подлежащих выполнению, формируется пакет (набор) заданий, вводимых в ЭВМ и выполняемых в порядке очередности с возможным учетом приоритетности[9];

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

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

По числу одновременно работающих пользователей:

однопользовательские ОС – системы, которые поддерживаю работу только одного пользователя (MS DOS, ранние версии Windows и OS/2);

многопользовательские ОС – системы, которые поддерживают одновременную работу на ЭВМ нескольких пользователей за различными терминалами (UNIX, Windows NT и др. сетевые)[10].

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

По реализации интерфейса пользователя[11]:

Неграфические ОС. Реализуют интерфейс командной строки. Основным устройством управления при этом является клавиатура. Управляющие команды вводят в поле командной строки (MS DOS).

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

По принципу распределения процессорного времени:

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

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

ОС с вытесняющей многозадачностью, когда в зависимости от ситуации система самостоятельно передает или забирает управление у той или иной задачи, что позволяет разделять все аппаратные ресурсы между различными приложениями (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, которые выполняют многие основные задачи операционной системы.

Графический интерфейс пользователя (или GUI) в большинстве систем Linux построен на основе X Window System[25].

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

Дистрибутивы, специально разработанные для серверов, могут использовать командную строку в качестве единственного интерфейса. На настольных системах наибольшей популярностью пользуются пользовательские интерфейсы, основанные на таких средах рабочего стола как KDE Plasma Desktop, GNOME и Xfce, хотя также существует целый ряд других пользовательских интерфейсов. Самые популярные пользовательские интерфейсы основаны на X Window System, которая предоставляет прозрачность сети и позволяет графическим приложениям, работающим на одном компьютере, отображаться на другом компьютере, на котором пользователь может взаимодействовать с ними[26].

FVWM, Enlightenment и Window Maker — простые менеджеры окон X Window System, которые предоставляют окружение рабочего стола с минимальной функциональностью. Оконный менеджер предоставляет средства для управления размещением и внешним видом отдельных окон приложений, а также взаимодействует с X Window System. Окружение рабочего стола включает в себя оконные менеджеры, как часть стандартной установки: Mutter для GNOME c 2011 года, KWin для KDE c 2000 года, Xfwm для Xfce с 1998 года, хотя пользователь при желании может выбрать другой менеджер окон.

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

Популяризация графического интерфейса пользователя в современных операционных системах часто считается заслугой Mac OS. Она была впервые представлена в 1984 году вместе с персональным компьютером Macintosh 128K.

Apple хотела, чтобы Macintosh представлялся как «компьютер для всех остальных». Самого термина «Mac OS» в действительности не существовало до тех пор, пока он не был официально использован в середине 1990-х годов. С тех пор термин применяется ко всем версиям операционных систем Макинтоша как удобный способ выделения их в контексте других операционных систем.

Семейство операционных систем macOS является вторым по распространённости для десктопа (после Windows). Рыночная доля macOS (учитываются все версии) по состоянию на февраль 2019 составляет около 13,22% по оценкам StatCounter. Самой популярной версией macOS является Mojave (39,46% среди всех версий macOS), следом идут High Sierra (25,79%), Sierra (12,61%), El Capitan (10,5%), Yosemite (6,74%) и Mavericks (2,15%)[27].

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

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

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

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

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

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

Основами macOS являются:

  • Подсистема с открытым кодом — Darwin (ядро Mach и набор утилит BSD).
  • Среда программирования Core Foundation (Carbon API, Cocoa API и Java API).
  • Графическая среда Aqua (QuickTime, Quartz Extreme и OpenGL).
  • Технологии Core Image, Core Animation, CoreAudio и CoreData.

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

2. Функции операционных систем ПК

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

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

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

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

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

2. Обеспечение автоматического запуска[31]

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

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

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

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

Файловая система выполняет три основные функции:

- определение физического местоположения файлов и каталогов на диске;

- доступ к файлам и каталогам на диске;

- определение занятого и свободного пространства диска.

4. Обслуживание файловой структуры[33]

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

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

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

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

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

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

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

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

- управление атрибутами файлов (к атрибутам файла относятся, например, следующие его признаки: R (Read Only) – только для чтения, H (Hidden) – скрытый файл, S (System) – системный файл, A (Archive) – файл, который не был архивирован).

5. Управление установкой, использованием и удалением приложений[34]

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

-управляют распределением ресурсов вычислительной системы между приложениями,

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

- формируют общие ресурсы, которые могут использоваться разными приложениями,

- выполняют регистрацию установленных приложений и выделенных им ресурсов.

Работа с приложениями составляет наиболее важную часть работы операционной системы:

- многозадачная ОС обеспечивает:

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

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

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

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

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

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

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

6. Взаимодействие с аппаратным обеспечением[35]

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

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

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

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

7. Обслуживанием компьютера[36]

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

- средства проверки дисков (средства проверки целостности файловой структуры, средства физической диагностики поверхности дисков);

- средства «сжатия» дисков (программное «сжатие» дисков путем записи данных на диск в уплотненном виде посредством специального драйвера);

- средства резервного копирования (копирование на внешний носитель).

8. Прочие функции операционных систем

- Возможность поддерживать функционирование локальной компьютерной сети без специального программного обеспечения;

- обеспечение доступа к основным службам Интернета средствами, интегрированными в состав ОС;

- наличие средств обеспечения защиты данных от несанкционированного доступа, просмотра и внесения изменений;

- возможность оформления рабочей среды ОС, в том числе и средствами, относящимися к категории мультимедиа;

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

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

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

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

- чтение, редактирование и печать текстовых документов;

- создание и редактирование простейших рисунков;

- выполнение арифметических и математических расчетов;

- ведение дневников и служебных блокнотов;

- создание, передача и прием сообщений электронной почты;

- воспроизведение и редактирование звукозаписи;

- воспроизведение видеозаписи;

- и др.

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

ЗАКЛЮЧЕНИЕ

Подводя итоги, следует отметить следующее:

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

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

Дополнительно к ядру операционная система обладает средствами для:

- управления пользовательским интерфейсом компьютера;

- управления аппаратно-программными интерфейсами компьютера;

- обслуживания файловой системы;

- управления распределением оперативной памяти между процессами;

- установкой программ и управления их работой;

- обеспечения надежности и устойчивости работы оборудования и программ.

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

Программы, которые работают под управлением ОС, называются приложениями.

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

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1. Red Hat Linux. Секреты профессионала. Пер. с англ. – М., 2004.
  2. The International Business Machine (IBM) [Electronic resource]. Modeaccess: http://www.ibm.com/developerworks/ru/linux.
  3. А. Ю. Щербаков Современная компьютерная безопасность [Электронный ресурс]: теорет. основы, практ. аспекты : учеб. Пособие. М. 2009.
  4. Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник. // URL: http://inf.e-alekseev.ru/text/OS.html.
  5. Астахов И.Ф., Астанин И.К., Крыжко И.Б., Кубряков Е.А. Компьютерные науки. Деревья, операционные систтемы, сети. – М.: ФИЗМАТЛИТ, 2013.
  6. Бекман И.Н. Компьютерные науки. Курс лекций. //URL: http://profbeckman.narod.ru/Komp.files/Lec9.pdf
  7. Дейтел Г. Введение в операционные системы.: Пер. с англ. – М.:Мир, 1987.
  8. Информатика для юристов и экономистов: Учебник для вузов. Стандарт третьего поколения / под ред. С.В. Симоновича. 2-е изд. – СПБ., 2014.
  9. Карпов В.Е., Коньков К.А. Основы операционных систем. (Под ре-дакцией В.П. Иванникова) /Курс лекций. Учебное пособие/ Интер-нет-университет Информационных технологий. Москва, 2004.
  10. Мамаева Н.А. Информатика. Курс лекций: учебное пособие. Омск, 2013.
  11. Назаров С.В. Операционные среды, системы и оболочки. Основыструктурной и функциональной организации: Учеб. пособие. – М.:КУДИЦ-ПРЕСС, 2007.
  12. Новейшая энциклопедия персонального компьютера 2006. – М.: ОЛМА Медиа Групп, ОЛМА-ПРЕСС Образование, 2006.
  13. Олифер В.Г.,Олифер Н.А.Сетевые операционные системы. —СПб:Питер. 2001.
  14. Операционная система Linux: Курс лекций. Учебное пособие / Г.В. Курячий, К.А. Маслинский – М., 2010
  15. Робачевский А.М., Немнюгин С.А., Стесик О.Л. Операционная система UNIX. – 2-е изд., перераб., и доп. – СПб. 2005.
  16. С.В. Симонович Информатика. Базовый курс: [учеб. пособие для высш. техн. учеб. заведений]. Учебник для вузов. СПб. 2009.
  17. Симонович С.В. Информатика. Базовый курс: Учебник для вузов. 3-е изд. Стандарт третьего поколения. – СПб., 2011.
  18. Симонович С.В. Информатика. Базовый курс: Учебник для вузов. 3-е изд. – СПб., 2011.
  19. Современные операционные системы: учебное пособие / С.В. Назаров, А.И. Широков. — М.: Национальный Открытый Университет«ИНТУИТ», 2012.
  20. Современные операционные системы: учебное пособие / С.В. Назаров, А.И. Широков. — М.: Национальный Открытый Университет «ИНТУИТ», 2012.
  21. Ходаков В.Е. Науччные школы компьтеростроения: история отечественной вычислительной техники. – Херсон. 2010
  22. Сайт преподавателя Гришко В.В. // http://www.grishko.esy.es/predmety/operatsionnye-sistemy/lektsii3.html
  23. Национальная библиотека им. Н. Э. Баумана Bauman National Library // https://ru.bmstu.wiki/UNIX
  24. http://deepapple.com/news/41733.html
  25. http://gs.statcounter.com/os-version-market-share/macos/desktop/worldwide#monthly-201902-201902-bar
  26. https://dic.academic.ru
  27. https://ru.wikipedia.org
  28. https://www.zdnet.com
  1. См. например: URL: https://dic.academic.ru/dic.nsf/ruwiki/2566; https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0

  2. См. подробнее: Дейтел Г. Введение в операционные системы.: Пер. с англ. – М.:Мир, 1987. – том 2 – 400 с.5; Карпов В.Е., Коньков К.А. Основы операционных систем. (Под ре-дакцией В.П. Иванникова) /Курс лекций. Учебное пособие/ Интер-нет-университет Информационных технологий. Москва, 2004.

  3. The International Business Machine (IBM) [Electronic resource]. Modeaccess: http://www.ibm.com/developerworks/ru/linux.

  4. Современные операционные системы: учебное пособие / С.В. На-заров, А.И. Широков. — М.: Национальный Открытый Университет«ИНТУИТ», 2012.

  5. Назаров С.В. Операционные среды, системы и оболочки. Основыструктурной и функциональной организации: Учеб. пособие. – М.:КУДИЦ-ПРЕСС, 2007.

  6. Новейшая энциклопедия персонального компьютера 2006. – М.: ОЛМА Медиа Групп, ОЛМА-ПРЕСС Образование, 2006. С. 193.

  7. А. Ю. Щербаков Современная компьютерная безопасность [Электронный ресурс]: теорет. основы, практ. аспекты : учеб. Пособие. М. 2009; С.В. Симонович Информатика. Базовый курс: [учеб. пособие для высш. техн. учеб. заведений]. Учебник для вузов. СПб. 2009; Олифер В.Г.,Олифер Н.А.Сетевые операционные системы. —СПб:Питер. 2001.

  8. Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник. // URL: http://inf.e-alekseev.ru/text/OS.html.

  9. Астахов И.Ф., Астанин И.К., Крыжко И.Б., Кубряков Е.А. Компьютерные науки. Деревья, операционные систтемы, сети. – М.: ФИЗМАТЛИТ, 2013.

  10. Мамаева Н.А. Информатика. Курс лекций: учебное пособие. Омск, 2013.

  11. Симонович С.В. Информатика. Базовый курс: Учебник для вузов. 3-е изд. Стандарт третьего поколения. – СПб., 2011.

  12. Там же.

  13. Мамаева Н.А. Информатика. Курс лекций: учебное пособие. Омск, 2013.

  14. Там же.

  15. Сайт преподавателя Гришко В.В. // http://www.grishko.esy.es/predmety/operatsionnye-sistemy/lektsii3.html

  16. Национальная библиотека им. Н. Э. Баумана Bauman National Library // https://ru.bmstu.wiki/UNIX

  17. См.: Робачевский А.М., Немнюгин С.А., Стесик О.Л. Операционная система UNIX. – 2-е изд., перераб., и доп. – СПб. 2005.

  18. Ходаков В.Е. Науччные школы компьтеростроения: история отечественной вычислительной техники. – Херсон. 2010

  19. https://ru.wikipedia.org/wiki/Multics

  20. Бекман И.Н. Компьютерные науки. Курс лекций. //URL: http://profbeckman.narod.ru/Komp.files/Lec9.pdf

  21. Там же.

  22. Операционная система Linux: Курс лекций. Учебное пособие / Г.В. Курячий, К.А. Маслинский – М., 2010

  23. https://ru.wikipedia.org/wiki/Linux

  24. Современные операционные системы: учебное пособие / С.В. Назаров, А.И. Широков. — М.: Национальный Открытый Университет «ИНТУИТ», 2012.

  25. Red Hat Linux. Секреты профессионала. Пер. с англ. – М., 2004.

  26. Там же.

  27. http://gs.statcounter.com/os-version-market-share/macos/desktop/worldwide#monthly-201902-201902-bar

  28. http://deepapple.com/news/41733.html

  29. https://www.zdnet.com

  30. Симонович С.В. Информатика. Базовый курс: Учебник для вузов. 3-е изд. – СПб., 2011.

  31. Информатика для юристов и экономистов: Учебник для вузов. Стандарт третьего поколения / под ред. С.В. Симоновича. 2-е изд. – СПБ., 2014.

  32. Там же.

  33. Симонович С.В. Информатика. Базовый курс: Учебник для вузов. 3-е изд. – СПб., 2011.

  34. Информатика для юристов и экономистов: Учебник для вузов. Стандарт третьего поколения / под ред. С.В. Симоновича. 2-е изд. – СПБ., 2014.

  35. Симонович С.В. Информатика. Базовый курс: Учебник для вузов. 3-е изд. – СПб., 2011.

  36. Там же.