Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

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

Операционные системы (ОС)

Определение 1

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

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

По определению ОС можно разделить на две группы:

  1. комплекс программ, которые управляют оборудованием;
  2. комплекс программ, которые управляют другими программами.

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

Помимо, собственно, компьютеров существуют некоторые микрокомпьютеры, которые всё же работают под управлением особых собственных операционных систем. Чаще всего, это $UNIX$-подобные системы, например, программируемое коммутационное оборудование: файрволы (межсетевые экраны), маршрутизаторы.

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

Все ОС обеспечивают свой автоматический запуск.

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

В состав компьютера входит постоянное запоминающее устройство (ПЗУ или ППЗУ), которое содержит программы тестирования компьютера и первого этапа загрузки ОС, – это BIOS (Basic Input/Output System – базовая система ввода/вывода). После подачи электропитания процессор компьютера начинает выполнение программы самотестирования компьютера POST (Power-ON Self Test). Начинается тестирование работоспособности процессора компьютера, памяти и прочих аппаратных средств.

«Операционная система» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

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

Для поиска загрузчика программа поочередно обращается к имеющимся в компьютере дискам (CD-ROM, жестким, Flash).

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

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

ОС предназначены для обеспечения нескольких видов интерфейса:

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

Основные функции ОС:

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

Дополнительные функции ОС:

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

Современные ОС:

  1. ОС семейства Windows-продукт корпорации Microsoft. Свою историю Windows начинают от операционной системы MS DOS. Сначала это были надстраиваемые над ней графические оболочки, когда Windows запускался из-под DOS. Это позволяло увеличить возможности DOS и облегчить простому неквалифицированному пользователю работу с компьютером. Более поздние версии (начиная с Windows NT) стали представлять собой настоящие полноценные операционные системы. Основное преимущество Microsoft Windows – это интерфейс, дружественный для пользователя. Основной недостаток – не очень высокая надежность системы.
  2. Unix и Unix-подобные ОС. Главные заслуги данного семейства – это мультиплатформенность, многозадачность и многопользовательность операционных систем. Юридически имеют право называться «UNIX» только те операционные системы, которые прошли сертификацию на соответствие стандарту Single UNIX Specification. Остальные , хотя и используют похожие концепции и технологии, называются UNIX-подобными операционными системами. Операционная система UNIX оказала большое влияние на развитие всех операционных систем тем, что заложила основы работы современных ОС. Первоначально UNIX являлся системой для разработки ПО. UNIX-системы в настоящее время применяются, в основном, для серверов, а также среди различного оборудования как встроенные системы. Если рассматривать ОС для рабочих станций и для домашнего применения, то UNIX и UNIX-подобные ОС занимают второе - третье места после MS Windows. Несмотря на то, что Unix-подобные системы уступают по популярности Windows, они работают на бОльших типах компьютеров благодаря мультиплатформенности. Linux –частный случай множества Unix-подобных дистрибутивов, которые чаще всего являются свободно распространяемыми.
  3. MAC OS также создавалась на основе ядра UNIX. Компания Apple создала данный продукт для своих же компьютеров Macintosh. MAC OS считается надежной и удобной, хотя и не так популярна, как Windows . Macintosh и ее Mac OS разработан в основном для графических и мультимедийных функций и с этими задачами справляется лучше, чем MS Windows и все прочие.

Современные ОС огромны и обладают очень плохой изоляцией сбоев, что делает их не очень надежными и небезопасными. В ядре Windows более $5$ миллионов строк, а в ядре ОС Linux содержится более $2,5$ миллионов строк кода кода. По исследовательским данным университета Carnegie-Mellon на каждые $1000$ строк кода приходится от $5$ до $15$ ошибок. При подобных оценках ядро Linux содержит около $15000$ ошибок, а ядро Windows − больше $30000$ ошибок. Причём, около $70\%$ кода ОС занимает код драйверов устройств, а в них ошибки встречаются в $3-7$ раз чаще, чем в обычном коде. Поэтому просто невозможно найти и выправить все ошибки; более того, при исправлении обнаруженных ошибок часто добавляются новые.

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

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

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

Замечание 1

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

Дата написания статьи: 26.05.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot