Надо Знать![]() |
ВведениеОперационная система - это базовый комплекс программного обеспечения, выполняющего управления аппаратным обеспечением компьютера или виртуальной машины, обеспечивает управление вычислительным процессом и организует взаимодействие с пользователем. Операционная система обычно состоит из ядра операционной системы и базового набора прикладного программного обеспечения. 1. Функции операционной системыГлавные функции:
2. Базовые сведенияПонятие операционной системы напрямую связано с такими понятиями, как:
Относительно своего назначения, операционные системы бывают [ ]
Относительно способа установки (инсталляции) операционной системы, операционные системы бывают [ Источник? ]
Относительно соответствия стандартам операционные системы бывают:
Относительно возможностей расширения операционные системы бывают:
Относительно возможностей внесения изменений в исходный код операционные системы бывают:
3. Составляющие ОСВ состав операционной системы входят:
Ядро системы - это набор функций, структур данных и отдельных программных модулей, которые загружаются в память компьютера при загрузке операционной системы и обеспечивают три типа системных сервисов:
Каждая из этих подсистем представлена соответствующими функциями ядра системы. Многозадачные операционные системы также включают еще одну обязательную составляющую - механизм поддержки многозадачности. Эта составляющая не предоставляется в качестве системного сервиса и поэтому не может быть отнесена к одной из подсистем. Существует три основных механизма обеспечения многозадачности ( планирования задач):
В первых двух случаях на каждом из процессоров в отдельно взятый момент времени рассчитывается только одна задача, но за счет достаточно малого кванта времени (в пределах миллисекунд), что поочередно предоставляется каждой из задач, возникает иллюзия одновременного выполнения в системе многих задач. В современных системах, как правило комбинируется методы 2 и 3. 4. Требования к оборудованиюОтдельная операционная система обычно может выполняться на ограниченном перечне оборудования, которое обеспечивает нужные ему механизмы. Современные универсальные (и не только) операционные системы обычно требуют аппаратной поддержки следующих механизмов:
Могут существовать и другие требования. 5. Подсистемы ядра ОС5.1. Интерфейс ядра операционной системыФункции ядра операционной системы могут быть выполнены в результате выполнения в приложениях специальных функций - системных вызовов. Назначение системного вызова состоит в том, что приложения не в состоянии самостоятельно определить, по каким адресам находятся функции ядра. Системный вызов в один из машинно-зависимых способов реализует механизм получения адресов функций ядра и передачу в эти функции необходимых параметров системного вызова, а также получения результата системного вызова. Чаще системные вызовы обеспечиваются через систему прерываний, благодаря чему адрес функции ядра не только рассчитывается аппаратно (в процессе обработки прерывания), но и обеспечивается защита информационных ресурсов ядра. Системные вызовы чаще всего синтаксис функции языка программирования, на котором написано ядро ОС. 5.2. Подсистема управления вводом-выводомПодсистема управления вводом-выводом реализует базовые механизмы обмена данными между устройствами ввода-вывода и оперативной памятью вычислительной машины и обеспечивает организацию файлов в файловые системы. Операция ввода выполняется как чтение данных с внешнего устройства в оперативную память, операция вывода - как запись данных из оперативной памяти на внешнее устройство. При работе с файлами система ввода-вывода внедряет специальную абстракцию - поток ввода-вывода, что позволяет программам, которые обращаются за сервисами ввода-вывода, использовать однообразный перечень функций работы с файлами независимо от типа устройства, на котором находится файл, и типа файловой системы, содержащей этот файл. Различия доступа к различным устройствам и файловых систем обеспечиваются дополнительными программными модулями - драйверами устройств и файловых систем. В отдельных операционных системах подсистема управления вводом-выводом также может внедрять механизмы, призванные повысить скорость обмена данными между задачами и файлами. Чаще всего используется механизм буферизации (кэширования) данных, который заключается в том, что при чтении данных из файла подсистема пытается одну операцию ввода читать данные блоками удобного (обычно достаточно большого) размера, а не порциями, которые запрашивает задача. Благодаря этому за одну операцию ввода в оперативную память попадают также дополнительные данные, которые хранятся в кэше и в дальнейшем передаются в программу без дополнительных обращений к устройству. Подобным образом этот механизм работает и при выполнении операций записи. 5.3. Подсистема управления оперативной памятьюЛюбая программа может выполняться только тогда, когда она загружена в оперативную память, так же, любые данные из файлов могут обрабатываться только тогда, когда они загружены в оперативную память. Загрузки программы и данных в оперативную память приводит к тому, что в оперативной памяти одновременно находятся сразу несколько компонентов: ядро операционной системы, командный интерпретатор, программа, выполняемая, и данные, которые обрабатываются. Кроме того, программа в процессе своего выполнения может обращаться к подсистеме управления оперативной памятью с запросами на выделение дополнительной - динамической - оперативной памяти. В многозадачных операционных системах количество компонентов, которые одновременно могут находиться в оперативной памяти возрастает пропорционально количеству задач и может достигать сотен. Подсистема управления оперативной памятью обеспечивает распределение оперативной памяти между различными компонентами, а также распределяет память под кэш системы ввода-вывода. В отдельных многозадачных операционных системах подсистема управления оперативной памятью также обеспечивает виртуализацию оперативной памяти, благодаря чему каждая задача (процесс) получает собственную виртуальную память, причем таким образом, что недостаток реальной (физической) памяти покрывается за счет перераспределения данных между оперативной памятью и внешним накопителем и перемещение данных между физической оперативной памятью и внешним накопителем защищен от задач. Это перемещение называется пейджинга ( англ. paging ) Или свопинга ( англ. swapping - Обмен) - в зависимости от терминологии конкретной ОС. Внедрение механизма виртуализации оперативной памяти позволяет получить два полезных последствия:
Виртуализация оперативной памяти требует аппаратной поддержки и обычно обеспечивается через специальную таблицу страниц памяти, содержащую соответствия между виртуальными и физическими адресами. 5.4. Подсистема управления задачами (процессами)Подсистема управления задачами (процессами) обеспечивает создание задачи (процесса), загрузки программного кода и его выполнения и завершения задачи (процесса). В многозадачных системах подсистема управления задачами (процессами) также обеспечивает механизмы зависимостей между задачами, в том числе: синхронизацию задач и наследование свойств. 5.5. Средства мижпроцеснои взаимодействияВзаимодействие процессов позволяет процессам синхронизировать свою работу, совместно и согласованно использовать общие ресурсы и совместно выполнять обработку данных. Взаимодействие процессов обеспечивается всеми подсистемами ядра ОС: подсистема управления вводом-выводом обеспечивает передачу данных между процессами; подсистема управления оперативной памятью распределяет под процессы совместной оперативную память, подсистема управления процессами обеспечивает синхронизацию выполнения процессов и внедряет механизм обмена сигналов, с помощью которого процессы сообщается о возникновении в системе чрезвычайных происшествий. 6. Дополнительная функциональность операционных систем6.1. БезопасностьБезопасность ОС базируется на двух идеях:
Запросы, в свою очередь, также делятся на два типа:
В дополнение к модели разрешить / запретить системы с повышенным уровнем безопасности также следят за деятельностью пользователей, что позволяет позже дать ответ на вопросы типа "Кто читал этот файл?" 6.2. Графический интерфейс пользователяБольшинство современных операционных систем имеют графический интерфейс пользователя (ИК, англ. Graphical User Interfaces, GUIs , Произносится как "Гуизо"). В некоторых старых ОС ИК встроенный в ядро, как например в оригинальных реализациях Microsoft Windows или MacOS. Большинство современных ОС являются модульными и графическая подсистема в них отделена от ядра (как например в Линукс, МакОС Х и частично в Виндовз). Многие операционные системы позволяют пользователю установить любой графический интерфейс на собственный выбор. Типичным примером в большинстве Юникс-систем (BSD, Linux, Minix) является оконная система X в сочетании с графическим менеджером KDE или Gnome. Для Юникс-систем графический интерфейс не является необходимым. Графический интерфейс пользователя непрерывно развивается. Например, интерфейс Windows модифицируется каждый раз при выпуске новой основной версии, а ИК MacOS была кардинально изменена после выпуска MacOS X в 2001 году. 6.3. Драйверы устройствДрайверы - это особый тип компьютерных программ, разработанных для корректного взаимодействия с устройствами. Они представляют интерфейс для взаимодействия с устройством через определенное шину компьютера, к которой данное устройство подключено, с помощью ряда команд что отправляют и получают данные с устройства. Эти программы зависящие как от устройства так и от операционной системы, то есть каждое устройство требует своего драйвера под каждую ОС. Ключевым моментом проектирования драйверов является абстрагирование. Каждая модель устройства (даже если устройства одинакового класса) является уникальной. Новые модели часто работают быстрее или производительнее и иначе контролируются. ОС не может знать, как контролировать каждое устройство сейчас и в будущем. Для решения этой проблемы ОС только задает правила поведения класса устройств. Задачей драйвера является превращение этих правил в специфические для каждого устройства команды управления. 6.4. Работа в сетиВ большинстве современных ОС реализована поддержка стека протоколов TCP / IP. Это значит что они могут взаимодействовать в сети, доступаючись к ресурсам друг друга. Многие ОС также поддерживают один или несколько специфических протоколов, например SNA на системах от IBM, DECnet на системах от Digital Equipment Corporation, и Microsoft -специфические протоколы для Windows. Для определенных задач виористовуються специфические протоколы, например NFS для работы с файлами по сети. 7. ИсторияПервые компьютеры вообще не имели ОС. В начале 1960-х они лишь комплектовались набором инструментов для разработки, планирования и выполнения задач. Среди прочих можно выделить системы от UNIVAC и Control Data Corporation. К концу 1960-х, однако, был разработан целый ряд операционных систем, в которых были реализованы все или большинство из вышеперечисленных функций. К ним можно отнести "Atlas" (Манчестерский университет), "CTTS" и "ITSS" ( Массачусетский технологический институт (МТИ)), "THE" (Ейндховенський технологический университет), "RS4000" (Университет Орхуса) и другие (на тот момент их насчитывалось около сотни) Наиболее развитые ОС того времени, такие как "OS/360" (компания " IBM" ), "SCOPE" (компания "CDC") и завершен уже в 1970-х годах "MULTICS" (МТИ и компания " Bell Labs" ), предусматривали возможность использования многопроцессорных системы. Спонтанный характер разработки ОС привел к нарастанию кризисных явлений, связанных, прежде всего, со сложностью и большими размерами разрабатываемых систем. ОС плохо масштабувались (проще не использовали всех возможностей мощных вычислительных машин; сложные неоптимально выполнялись или вообще не выполнялись на менее мощных системах) и были полностью несовместимыми между собой. В 1969 году сотрудники МТИ Кен Томпсон, Денис Ритчи и Брайан Керниган с коллегами разработали и реализовали ОС " Юникс" ("Unix"; первично "UNICS", в противоположность "MULTICS"). Новая ОС вобрала в себя многие черты предшественников, но в противовес им имела целый ряд преимуществ:
Благодаря удобству прежде всего в качестве инструментальной среды "Юникс" очень тепло встретили в университетах, а затем и в отрасли в целом и вскоре она стала прототипом единой ОС, которую можно было использовать в самых вычислительных системах, и - более того - быстро и с минимумом усилий перенести на другую аппаратную архитектуру. В конце 1970-х годов сотрудники Калифорнийского университета в Беркли внесли ряд существенных усовершенствований в исходные коды Юникс, включая реализацией стека сетевых протоколов TCP / IP. Их разработка стала известной под именем BSD ( англ. Berkeley Software Distribution ). Из-за конфликта с " Bell Labs" Ричард Столмен поставил задачу реализовать полностью независимую от авторских прав ОС на основе Юникс, основав проект " GNU" ( англ. рекурсивсне сокращение "GNU's Not Unix" - "ГНЮ НЕ Юникс"). Вскоре "Юникс" стала стандартом де-факто, а потом и юридическим - ISO / IEC 9945. ОС, придерживались этого стандарта или опираются на него, называют "открытыми" или "стандартным". К ним относятся системы, основанные на последней версии "Юникс", выпущенной "Bell Labs" ("System V"), на разработках Университета Беркли (" FreeBSD" , " OpenBSD" , " NetBSD" ), а также ОС "Linux", разработанная сообществом во главе с Линусом Торвальдсом и в рамках проекта "GNU" (основные системные инструменты). 8. НастоящееСовременные операционные системы типично имеют графический интерфейс пользователя, который в дополнение к клавиатуры пользуется также вказивниковим устройством - мышью или тачпадом. Старые системы, и системы, не предназначенные для частой непосредственного взаимодействия с пользователем (например серверы) типично используют интерфейс командной строки. Оба подхода так или иначе реализуют оболочку, которая превращает команды пользователя - текстовые с клавиатуры, или движения мышки - на системные вызовы. При выборе ОС ключевым моментом является архитектура компьютера (в частности центрального процессора), на которой она будет запускаться. На персональных компьютерах совместимых с IBM РС запускаются ОС семейства "Майкрософт Виндовз", "Линукс" и "БСД". На мэйнфреймах Burroughs MCP - B5000, IBM OS/360 - IBM System/360, UNIVAC EXEC 8 - UNIVAC 1108. Кроме того на большинстве современных мэйнфреймов запускаются различные варианты Линукс или Юникс, а на некоторых - версия Datacenter Windows 2003 Server. На встраиваемых системах используется большое количество встроенных ОС. 8.1. Юникс-подобные ОСК юникс-подобных ОС относится большое количество операционных систем, которые можно условно разделить на три категории - System V, BSD и Линукс. Само название " Юникс" является торговой маркой, принадлежащей "The Open Group", которая собственно и лицензирует каждой конкретной ОС на предмет того, соответствует ли она стандарту. Поэтому через лицензионные или другие неувязки некоторые ОС, которые фактически являются Юникс-подобными, не признаны официально . Системы Юникс запускаются на большом количестве процессорных архитектур. Они широко используются как серверные системы в бизнесе, как окружения рабочего системы в академическом и инженерном среде. Здесь популярны свободные варианты Юникс, такие как Линукс и БСД-системы. Кроме того, некоторые из них в последнее время получают широкое распространение в корпоративной среде, особенно это касается ориентированных на конечного пользователя дистрибутивов Линукс, в первую очередь Ubuntu, Mandriva, Red Hat Enterprise Linux и Suse. Линукс также является популярной системой на столешницах разработчиков, системных администраторов и других ИТ-специалистов. Некоторые варианты Юникс, например HP-UX компании Hewlett-Packard и AIX от IBM запускаются только на аппаратных системах своих разработчиков. Другие, как например Solaris, могут запускаться на многих аппаратных типах, включая серверы на базе x86 и ПК. 8.2. Семья Microsoft WindowsСначала семья ОС Microsoft Windows проектировалась как графическая надстройка над старыми средами DOS. Современные версии разработаны на базе нового ядра ( англ. NT - New Technology , Новая технология), которое появилось в OS / 2, заимствовано из VMS. Windows запускается на 32 - и 64-битных процессорах Словарь и AMD; старыми версиями могли запускаться на процессорах DEC Alpha, MIPS, Fairchild (позднее Intergraph) Clipper и PowerPC. Проводились работы на портирование ее на архитектуру SPARC. По состоянию на 2006 год Windows удерживает монопольное положение (около 94%) мирового рынка настольных систем, несколько теряя позиции из-за роста популярности систем с открытыми кодами. Она также используется на малых и средних серверах сетей и баз данных. В последнее время Microsoft проводит ряд маркетинговых исследований, имеющих целью показать привлекательность семейства Windows на рынке корпоративных систем. Крупнейшее на сегодняшний день распространена версия Microsoft Windows XР, выпущенная 25 октября 2001 года. Последний выпуск Windows XP Service Pack 3 выпущенных 12 декабря 2007 года. По состоянию на 27 июня 2008 года операционная система семейства Microsoft Windows занимают 91% доли мирового рынка ОС [1] В ноябре 2006 года, после более чем 5 лет разработки, корпорация Microsoft выпустила ОС Windows Vista, содержит большое количество нововведений и архитектурных изменений по сравнению с предыдущими версиями Windows. Среди прочих можно выделить новый интерфейс, названный Windows Aero, ряд усовершенствований безопасности, например Контроль учетной записи пользователя ( User Account Control) и новые программы для мультимедиа, например Windows DVD Maker. 8.3. Mac OS XMac OS X - это ряд графических ОС, разрабатываемых реализуются и поддерживаются компанией Apple. Mac OS X - это преемник оригинальной MacОС, что ее разрабатывала Apple с 1984 года. В отличие от предшественницы, Mac OS X является Юникс -системой, разработанной на основе NEXTSTEP, близкой к ветви BSD. Первые выпуски Mac OS X были в 1999 году - Mac OS X Server 1.0, и в марте 2001 - Mac OS X 10.0. С тех пор было выпущено еще 7 версий Mac OS X в вариантах "конечный пользователь" и "сервер". Последняя версия, Mac OS X 10.7, выпущенная 15 июля 2011 года. Выпуски Mac OS X называются именами крупных животных из семейства кошачьих; Последняя версия (10.7) носит название "Лев" и содержит много архитектурных и интерфейсных решений, призванных обеспечить лучшую совместимость и интеграцию с операционной системой для мобильных устройств Apple - iOS. Серверная версия Mac OS X Server архитектурно идентична версии для конечного пользователя, но содержит программы для управления рабочими группами и администрирование ключевых сетевых служб, включая почтовые службы, серверы каталога, доступ к файлам, веб, календарей, вики Samba, LDAP, DNS, Apache и др.. В версии 10.7 серверные компоненты устанавливаются просто как дополнительный набор программ в среде рабочей станции. 9. Облачные операционные системыОсновная идея такой системы - легкий переход от одного компьютера к другому. Здесь могут возникнуть непроизвольные аналогии с аккаунтом социальной сети, который можно подгружать на любом доступном терминале с доступом к Сети в независимости от установленной ОС. Примерно такая идея и преследуется создателями этой новой революционной операционной системы. [2] 10. Сноски
Литература
См.. такжекод для вставки Данный текст может содержать ошибки. скачать |