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

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

Содержание:

Введение

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

Когда в разговоре начинают упоминать термин «операционная система» (сокр. ОС), многие сразу подразумевают известную ОС Windows, но это не совсем правильно, так как не только компания Microsoft занимается созданием и выпуском операционных систем, безусловно, есть огромное количество операционных систем кроме Windows, и каждая из этих систем по-своему уникальна и индивидуальна.[3]

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

Приобретая персональный компьютер или ноутбук от производителя Apple, об ОС Windows можно просто напросто забыть, ведь такие компьютеры выпускаются с предустановленной ОС, разработанной самой корпорацией Apple, называется она Mac OS (Macintosh Operating System).

Еще есть специальные версии – серверные ОС для работы с сайтами, базой данных, web-серверами, web-приложениями и т.п. Такие редакции имеются и у Windows и у Unix и еще большое количество подобных систем, однако большинство системных администраторов предпочитают Unix системы, а знаете почему? Все потому, что ей не страшны вирусы, которые захламили Интернет и чаще всего атакуют ОС Windows, для которой они и создавались. Для Unix и Linux нет смысла писать вирусы, так как вирусологи прекрасно знают, что работают за этими системами только опытные пользователи, которые легко решат проблему с вирусами. Поэтому не перспективно писать вирусы для этих систем, лучше писать их для ОС семейства Windows, которые установлены на 90% компьютерах всего мира (по данным ресурса Netmarketshare).

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

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

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

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

Актуальность исследования, объект и предмет исследования позволили сформулировать тему нашего исследования:

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

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

Предмет исследования: процесс организации операционных систем.

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

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

  1. Рассмотреть теоретические аспекты операционной системы
  2. Рассмотреть назначение, особенности и историю развития операционной системы
  3. Рассмотреть структуру операционной системы
  4. Рассмотреть функционирование операционных систем
  5. Рассмотреть операционные системы для персонального компьютера
  6. Рассмотреть эффективность управления операционной системы

Для решения данной проблемы в работе применялись труды и учебные пособия российских и зарубежных авторов (Н.В. Артамонова, И.Ф. Астахова, Х.М. Дейтел, К.А. Коньков, С.В. Назаров, В.М. Курячий, В.Е. Карпов, М.Ю. Свиридова и других).

Глава 1. Теоритические аспекты операционной системы

Операционная система

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

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

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

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

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

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

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

Этой программной прослойкой и является операционная система.

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

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

Операционная система компьютера решает три важные задачи:

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

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

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

Как и человеческий разум, операционную систему можно развивать и совершенствовать, устанавливая дополнительные программы. В нашем примере эти программы можно сравнить со своеобразными новыми навыками и умениями у человека. Например, чтобы научить компьютер играть с вами в шахматы, необходимо установить в операционную систему соответствующую программу – игру «Шахматы». Чтобы работать с текстом, операционную систему необходимо дополнить текстовым процессором Word или какой-нибудь другой аналогичной программой.

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

При создании компьютера, порядок действий специалиста-компьютерщика следующий:

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

2. Установить на компьютер ОС (снабдить тело интеллектом);

3. Установить необходимые дополнительные программы (развитие навыков компьютера в нужном пользователю направлении).

1.2Назначение, особенности и история развития

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

ОС относятся к классу системного программного обеспечения, куда кроме них входят такие типы программ, как трансляторы и интерпретаторы языков программирования, компоновщики и загрузчики, различные вспомогательные программы (утилиты). Важнейшей особенностью ОС являются их теснейшая связь с архитектурой базового процессора, аппаратная поддержка многих важнейших функций. [11] Все современные процессоры, прежде всего – семейства Intel, имеют в своем составе соответствующие компоненты и проектируются уже с учетом реализации данных функций. Это обеспечивает высочайшую скорость выполнения данных функций, хотя и уменьшает возможность переноса ОС на другую аппаратную платформу. Место ОС можно показать на следующей схеме:
https://upread.ru/img/art369-1.jpg
Рисунок 1

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

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


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

2.60-е годы. Важнейшим техническим событием этих лет было создание компанией IBM первого семейства универсальных ЭВМ широкого использования – семейства IBM/360. Для этого семейства было разработано несколько версий ОС с общим названием OS/360. В этих ОС были реализованы и впервые широко опробованы, многие базовые идеи, используемые и до сих пор. Одной из таких концепций является многозадачность, когда в одной вычислительной системе предпринимается попытка одновременного выполнения нескольких программ. Поскольку разным программам в одно и то же время могут требоваться разные ресурсы, появляется возможность разумного распределения этих ресурсов, с целью наиболее эффективной загрузки различных устройств. Это в целом уменьшает суммарное время выполнения набора задач, хотя, время выполнения одной конкретной программы может возрасти. Реализация многозадачности потребовала решения ряда важнейших задач, среди которых надо отметить следующие:

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

