0

Все составляющие части операционной системы

Состояние отпатрулирована

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS ) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.

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

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

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Windows, Unix и UNIX-подобные системы.

Содержание

История [ править | править код ]

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

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

Пакетный режим [ править | править код ]

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

Разделение времени и многозадачность [ править | править код ]

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

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

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

Разделение полномочий [ править | править код ]

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

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

Масштаб реального времени [ править | править код ]

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

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

Файловые системы и структуры [ править | править код ]

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

Файловая система — способ хранения данных на внешних запоминающих устройствах.

Функции [ править | править код ]

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

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

Понятие [ править | править код ]

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

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

Операционные системы нужны:

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

Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:

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

Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов в самой операционной системе. В составе операционной системы различают три группы компонентов:

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

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

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

Читайте также:  Вконтакте старая версия на компьютер вход

Ядро [ править | править код ]

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

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

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

Объекты ядра ОС:

Существующие операционные системы [ править | править код ]

UNIX, стандартизация операционных систем и POSIX [ править | править код ]

К концу 1960-х годов отраслью и научно-образовательным сообществом был создан целый ряд операционных систем, реализующих все или часть очерченных выше функций. К ним относятся Atlas (Манчестерский университет), CTTS (англ.) русск. и ITS (англ.) русск. (Массачусетский технологический институт, MIT), THE (Эйндховенский технологический университет), RS4000 (Университет Орхуса) и др. (всего эксплуатировалось более сотни различных ОС).

Наиболее развитые операционные системы, такие как OS/360 (IBM), SCOPE (CDC) и завершённый уже в 1970-х годах Multics (MIT и Bell Labs), предусматривали возможность исполнения на многопроцессорных компьютерах.

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

Задуманная и реализованная в 1969 году Кеном Томпсоном при участии нескольких коллег (включая Денниса Ритчи и Брайана Кернигана), операционная система UNIX (первоначально UNICS, что обыгрывало название Multics) вобрала в себя многие черты более ранних систем, но обладала целым рядом свойств, отличающих её от большинства предшественниц:

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

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

В конце 1970-х годов сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами TCP/IP. Их разработка стала известна под именем BSD (Berkeley Software Distribution).

Задачу разработать независимую (от авторских прав Bell Labs) реализацию той же архитектуры поставил и Ричард Столлман, основатель проекта GNU.

Благодаря конкурентности реализаций архитектура UNIX стала вначале фактическим отраслевым стандартом, а затем обрела статус и стандарта юридического — ISO/IEC 9945 [1] (POSIX).

Только системы, отвечающие спецификации Single UNIX Specification, имеют право носить имя UNIX. К таким системам относятся AIX, HP-UX, IRIX, Mac OS X, SCO OpenServer, Solaris, Tru64 и z/OS.

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

К UNIX-подобным относятся операционные системы, основанные на последней версии UNIX, выпущенной Bell Labs (System V), на разработках университета Беркли (FreeBSD, OpenBSD, NetBSD), на основе Solaris (OpenSolaris, BeleniX, Nexenta OS), а также Linux, разработанная в части утилит и библиотек проектом GNU и в части ядра — сообществом, возглавляемым Линусом Торвальдсом.

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

Самым заметным эффектом существования этого стандарта стало эффективное разворачивание Интернета в 1990-х годах.

Пост-UNIX-архитектуры [ править | править код ]

Коллектив, создавший UNIX, развил концепцию унификации объектов операционной системы, включив в исходную концепцию UNIX «устройство — это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно — это файл». Эта концепция стала одним из основных принципов системы Plan 9 (название было позаимствовано из фантастического триллера «План 9 из открытого космоса» Эдварда Вуда-младшего), призванной преодолеть принципиальные недостатки дизайна UNIX и сменившей «рабочую лошадку» UNIX System V на компьютерах сети Bell Labs в 1992 году.

Кроме реализации всех объектов системы в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan 9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8, на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует — доступ к локальным и к удалённым файлам единообразен. 9P — байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно — к унифицированным файлам, а не поблочно — к разнообразным и сильно изменяющимся с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в операционной системе контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.

Операционные системы, созданные на базе или идеях UNIX, такие как всё семейство BSD и системы Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, эти новые идеи ждёт большое будущее и признание ИТ-разработчиков.

Новые концепции были использованы Робом Пайком в Inferno.

На основе Plan 9 в Испании разрабатываются системы Off++ и Plan B, носящие экспериментальный характер.

К попыткам создать пост-UNIX-архитектуру можно также отнести разработку языка программирования и операционной среды Оберон в Швейцарской высшей технической школе (ETH Zurich) под руководством профессора Никлауса Вирта.

Читайте также:  Как в paint очистить лист

На прошлой лекции было дано общее определение операционной системы. Применительно к операционной системе Windows 2000/XP можно дать следующее определение.

Операционная система Windows 2000/XP – это многопользовательская, многозадачная, многопоточная ОС с развитой системой приоритетного прерывания, имеющая графический поль­зовательский интерфейс и расширенные сетевые возможности.

Отличительными чертами этой операционной системы являются:

– встроенная сетевая поддержка, обеспечивающая совместное сетевое использование файлов, устройств и объектов;

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

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

– поддержка нескольких файловых систем. Кроме файловой системы DOS, поддерживаемой всеми версиями Windows (FAT 16/32), Windows 2000/XP поддерживает файловую систему Windows NT (NTFS) и файловую систему компакт-дисков (CDFS);

– поддержка широкого спектра компьютерных платформ, в том числе и многопроцессорных вычис­лительных систем.

Перечислим основные составные части операционной системы:

– BIOS – базовая система ввода вывода;

– загрузчик операционной системы;

– ядро операционной системы;

BIOS – это небольшая программа находящаяся в ПЗУ и проставляемая вместе с системной платой. Она позволяет обеспечить независимость программного обеспечения от специфики кон­кретной модели компьютеров, и выполняет следующие функции:

– тестирование аппаратной части при включении компьютера;

– инициализация векторов прерывания нижнего уровня;

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

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

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

Windows 2000/XP – операционная система внутренняя структура ядра которой тесно свя­зана с особенностями процессоров, совместимых с Intel, поэтому при изучении Windows 2000/XP не по­мешает знание некоторых принципов функционирования процессоров Intel.

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

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

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

Таким образом, в Windows 2000/XP реализована двухуровневая модель защиты, которую многие называют моделью «ядро-пользователь», а некоторые моделью «клиент-сервер». Опти­мальное распределение всех выполняемых программ на системные с высоким уровнем приоритета и прикладные с низким уровнем привилегий обеспечивает достаточно высокую степень защиты без заметного ущерба для общей производительности системы. Именно поэтому Microsoft отказа­лась от использования первого и второго колец защиты в своих операционных системах, во вся­ком случае – пока.

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

Существует два режима многозадачности:

1. Кооперативная многозадачность.

2. Вытесняющая многозадачность.

При кооперативной многозадачности каждое приложение (программа) получает фактиче­ски столько процессорного времени, сколько оно считает нужным. Все приложения делят процес­сорное время, периодически опрашивая друг друга. Поэтому хорошо заметно, когда одна про­грамма «тормозит» другую, а при длительных операциях с диском замирает практически вся про­чая деятельность. Такой режим использовался, например, в операционных системах Windows 3x, а также в Windows 9x при работе с 16-ти разрядными приложениями.

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

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

Переключением потоков занимаются планировщики приоритетов, которые вычисляют приоритеты (возможные значения – от 0 до 31) и определяют количество процессорного времени, выделяемого каждому потоку. При этом планировщик приоритетов действует следующим обра­зом:

– повышается приоритет потоков, находящихся в ожидании пользовательского ввода (приоритет­ных приложений). Таким образом, система может более оперативно реагировать на действия пользователя;

– если поток обладает низшим приоритетом, он начинает повышаться;

– периодически повышается приоритет каждого потока, чтобы приложения с низким приорите­том не «зависали»;

– если приоритет потока наивысший, он начинает понижаться;

– если несколько потоков имеют одинаково высокие приоритеты, им устраивают «карусель», выде­ляя каждому по очереди одинаковое количество времени.

Реализация вытесняющей многозадачности в Windows 2000/XP дает не только возможность плавного переключения задач, но и устойчивость среды к зависаниям, так как ни одно приложение не может получить неограниченные права на процессорное время и другие ресурсы. Так система создает эффект одновременного выполнения нескольких приложений. Если компьютер имеет не­сколько процессоров, или процессор Pentium IV с включенной через BIOS технологией Hyper-Threading * то системы Windows 2000/XP могут действительно совмещать выполнение нескольких приложений. Если процессор один, то совмещение остается иллюзией. Когда заканчи­вается квант времени, отведенный текущей программе, система ее прерывает, сохраняет контекст и отдает управление другой программе, которая ждет своей очереди. Величина кванта времени зависит от ОС и типа процессора, в Windows 2000 она в среднем равна 20 мс. Следует отметить, что добиться одновременного выполнения потоков можно только на машинах с операционными системами Windows 2000/XP и выше, ядра которых поддержи­вают распределение потоков между процессорами и процессорного времени между потоками на каждом процессоре. Windows 9x/ME работают только с одним процессором. Даже если у компью­тера несколько процессоров, под управлением Windows 9x/ME будет задействован лишь один из них, а остальные простаивают.

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

Читайте также:  Как активировать роутер мегафон

В Windows 9x при загрузке всегда создается системная виртуальная машина, в пределах ко­торой выделяется отдельное адресное пространство для ядра системы. Каждому запущенному 32-разрядному приложению Windows 9x (их называют приложениями Win32) также выделяется от­дельное пространство адресов в преде­лах системной виртуальной машины. Для всех 16-разрядных приложений Windows (приложения Winl6) система Windows 9x использует общее адресное про­странство в пре­делах системной виртуальной машины. Каждое приложение DOS выполняется в собственной вир­туальной машине.

