Автор Тема: Что такое операционная система? Общие понятия  (Прочитано 2997 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ломака

  • Старожил
  • ****
  • Сообщений: 427
  • Карма: +14/-0
  • Пол: Мужской
  • Отсутствую и уже давно ...
Современный компьютер состоит из одного или нескольких процессоров,  оперативной памяти, дисков, принтера, клавиатуры, мыши, дисплея, сетевых интерфейсов и других разнообразных устройств ввода-вывода. В итоге получается довольно сложная система. Если каждому программисту, создающему прикладную  программу, нужно будет разбираться во всех тонкостях работы всех этих устройств, то он не напишет ни строчки кода. Более того, управление всеми этими компонентами и их оптимальное использование представляет собой очень непростую задачу. По этой причине компьютеры оснащены специальным уровнем программного обеспечения, который называется операционной системой, в чью задачу входит управление пользовательскими программами, а также управление всеми ранее упомянутыми ресурсами. Именно такие системы и являются предметом рассмотрения данной статьи.
Большинство из нас уже имеет некоторый опыт работы с такими  операционными системами, как Windows, Linux, FreeBSD или Max OS X, но их внешний облик может быть разным. Программы, с которыми взаимодействуют  пользователи, обычно называются оболочкой, когда они основаны на применении текста, и графическим пользовательским интерфейсом — GUI (Graphical User Interface), когда в них используются значки, — фактически не являются частью операционной системы, хотя используют эту систему в своей работе.
Большинство компьютеров имеет два режима работы: режим ядра и режим  пользователя. Операционная система — наиболее фундаментальная часть программного обеспечения, работающая в режиме ядра (этот режим называют еще режимом супервизора). В этом режиме она имеет полный доступ ко всему аппаратному обеспечению и может задействовать любую инструкцию, которую машина в  состоянии выполнить. Вся остальная часть программного обеспечения работает в режиме пользователя, в котором доступно лишь подмножество инструкций машины. В частности, программам, работающим в режиме пользователя,  запрещено использование инструкций, управляющих машиной или осуществляющих операции ввода-вывода — I/O (Input/Output).
Программы пользовательского интерфейса — оболочка или GUI — находятся на самом низком уровне программного обеспечения, работающего в режиме пользователя, и позволяют пользователю запускать другие программы, такие как веб-браузер, программа чтения электронной почты или музыкальный плеер. Эти программы также активно пользуются операционной системой.
Важное отличие операционной системы от обычного (работающего в режиме пользователя) программного обеспечения состоит в следующем: если пользователь недоволен конкретной программой чтения электронной почты, то он волен выбрать другую программу или, если захочет, написать свою собственную программу, но он не может написать свой собственный обработчик прерываний системных часов, являющийся частью операционной системы и защищенный на аппаратном уровне от любых попыток внесения изменений со стороны пользователя. Но это различие иногда не столь четко выражено во встроенных системах  (которые могут не иметь режима ядра) или интерпретируемых системах (таких, как  операционные системы, построенные на основе языка Java, в которых для разделения компонентов используется не аппаратное обеспечение, а интерпретатор).
Во многих системах также есть программы, работающие в режиме  пользователя, но помогающие работе операционной системы или выполняющие особые функции. К примеру, довольно часто встречаются программы, позволяющие пользователям изменять их пароли. Эти программы не являются частью  операционной системы и не работают в режиме ядра, но всем понятно, что они выполняют довольно важную функцию и должны быть особым образом защищены. В некоторых системах эта идея доведена до крайней формы, и те области, которые традиционно относились к операционной системе (например, файловая система), работают в пространстве пользователя. В таких системах трудно провести  четкую границу Все программы, работающие в режиме ядра, безусловно, являются частью операционной системы, но некоторые программы, работающие вне этого режима, возможно, также являются ее частью, или, по крайней мере, имеют с ней тесную связь.
Операционные системы отличаются от пользовательских программ (то есть приложений) не только местоположением. Их особенности — довольно большой объем, сложная структура и длительные сроки использования. Исходный код операционных систем типа Linux или Windows занимает порядка пяти миллионов строк. Чтобы представить себе этот объем, давайте мысленно распечатаем пять миллионов строк в книжном формате, по 50 строк на странице и по 1000 страниц в каждом томе (что больше этого форума). Чтобы распечатать такое количество кода, принадлежащего операционной системе, понадобится 100 томов, а это практически целая книжная полка. Можете себе представить, что вы получили задание по поддержке операционной системы и в первый же день ваш начальник подвел вас к книжной полке и сказал: «Вот это все нужно выучить». И это касается только той части, которая работает в режиме ядра.
Пользовательские программы — GUI, библиотеки и основные приложения (вроде Windows Explorer) — легко могут увеличить количество этих томов в 10 или 20 раз. Теперь понятно, почему операционные системы живут так долго — их очень трудно создавать, и, написав одну такую систему, владелец не испытывает желания ее выбросить и приступить к созданию новой. Поэтому операционные системы развиваются в течение долгого периода времени. Семейство Windows 95/98/Ме по своей сути представляло одну операционную систему, а семейство Windows NT/2000/XP/Vista — другую. Для пользователя они были похожи друг на друга, поскольку Microsoft позаботилась о том, чтобы пользовательский интерфейс  Windows 2000/ХР был очень похож на ту систему, которой он шел на замену, а чаще всего это была Windows 98. Тем не менее у Microsoft были довольно веские  причины, чтобы избавиться от Windows 98, и мы еще вернемся к их рассмотрению.

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
8744 Просмотров
Последний ответ 28-01-2013, 05:01:42
от lenok
0 Ответов
2877 Просмотров
Последний ответ 05-03-2011, 20:18:00
от К_ирилл
0 Ответов
5793 Просмотров
Последний ответ 20-03-2011, 00:47:05
от Ломака
0 Ответов
6763 Просмотров
Последний ответ 30-03-2011, 00:32:10
от Ломака
1 Ответов
2346 Просмотров
Последний ответ 31-08-2012, 00:25:52
от tartepl403
0 Ответов
4083 Просмотров
Последний ответ 26-01-2013, 16:49:31
от lenok