3. 70-е годы характерны следующими моментами:

  • все более широкое распространение «в массах» мини-компьютеров, лидерами среди которых являлась компания DEC со своей серией машин марки PDP/VAX. Для них были созданы свои ОС, более простые по сравнению с OS/360, но обладающие, тем не менее, достаточно серьезными возможностями, включая поддержку многозадачного режима;
  • реализация многопользовательского режима работы, когда с одной вычислительной системой одновременно работает несколько пользователей со своих терминалов;
  • безусловно, важнейшим событием было создание ОС UNIX как основы мобильных ОС, легко переносимых на разные аппаратные платформы. Это свойство системы обеспечивалось написанием практически всего программного кода на языке высокого уровня С и наличием трансляторов с этого языка для всех основных типов процессоров. Исходный код системы UNIX открыто распространялся всем желающим, что сделало данную систему исключительно популярной в мире. Правда, эта популярность имеет и обратную сторону: было создано множество вариантов Unix-подобных систем, которые далеко не всегда могли быть совмещены друг с другом.

4. 80-е годы – это:

  • начало эры персональных компьютеров;
  • начало развития сетевых технологий.

Для ПК потребовалась очень простая и дешевая ОС, реализующая лишь самые необходимые функции для работы одного пользователя с одной-единственной программой в каждый момент времени. Конечно, по сравнению с мощными ОС для «больших» машин, появление таких систем для ПК можно рассматривать как шаг назад, но при этом необходимо помнить об очень скромных вычислительных возможностях процессоров ПК тех лет. Поэтому ОС для ПК фактически реализовывали лишь функции управления файлами, простейший ввод/вывод данных, простейшее управление памятью и самый примитивный диалог с пользователем. [15]

Базовой ОС для ПК стала простая система DOS (Disk Operating System), созданная малоизвестной компанией Microsoft на основе системы CP/M, весьма популярной в то время на рынке микропроцессоров. Необходимо признать, что эта система свою роль сыграла, приобщив к компьютерам миллионы людей. К концу десятилетия развитие микроэлектронной базы позволило создать для ПК существенно более мощные ОС, приближающиеся по своим возможностям к ОС больших и средних ЭВМ. Пожалуй, одной из первых в этом семействе была система MacOS для ПК Macintosh фирмы Apple, которая еще в середине 80-х годов поддерживала графический оконный пользовательский интерфейс, что прежде всего объясняется использованием более мощного базового процессора фирмы Motorola. Для платформы Intel в конце 80-х совместно компаниями IBM и Microsoft была создана мощная многозадачная и многопользовательская система OS/2, которая, к сожалению, в настоящее время уже не поддерживается компанией IBM, не выдержав конкуренции с системой MS Windows.

Что касается сетевых технологий, то в эти годы наиболее полную свою реализацию они получили в составе различных версий системы Unix, таких как System V, BSD, SunOS/Solaris, IBM AIX. Все эти ОС были многопользовательскими и многозадачными, поддерживали иерархическую организацию файлов на дисках и механизм виртуальной памяти.

5. 90-е годы: следуя все еще действующему предсказанию Гордона Мура, вычислительные мощности процессоров ПК продолжали неуклонно расти, что дало возможность постепенно перейти от простейших ОС типа MS DOS к более мощным и удобным. С середины 90-х начинается «победоносное» распространение по миру ОС семейства Windows – от весьма слабой версии Windows 95 до вполне приличной для повседневной работы Windows МЕ (Millennium Edition). Кроме того, постепенно это семейство распространилось и на сектор сетевых ОС в виде «тяжеловесной» системы NT (т.е. New Technology) и ее более поздней реализации Windows 2000 (версии Professional, Server, Advanced Server, Datacenter). Реальную конкуренцию системам семейства MS Windows составляет лишь старая добрая система UNIX, которая в 90-е годы получила мощное подкрепление в виде своей разновидности Linux, первоначально созданной для процессоров Intel, но потом мигрировавшей и на другие платформы.

6. В первое десятилетие нового века ситуация на рынке ОС складывается следующим образом:

  • Компания Microsoft продолжает развивать свое семейство Windows как в пользовательском, так и серверном варианте. Для массового использования были последовательно выпущены версии XP, Vista и W7. Основные серверные версии – Server 2003 и Server 2008. Одной из важнейших особенностей последних версий является поддержка 64-разрядных процессоров.
  • Мировое сообщество совершенствует ОС Unix, прежде всего – Linux. Успех этой ОС объясняется ее неприхотливостью, надежностью и безопасностью, открытостью исходного кода с возможностью настройки его под свои требования. Наиболее известные версии Linux - это Ubuntu, Mandriva, ASP, OpenSUSE, Debian.

7. Наконец, в начале второго десятилетия наиболее знаковым явлением можно считать бурное развитие ОС для мобильных устройств (смартфонов, планшетов). «Зачинщиком» этого процесса выступила фирма Apple, выпустившая систему iOS. Основные конкуренты – это Google Android и MS WindowsPhone.

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

  1. Универсальные пользовательские системы для массовых ПК, основное назначение которых – создание удобной среды для работы пользователя со множеством приложений в условиях непредсказуемой многозадачности. Здесь около 90% систем составляют ОС семейства Windows, хотя и наблюдается некоторое смещение в сторону Linux-систем.
  2. Серверные системы для управления работой корпоративных сетей с решением таких задач, как взаимодействие с клиентскими системами, управление пользователями с разграничением прав, обеспечение безопасности данных. В этом сегменте наблюдается примерно равное использование систем семейства Windows и систем на основе Unix/Linux.
  3. Системы для мобильных устройств с ограниченными возможностями.
  4. Специализированные системы для управления быстротекущими процессами, где главный критерий – скорость реакции (системы реального времени). Это требование приводит к тому, что внутренняя организация таких систем существенно отличается от универсальных. Наиболее известной ОС данного класса является система QNX.

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

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

В свою очередь, первая функция включает в себя решение следующих задач:

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

1.3 Структура операционной системы

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

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

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

Такая организация ОС имеет как преимущества, так и недостатки. Важнейшими преимуществами являются: [5]

  • более надежная работа системы за счет защиты модулей ядра от сбоев в работе модулей надстройки;
  • простота внесения изменений и дополнений в состав надстройки за счет замены соответствующих файлов с последующим подключением на основе механизма динамической компоновки.

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

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

https://upread.ru/img/art370-1.jpgРисунок 2


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

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

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

https://upread.ru/img/art370-2.jpg
Рисунок 3

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

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

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

В качестве примера аппаратно-зависимого модуля можно привести (правда, с некоторыми оговорками) известную систему BIOS (Basic Input/Output System) для процессоров Intel. Эта система представляет собой программный код, реализующий простейшие низкоуровневые операции с основными устройствами ввода/вывода (клавиатура, мышь, монитор, диски), но на их основе можно строить более сложные подпрограммы.

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

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

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

Рассмотренная многослойная организация ОС является лишь одной из возможных. Уменьшение числа слоев до одного-двух позволяет достичь большего быстродействия, что может быть очень важным для систем реального времени, но с другой стороны, снижает универсальность, переносимость и расширяемость таких систем. [10]

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

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

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

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

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

Вывод по первой главе:

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

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

2.1 Функционирование операционных систем

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

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

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

Ввод и вывод информации на периферийные устройства в операционных системах обязан быть стандартизованным. Кроме того, доступ к данным на энергонезависимых носителях должен быть полностью обеспечен операционной системой в рамках поддерживаемых ею файловых систем. Например, операционная система Windows поддерживает файловые системы FAT, FAT32, NTFS и exFAT. А это значит, что стандартными способами в Windows невозможно получить доступ к носителю c файловой системой Ext2, являющейся стандартной в Linux.

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

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

2.2Основные части операционной системы

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

Если говорить о простейших основных функциях операционных систем, то они выполняют работу по:

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

2.3Операционные системы для персонального компьютера

На сегодняшний день где угодно можно услышать или лицезреть вживую ожесточенные споры насчёт того, какая из крупного списка операционных систем лучше всего. Вариантов много, и ни один из них нельзя считать лучшим, ведь каждому пользователю подходит своё, чем он долго пользуется, и что-то другое он вряд ли примет. Что ж, следует рассказать о некоторых операционных системах, каждая из которых имеет свои плюсы и минусы. [4]

Microsoft Windows XP

Хотя официально для данной ОС больше не выпускаются официальные обновления, не признавать, что она была отличной «осью» для любой машины в своё время – глупо. Windows XP появилась на свет немного больше десяти лет назад, и за время своей службы на благо пользователей она получила миллионы восторженных отзывов. Её практичность, лёгкость в управлении, хороший дизайн и доступность для людей, далёких от технологий, сыграла свою большую роль в формировании прекрасного бренда. Впрочем, не все современные люди перешли на более поздние версии операционной системы от компании Microsoft: некоторые до сих пор смахивают пальцем ностальгические скупые слёзы при очередном запуске компьютера и не собираются стремиться в будущее.

Windows 7

Вышедшая в 2009 году Windows 7 поразила многих. Её расширенная функциональность, визуальное оформление, наличие большого меню действий произвело на ценителей огромное впечатление. Да и поныне она совершенствуется с каждым новым годом. Хотя и вышла более поздняя версия — Windows 8, однако, она не смогла добиться такой же признательности среди пользователей, как предшественник. В Windows 7 всё на высоком уровне – и быстродействие, и разнообразие новшеств, и быстрая работа, и многое другое, способное всех удивить. Да и устанавливается она недолго.

Windows 8 и 8.1

Сменившая Windows 7, эта операционная система вызвала неоднозначную реакцию по всему миру – в ней Microsoft впервые внедрила новый пользовательский интерфейс, одинаковый для обычных компьютеров и планшетов, плиточный Metro UI. И хотя в версии 8.1 был добавлен классический Пуск, да и сама система работает весьма быстро и стабильно, многие до сих пор сидят на семерке, хотя ее официальная поддержка кончается в 2015 году.

Linux Mint 11

Владельцы операционных систем Windows считают любую версию Linux крайне непонятной. И их можно понять, ведь отличия поразительные. Тем не менее, если проработать в Linux Mint 11 достаточное количество времени, то можно разобраться во всех её аспектах, уяснить множество функций и мелких деталей. Устанавливается она за считанные минуты. Славится она тем, что предлагает пользователю стабильность и быструю работу с файлами. Дизайн Windows хоть и лучше, но Linux также вполне может удивить. Производительность хорошая, и в целом всё на высоте. Но, опять же, если долго работать на Windows, а затем перейти на Linux, то это может вызвать недоумение и непонятности, что проходит со временем.

MacOS

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

Любую из этих ОС можно смело ставить на компьютер.

2.4 Преимущества и недостатки ОС

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

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

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

  1. Монолитное ядро. Отличительной особенностью данной схемы операционной системы является то, что все части её ядра – это составные компоненты одной программы, работающие в одном адресном пространстве [4]. К основным преимуществам относят высокую скорость работы и простоту разработки модулей. Основным недостатком является то, что при нарушении работы одного из компонентов ядра, перестает работать вся система. При внесении изменений в аппаратное обеспечение, необходимо произвести полную перекомпиляцию всего ядра.
  2. Микроядро. Данная архитектура предоставляет минимальный набор для взаимодействия с оборудованием и основные функции для работы с процессами. К достоинствам можно отнести высокую степень модульности и возможность устойчивой работы, при возникновении ошибок или сбоев оборудования. Недостатком является то, что передача информации требует больших расходов ресурсов и времени [2].

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

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

https://sibac.info/sites/default/files/files/2016_01_26_studtech/Davydenko.files/image001.jpg

Рисунок 4

В состав микроядра входят машинно-зависимые модули и модули, управляющие процессами, прерываниями, виртуальной памятью и т.д. Высокоуровневые функции ядра обычно оформляются в виде отдельных серверов, которые работают в режиме пользователя. Серверы выполняются в отдельных процессах, каждый в своей области памяти. Поэтому при нарушении работы одного сервера, он может быть перезапущен, не нарушив работы других серверов, а так как они все осуществляют работу в режиме пользователя, то повышается надежность работы всей операционной системы. Так же повышение надежности осуществляется благодаря меньшему объему исполняемой программы (меньшему числу машинных команд), так как уменьшается количество совершаемых ошибок. Помимо этого, данному типу архитектуры присуща расширяемость. При появлении необходимости внедрения нового модуля, объем работ существенно снижается. В отличии от монолитного ядра, нам необходимо будет написать модуль и установить связи с остальными компонентами ядра. При этом отсутствует надобность изменять все ядро. Так, например, не прерывая работы, можно загружать и выгружать новые драйвера. Но во всем имеются свои минусы и, к сожалению, такой принцип работы микроядерной архитектуры оказывает существенное влияние на производительность. Если мы работаем с монолитным ядром, выполнение системного вызова сопровождается всего двумя переключениями режимов – с режима пользователя в режим ядра и обратно [1]. Но при работе с микроядром осуществляется 4 переключения (рисунок 5).

https://sibac.info/sites/default/files/files/2016_01_26_studtech/Davydenko.files/image002.jpg

Рисунок 5

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

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

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

Вывод по второй главе:

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

Сегодня все компьютеры используют графический интерфейс пользователя (GUI). Благодаря GUI любой человек может управлять ПК без специального обучения. GUI — сокращенно графический интерфейс пользователя.

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

Заключение

Для современных операционных систем характерна сложная структура, все элементы выполняют определенные функции по управлению компьютером:

  • Управление файловой системой.
  • Командный процессор.
  • Графический интерфейс.
  • Сервисные программы.
  • Справочная система.

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

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

1. Shelley Gaskin, Robert L. Ferrett GO! with Microsoft Windows 7 Comprehensive; Prentice Hall - Москва, 2016. - 720 c.
2. Операционные системы; Либроком - Москва, 2017. - 352 c.
3. Основы работы в операционной системе Windows. Практикум пользователя персонального компьютера; Феникс - Москва, 2007. - 176 c.
4. Практикум по операционным системам; Либроком - Москва, 2010. - 328 c.
5. Алаева Компьютерные Сети; Schiffer Publishing - Москва, 2010. - 134 c.
6. Баула В. Г., Томилин А. Н., Волканов Д. Ю. Архитектура ЭВМ и операционные среды; Академия - Москва, 2011. - 336 c.
7. Ботт Эд , Зихерт Карл , Стинсон Крейг Windows Vista. Inside Out (+ CD-ROM); ЭКОМ Паблишерз - Москва, 2015. - 225 c.
8. Воробьев Л. В., Давыдов А. В., Щербина Л. П. Системы и сети передачи информации; Академия - Москва, 2009. - 336 c.
9. Галатенко В. А. Программирование в стандарте POSIX. Курс лекций; Интернет-университет информационных технологий - Москва, 2004. - 560 c.
10. Ганеев Р. М. Проектирование интерфейса пользователя средствами Win32 API; Горячая Линия - Телеком - , 2007. - 360 c.
11. Дейтел Х. М., Дейтел П. Дж., Чофнес Д. Р. Операционные системы. Часть 2. Распределенные системы, сети, безопасность; Бином-Пресс - Москва, 2011. - 704 c.
12. Дейтел Х. М., Дейтел П. Дж., Чофнес Д. Р. Операционные системы. Часть1. Основы и принципы; Бином-Пресс - Москва, 2011. - 448 c.
13. Делев Владимир Алексеевич Информатика. Ч.1. Основы Персонального Компьютера. Операционные Системы; ConJelCo- Москва, 2007. - 100 c.
14. Демьянович Ю. К., Лебединский Д. М. Операционная система UNIX (LINUX) и распараллеливание; Издательство Санкт-Петербургского университета - Москва, 2005. - 112 c.
15. Иртегов Д. В. Введение в операционные системы; БХВ-Петербург - Москва, 2012. - 874 c.
16. Карпов В. Е., Коньков К. А. Основы операционных систем. Курс лекций. Учебное пособие; Интернет-университет информационных технологий - Москва, 2005. - 632 c.
17. Клейменов С.А., Мельников В.П., Петраков А.М. Администрирование в инофрмационных системах; Студия АРДИС, ТРК ВС РФ "Звезда" - Москва, 2008. - 272 c.
18. Коньков К. А. Устройство и функционирование ОС Windows. Практикум к курсу "Операционные системы"; Бином. Лаборатория знаний - Москва, 2008. - 208 c.
19. Курячий Г. В. Операционная система UNIX. Курс лекций. Учебное пособие; Интернет-университет информационных технологий - Москва, 2011. - 288 c.
20. Магда Ю. С. UNIX для студента; БХВ-Петербург - Москва, 2007. - 480 c.
21. Мартемьянов Ю. Ф., Яковлев А. В., Яковлев А. В. Операционные системы. Концепции построения и обеспечения безопасности; Горячая Линия - Телеком - , 2011. - 338 c.
22. Мертенс Петер Интегрированная обработка информации. Операционные системы в промышленности; Финансы и статистика - , 2007. - 424 c.
23. Назаров С. В., Гудыно Л. П., Кириченко А. А. Операционные системы. Практикум для бакалавров; КноРус - Москва, 2012. - 376 c.
24. Партыка Т. Л., Попов И. И. Операционные системы, среды и оболочки; Форум - Москва, 2010. - 544 c.
25. Персианов Вячеслав Венедиктович Компьютерные Обучающие Системы:Разработка И Применение; АСТ, Сова, Астрель-СПб, Харвест - Москва, 2012. - 732 c.
26. Свиридова М. Ю. Операционная система Windows XP; Академия - Москва, 2006. - 192 c.
27. Свиридова М. Ю. Операционная система Windows ХР; Академия - Москва, 2016. - 192 c.