В Windows 2000/XP при загрузке также создается системная виртуальная машина. Однако в отличие от Windows 9x, в Windows 2000/XP все 32-разрядные приложения работают в своих вир­туальных машинах, а для приложений MS-DOS и Win16 (16-разрядные приложения Windows 3x) создается общая виртуальная DOS-машина (NTVDM) которая работает, как системный фоновый процесс и отделена от ядра системы. В Windows 2000/XP 16-разрядные про­граммы и программы MS-DOS работают как отдельные потоки в многопотоковом процессе NTVDM.

____________________________________________________________________________________________________________________________________________________________

* Сущность технологии Hyper-Threading заключается в том, что один физический процессор представляется операционной системе как два логических процессора, и операционная система не видит разницы между одним процессором HT или двумя обычными процессорами. В обоих случаях операционная система направляет потоки как на двухпроцессорную систему. Далее все вопросы решаются на аппаратном уровне. В процессоре НТ каждый логический процессор имеет свой собственный набор регистров (включая и отдельный счетчик команд), а чтобы не усложнять технологию, в ней не реализуется одновременное выполнение инструкций выборки / декодирования в двух потоках. То есть такие инструкции выполняются поочередно. Параллельно выполняются лишь обычные команды.

Такая многозадачная архитектура Windows 2000/XP позволяет более быстро и более на­дежно выполнять 32-разрядные приложения, поскольку при выходе из приложения Win32 или приложения MS-DOS и Win16 (в том числе принудительном прекращении работы приложения) просто завершается работа соответствующей виртуальной машины, и все использовавшиеся ею системные ресурсы освобождаются.

Определение драйверов устройств было дано на предыдущей лекции. Драйверы отвечают за операции с аппаратным обеспечением. Они принимают команды от операционной системы и переводят их в конкретные инструкции, понятные соответствующим устройствам. Благодаря этому прикладные программы для Windows не зависят от различных устройств и пользуются сер­висом, который им предоставляет операционная система. Windows 2000/XP поддерживает три типа драйверов устройств – драйверы реального режима MS-DOS (SYS-файлы), 16-разрядные драй­веры для Windows 3.x (DRV-файлы) и вирту­альные 32-разрядные драйверы (например: VDD – виртуальный драйвер дисплея, VTD – виртуальный драйвер таймера, VPD – виртуальный драйвер принтера; их общее наименование – VxD).

Встроенные функции операционной системы Windows 2000/XP находятся в DLL – динами­чески загружаемых модулях (dynamic-link library). Модули DLL – это разделяемые биб­лиотеки процедур, к которым по мере необходимости обра­щаются исполняемые программы.

Основой кода Windows 2000/XP, выполняемого в основном, в нулевом кольце защиты про­цессора (в Windows 9x – выполнение производилось в третьем кольце защиты), являются следую­щие 32-разрядные DLL-модули:

1. Windows Manager – компонент, который управляет вводом и выводом на экран. Этот модуль имеет и другое имя – User. Он и располагается в библиотеке User32.dll.

2. Graphics Device Interface (GDI) – библиотека функций и структур, которые реализуют рисова­ние в контексте устройства. Контекст устройства – это логическая структура, не зависящая от физического устройства и позволяющая пользоваться максимальными возможностями и средствами для вывода графики. Вывод в конкретное физическое устройство производится с помощью драйвера устройства. Система при этом преобразовывает и, возможно, искажает ин­формацию с учетом ограничений, характерных для конкретного устройства. Поэтому реальная картина может отличаться от идеальной, созданной в контексте устройства.

3. Graphics Device Drivers (GDD) – аппаратно-зависимые драйверы, которые осуществляют связь с конкретными физическими устройствами ввода и вывода.

4. Console – компонент, который поддерживает текстовый режим вывода в окне.

5. Operating System Functions – функции, которые поддерживают все другие компоненты подсис­темы Win32.

Вывод по первому вопросу: основные достоинства персональной вычислительной ма­шины проявляются в диалоговом режиме. Организацию работы в таком режиме обеспечивает опе­рационная система. Современные операционные системы должны сочетать в себе такие качества, как высокое быстродействие, защищенность, надежность, а также приемлемые требования к аппа­ратному обеспечению. Наиболее полно все эти качества для операционных систем фирмы Micro­soft сочетаются в системах Windows 2000/XP.

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

Системное ПО

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

· управление памятью, вводом – выводом информации, файловой системой, взаимодействием процессов;

· диспетчеризацию процессов; защиту информации; учет использования ресурсов;

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

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

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

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

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Студент – человек, постоянно откладывающий неизбежность. 10573 – | 7332 – или читать все.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *