Классификация операционных систем по семействам. Типы операционных систем

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

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

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

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

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

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

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

    Существует несколько видов операционных систем: DOS, Windows, UNIX разных версий и др. Наиболее распространенной является операционная система Windows. Существует несколько версий Windows: Windows-95, Windows-98, Windows Me, Windows-2000,Windows XP, Windows Vista. Все они близки между собой по содержанию, поэтому в дальнейшем рассмотрим операционные системы 2000/XP/Vista и Windows-9х.

    20-летния история операционных систем интересна и поучительна, исполнена драматических событий и героизма, подвигов и предательства. А началась она именно с MS DOS(аббревиатура словосочетания Disk Operating System). Точнее - с первой версией этой ОС, выпущенной корпорацией Microsoft в 1981 г, предназначенной для поставки с компьютерами IBM PC (хотя сначала IBM отдала предпочтение другой ОС под названием CP/М). Кстати, немногие сегодня помнят, что MS-DOS отнюдь не была оригинальной разработкой самой Microsoft: компания Билла Гейтса лишь доработала «операционку» под названием QDOS, созданную компанией Seattle Computer Products.

    16-разрядная однозадачная операционная система DOS обладала «интерфейсом командной строки», т. е. все команды пользователю приходилось набирать на клавиатуре вручную, в командной строке ОС.

    Никакой графики. Никакого сервиса… Однако DOS процветала на протяжении 10 лет. У Microsoft даже появились конкуренты в виде фирм Novell, Digital Research и… IBM. Каждая из этих компаний выпустила свою версию DOS, которые во многом превосходили продукт Microsoft. В частности, Novell DOS пользовалась заслуженной популярностью, как превосходная сетевая ОС, продукт IBM обладал лучшими сервисными возможностями.

    Конечно, со временем DOS совершенствовалась и пополнялась новыми программами. С каждой новой версии она поддерживала все больше типов устройств. Однако главные ее недостатки не были, да и не могли быть устранены.

    Главным уязвимым местом DOS оставалась работа с оперативной памятью. Дело в том, что в эпоху создания MS-DOS оперативная память большинства компьютеров не превышала 256 килобайт. DOS могла работать с 640 килобайтами оперативной памяти, и Билл Гейтс утверждал, что никому и никогда не понадобится больший объем.

    Но время шло… Память на компьютерах потихоньку росла - 1 Мбайт, 2 Мбайта… Появились программы, которым требовался для работы весь объем оперативной памяти. Стандартный же сервис DOS этой возможности не предоставлял. Поэтому приходилось использовать специальные программы - менеджеры памяти. Но и они не могли заставить упрямую DOS размещать загружаемые при включении компьютера программы вне «области 640 килобайт». Возникал парадокс: сколько бы оперативной памяти ни имел ваш компьютер, вы не могли запустить программу, если у вас не имелось достаточно свободного пространства в стандартной памяти - той самой области 640 килобайт…

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

    Между тем в конце 80-х годов графический режим стал уже стандартным для таких компьютеров, как Apple Macintosh - благодаря чему эти компьютеры превратились в стандарт «издательского» компьютера. PC же могли похвастаться только такими текстовыми «оболочками», как знаменитый файловый менеджер Norton Commander, а потому воспринимались скорее как дорогие игрушки.

    Наконец, третьим препятствием на пути MS-DOS стала однозадачность. Все больше и больше людей желало запускать на своем компьютере сразу несколько программ с возможностями переключения между ними - а DOS при всем желании этого обеспечить не могла, в отличие от ОС тех же компьютеров Macintosh. В результате, с появлением Windows 95, DOS практически сошла со сцены, хотя до сих пор установлена на наших компьютерах в качестве составляющей ядра Windows. А в 1999 году IBM даже выпустила новую версию - DOS 2000.

    Первая версия Windows вышла в свет в конце 80-х годов и осталась совершенно незамеченной. Аналогичная участь постигла и следующую версию - лишь версия Windows 3.0 (1992) сумела пробить себе дорогу к сердцам пользователей и стать «продуктом года». А еще через два года на свет появились версии 3.1 и 3.11 (последняя включала такой значительный элемент, как полную поддержку мультимедиа и работу в локальной сети - потому и носила уточняющее название Windows For Workgroups), окончательно утвердившие господство Windows на Олимпе операционных систем.

    Своеобразным ответом корпорации Microsoft, выпустившей в конце 1994 года на рынок легендарную Windows 95, стала очередная реализация MacOS версии 7.5.5. Удивительно, но факт: спустя десятилетие с момента появления MacOS 1.0 данная платформа не претерпела серьезных «архитектурных» изменений: в верхней части рабочего стола по-прежнему отображалась системная панель, в нижней – корзина, в которую помещались подлежащие удалению файлы, пользователю все также было доступно окно системных настроек и ярлыки внешних накопителей. Были значительно модифицированы графические возможности системы: теперь псевдотрехмерные окна и другие функциональные элементы интерфейса одинаково привлекательно отображались при экранном разрешении от 640Х480 до 1600Х1200 точек, появилась поддержка мультимедиа, справочная система MacOS приобрела черты интерактивности. Ассортимент прикладного программного обеспечения, входившего в комплект поставки системы, также был заметно расширен: помимо текстового и графического редакторов, уже знакомой системы File Finder, набора игровых программ и специализированных приложений, были доступны утилиты связи, поддерживающие режим удаленного соединения с помощью модема и функции организации локальной сети. Для MacOS 7.5.5. была локализована популярная версия броузера Netscape Communicator 4.06 и программа просмотра текстов Acrobat Reader 3.0.

    Текущая версия MacOS имеет обозначение X, она появилась на свет в конце 2001 года. Если рассматривать новую операционную систему с точки зрения ее функциональных возможностей, можно смело сказать, что она является полноценным эквивалентом Microsoft Windows XP для компьютеров Apple Macintosh. Имеется широчайший набор программного обеспечения, рассчитанного на работу под управлением MacOS X, а сама платформа отличается поразительным быстродействием, эффективностью и надежностью. Работы над дальнейшим развитием программного комплекса серии MacOS для компьютеров Apple Macintosh продолжаются. Уже сейчас известно, что программисты Apple трудятся над усовершенствованием MacOS X, которая спустя непродолжительное время станет, возможно, новой реализацией программ данного класса.

    Сегодняшняя OS/2 — это мощная многозадачная операционная система с оконным графическим интерфейсом и набором созданных специально для нее прикладных программ, ориентированная на рынок персональных компьютеров и рабочих станций. Интерфейс OS/2 включает все необходимые элементы современных OS — рабочий стол и корзину, иконки и панель задач, программу просмотра содержимого дисков, часы и драйвера множества периферийных устройств, таких как, например, порты USB или инфракрасный порт. Инсталляция платформы производится автоматически, причем OS/2 самостоятельно определяет оптимальную конфигурацию системы исходя из быстродействия процессора и объема оперативной памяти (однако пользователь может и самостоятельно указать комплект необходимых программ, исключив ненужные), тестирует оборудование и настраивает все необходимые драйвера без участия оператора. В комплект поставки входит пакет IBM Works, аналогичный MS Office и содержащий текстовый и табличный редактор, имеется удобный web-броузер WebExplorer и почтовый клиент NotesMail, система для создания анимации NeonGraphics, широчайший выбор всевозможных бизнес-приложений и множество игр от Civilisation и Quake lll до Master of Orion. Имеются и глобальные отличия OS/2 от привычной пользователям IBM PC Microsoft Windows — например, специальный самообучающийся программный пакет позволяет управлять системой с использованием голосовых команд, для чего в коробку с компакт-дисками разработчики вкладывают микрофон и наушники.

    Основанная в 1990 году Жаном-Луисом Гасси компания Be Incorporated поставила своей целью разработать и выпустить на рынок операционную систему, которая объединяла бы в себе достоинства всех перечисленных выше программных продуктов, оставаясь при этом достаточно компактной, надежной, простой в инсталляции и использовании, а также отвечающей требованиям, предъявляемым к современным ОС. В частности, такая платформа должна иметь удобный оконный интерфейс и обеспечивать многозадачность. Операционная система, созданная программистами Be Incorporated, получила название BeOS и в настоящий момент является одной из наиболее перспективных разработок в области системного программного обеспечения для персональных компьютеров.

    В основу архитектуры BeOS были заложены принципы, использующиеся в операционных системах семейства UNIX, однако они претерпели значительные видоизменения, поскольку разработчики определяли своей приоритетной задачей прежде всего удобство для пользователя и широту функциональных возможностей новой системы. BeOS построена по «модульному» принципу: в процессе инсталляции на диск переносятся только те компоненты, которые необходимы именно данному потребителю, благодаря чему пользователь получил возможность компоновать «версию» системы под свои специфические задачи, не забивая дисковое пространство ненужными ему в работе программами. Создатели данной платформы постарались включить в состав программного комплекса практически все необходимые на сегодняшний день функции: BeOS поддерживает технологию Plug And Play, позволяющую автоматически настраивать подключаемое к компьютеру периферийное оборудование без переустановки системы, благодаря наличию большого набора протоколов работающий под управлением BeOS компьютер можно подключить к локальной сети или Интернету, система умеет распознавать практически все существующие на сегодняшний день графические, видео и аудиоформаты. Поддержка портов USB открывает возможность использовать совместно с BeOS широчайший спектр различных устройств, включая даже еще не созданное в настоящий момент периферийное оборудование.

    Интерфейс BeOS стандартен для современных операционных систем подобного класса: после загрузки на экране компьютера появляется рабочий стол с произвольно устанавливаемым пользователем фоновым изображением, системными иконками и «корзиной». В составе BeOS имеется специальное приложение, называемое Deskbar: по своим функциям оно полностью аналогично «панели задач» Windows, пользователь может перемещать его по экрану или «прятать» за его границами, причем разработчики предлагают два различных варианта данной утилиты, отличающихся друг от друга своим внешним видом: «стандартную панель» для пользователей, привыкших к интерфейсу Windows или MacOS, и «минимальный вариант», занимающий на экране компьютера относительно небольшое пространство. Помимо часов, панель задач BeOS включает несколько выпадающих меню, обеспечивающих доступ как к ресурсам компьютера, так и к хранящимся на дисках файлам и папкам, а также к установленным в системе программам. Пользователь может создать произвольное количество независимых «рабочих столов», каждый из которых имеет не только собственное экранное разрешение и использует индивидуальную цветовую палитру, но и отображает в системном меню различные программные группы.

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

    основная цель системы — выполнять широкий спектр заданий и программ;

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

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

  • многозадачное окружение, позволяющее пользователю выполнять более одного задания в одно и тоже время.

    В настоящее время существует множество ОС, построенных на ядре UNIX, такие как SCO Unix (Santa Cruz Operation), Novell UnixWare, Interactive Unix, Linux, семейство BSD (BSDI, FreeBSD, NetBSD, OpenBSD), Solaris, AIX, IRIX, Digital Unix, HP-UX. Этот список не претендует на полноту, ибо кроме перечисленных есть еще множество менее распространенных Unix’ов и Unix-подобных систем.

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

    В противоположность Unix’у Windows и OS/2 при загрузке фактически на ходу прилинковывают драйверы. При этом компактность собранного ядра и повторное использование общего кода на порядок ниже, чем у Unix. Кроме того, при неизменной конфигурации системы ядро Unix без переделки (потребуется изменить только стартовую часть BIOS) может быть записан в ПЗУ и выполняться не загружаясь в ОЗУ. Компактность кода особенно важна, т.к. ядро и драйверы никогда не покидают физическую оперативную память, не «свопятся» на диск.

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

    2. АНАЛИЗ ОПЕРАЦИОННЫХ СИСТЕМ СЕМЕЙСТВ WINDOWS 9X И WINDOWS 2000/XP

    В августе 1995 года вышла в свет Windows 95 , но её выход не привел к вытеснению MS-DOS, хотя почти все функции MS-DOS были перенесены в Windows. Как Windows 95, так и новая версия MS-DOS 7.0 содержали большинство особенностей монолитной операционной системы, включая виртуальную память и управление процессами. Однако ОС Windows 95 не была полностью 32-разрядной программой. Она содержала большие куски 16-разрядного ассемблерного кода (а также немного 32-разрядного) и продолжала использовать файловую систему MS-DOS, практически со всеми её ограничениями. Единственное значительное изменение файловой системы заключалось в добавлении длинных имен файлов к именам из 8+3 символа, разрешенным в MS-DOS.

    Даже в выпуске Windows 98 в июне 1998 года MS-DOS все ещё присутствовала (теперь она называлась версией 7.1) и состояла из 16-разрядного кода. Хотя теперь ещё больше функций было переведено из MS-DOS-части системы в часть Windows, а поддержка больших дисковых разделов стала стандартом, по своему строению ОС Windows 98 не сильно отличалась от Windows 95. Основное отличие заключалось в интерфейсе пользователя, в большей степени интегрировавшем в себе Интернет и рабочий стол пользователя. Именно эта интеграция и привлекла внимание Министерства юстиции США, которое затем выдвинуло против корпорации Microsoft иск, обвиняя корпорацию Microsoft в нарушении закона о монополиях. Корпорация Microsoft яростно отрицала свою вину. В апреле 2000 года Федеральный суд США согласился с правительством. Кроме того, что в ядре ОС Windows 98 содержался большой кусок 16-разрядного ассемблерного кода, у этой системы были ещё серьёзные проблемы, Во-первых, хотя эта система была многозадачной, само ядро не был реентерабельным, Если процесс был занят управлением какой-либо структурой данных в ядре, а затем его квант времени заканчивался и начинал работу другой процесс, новый процесс мог получить структуру данных в противоречивом состоянии. Чтобы предотвратить возникновение подобной проблемы, большинство процессов, зайдя в ядро, первым делом получали гигантский мьютекс, покрывающий всю систему, прежде чем приступить к каким-либо действиям. Хотя такой подход и устранял потенциальную угрозу противоречивости структур данных, он также уничтожал большую часть преимуществ многозадачности, так как процессам, чтобы войти в ядро, часто приходилось ждать пока другой процесс ядро покинет.

    Во-вторых, у каждого процесса было 4-гигабайтное адресное пространство, в котором первые 2 Гбайт полностью принадлежали процессу. Однако следующий 1Гбайт совместно использовался (с возможностью записи) всеми процессами системы. Нижний 1Мбайт так совместно использовался всеми процессами, чтобы все они могли получать доступ к векторам прерывания MS-DOS. Эта возможность вовсю использовалась большинством приложений Windows 98. В результате ошибка в одной программе могла повредить ключевые структуры данных, используемые посторонними процессами, вследствие чего все эти процессы рушились. Что ещё хуже, последний 1Гбайт совместно использовался (с возможностью записи) процессами и ядром и содержал некоторые критические структуры данных. Любая программа, записав поверх этих структур какой-либо мусор (преднамеренно или нет), могла вывести из строя всю систему. Очевидное решение, заключающееся в том, чтобы не помещать структуры данных ядра в пространство пользователя, было неприменимо, так как старые программы, написанные для MS-DOS, не смогли бы тогда работать в Windows 98.

    В 2000 году корпорация Microsoft выпустила слегка измененную версию системы Windows 98, названную Windows Me (Windows Millennium Edition - Windows, выпуск тысячелетия). Хотя в данной версии были исправлены некоторые ошибки, а также добавлены новые функции, под внешней оболочкой скрывалась все та же Windows 98. Новые функции включали в себя улучшенные возможности организации и совместного использования изображений, музыки и фильмов, серьезнее поддерживали работу с сетью на дому и многопользовательские игры, а также содержали больше функций, относящихся к Интернету, таких как поддержка мгновенных сообщений и широкополосных соединений (кабельных модемов и ADSL). Одна интересная новая функция состояла в возможности восстановить прежние настройки компьютера после неверной установки каких-либо параметров. Если пользователь перенастраивал систему (например, изменял paзрешение экрана с 640×480 на 1024х768), и после этого система переставала работать, теперь он мог вернуться к последней работающей конфигурации.

    Следом за NT 4.0 предполагалось выпустить версию NT 5.O. Однако в 1999 году корпорация Microsoft изменила ее название на Windows 2000 , в основном из-за попыток найти нейтральное имя, выглядящее логическим продолжением как для пользователей Windows 98, так и для пользователей NT. Таким образом, корпорация Microsoft рассчитывала иметь единую операционную систему, построенную на основе надежной 32-разрядной технологии, но использующую популярный интерфейс пользователя системы Windows 98.

    Поскольку в действительности операционная система Windows 2000 представляет собой NT 5.0, она унаследовала множество свойств системы NT 4.0. Она является полностью 32-разрядной (планируется переход на 64-разрядную) многозадачной системой с индивидуально защищенными процессами. У каждого процесса есть собственное 32-разрядное (будет 64-разрядное) виртуальное адресное пространство. Операционная система работает в режиме ядра, тогда как процессы пользователя работают в пользовательском режиме, что обеспечивает полноценную защиту (в отличие от Windows 98). У процессов может быть один или несколько потоков, видимых для операционной системы и управляемых ею. Она удовлетворяет требованиям безопасности уровня С2 Министерства обороны США для всех файлов, каталогов и процессов, а также других объектов, которые могут использоваться совместно (по крайней мере, если гибкий диск вынут, а сеть отключена). Наконец, она обладает полной поддержкой симметричных многопроцессорных систем с числом процессоров от 2 до 32.

    Тот факт, что Windows 2000 в действительности представляет собой NT 5.0, проявляется во многом. Например, системный каталог называется \winnt , а двоичный файл операционной системы (в каталоге \winnt\system32 ) называется ntoskrnl.exe. Если щелкнуть на этом файле правой кнопкой мыши и посмотреть его свойства, мы увидим, что номер его версии представляет собой 5xxx.yyy.zzz , где 5 означает NT 5, ххх - номер выпуска, ууу - номер сборки (компиляции), a zzz - дополнительный номер версии. Кроме того, многие файлы в каталоге \winnt
    и его подкаталогах содержат буквы nt в своих именах, как, например, виртуальный эмулятор MS-DOS ntz’dm.

    Операционная система Windows 2000 - это не просто улучшенная версия NT 4.0 с интерфейсом Windows 98. Начнем с того, что она содержит множество других функций, которые ранее были только в Windows 98. К ним относится полная поддержка устройств plug-and-play, шины USB, стандарта IEEE 1394 (FireWire), IrDA (Infrared Data Association - стандарт на инфракрасную передачу данных и вывод на печать, разработанный ассоциацией IrDA), а также, среди прочего, управление питанием. Кроме того, были добавлены несколько новых функций, не присутствовавших ранее в других операционных системах корпорации Microsoft, включая каталоговую службу Active Directory, систему безопасности Kerberos, поддержку смарт-карт, инструменты мониторинга системы, лучшую интеграцию лэптопов и настольных компьютеров, инфраструктуру системного администрирования и рабочие объекты. Другая новая особенность файловой системы NTFS состоит в разновидности связи с копированием при записи, при использовании которой два пользователя могут совместно использовать один связанный файл. Как только один из пользователей начинает запись в этот файл, автоматически создается копия файла.

    Еще одно значительное усовершенствование заключается в интернационализации. Операционная система NT 4.0 поставлялась в виде отдельных версий для различных языков, так как текстовые строки были внедрены в программный код. При установке английского программного пакета на голландский компьютер часто части операционной системы переставали использовать голландский язык и переходили на английский, поскольку определенные файлы, содержащие программные и текстовые строки, были перезаписаны. Эта проблема была устранена. Операционная система Windows 2000 состоит из единого двоичного кода, работающего во всех странах мира. Для каждой установки системы и даже для каждого пользователя можно выбрать язык, который будет использоваться во время работы системы. Это возможно потому, что все пункты меню, строки диалоговых окон, сообщения об ошибках и другие текстовые строки были удалены из операционной системы и помещены в специальные каталоги, по одному для каждого языка. Как и предыдущие версии операционной системы NT, Windows 2000 использует кодировку Unicode для поддержки языков, не использующих латинский алфавит, например русского, греческого, иврита и японского.

    Единственная вещь, которой нет в Windows 2000 - это MS-DOS. Ее просто нет здесь ни в каком виде (как не было в NT). Есть интерфейс командной строки, но это новая 32-разрядная программа, включающая функциональность старой системы MS-DOS, а также некоторые новые функции.

    Несмотря на многочисленные свойства, способствующие переносимости системы с точки зрения программ, аппаратуры, языков и т. д., в одном отношении операционная система Windows 2000 обладает меньшей переносимостью, чем NT 4.0. Она работает только на двух платформах - Pentium и Intel IA-64. Изначально операционная система NT поддерживала дополнительные платформы, включая PowerPC, MIPS и Alpha, но с годами корпорация Microsoft перестала поддерживать эти процессоры один за другим по коммерческим соображениям.

    Операционная система Microsoft Windows XP (от англ. eXPerience - опыт), известная также под кодовым наименованием Microsoft Codename Whistler, является новой ОС семейства Windows, созданной на базе технологии NT. Первоначально в планы корпорации Microsoft входила разработка двух независимых операционных систем нового поколения. Первый проект получил рабочее название Neptune, эта ОС должна была стать очередным обновлением Windows Millennium Edition, новой системой линейки Windows 9X. Второй проект, называвшийся Odyssey, предполагал создание ОС на платформе Windows NT, которая должна была придти на смену Windows 2000. Однако руководство Microsoft посчитало нецелесообразным рассредоточивать ресурсы на продвижение двух разных ОС, вследствие чего оба направления разработок были объединены в один проект — Microsoft Whistler. Возможно, именно благодаря этому решению Windows XP объединяет в себе достоинства уже знакомых пользователям операционных систем предыдущих поколений: удобство, простоту в инсталляции и эксплуатации ОС семейства Windows 98 и Windows ME, а также надежность и многофункциональность Windows 2000. В настоящее время Windows XP для настольных ПК и рабочих станций выпускается в трех модификациях: Home Edition для домашних персональных компьютеров, Professional Edition - для офисных ПК и, наконец, Microsoft Windows XP 64bit Edition - это версия Windows XP Professional для персональных компьютеров, собранных на базе 64-битного процессора Intel Itanium с тактовой частотой более 1 ГГц.

    Для запуска Microsoft Windows XP необходим персональный компьютер, отвечающий следующим минимальным системным требованиям: процессор - Pentium-совместимый, тактовая частота от 233 МГц и выше; объем оперативной памяти - 64 Мбайт; свободное дисковое пространство - 1,5 Гбайт. Однако для стабильной и быстрой работы рекомендуется устанавливать данную операционную систему на компьютер со следующими оптимальными характеристиками: процессор - Pentium-II-совместимый (или выше), тактовая частота от 500 МГц и выше; объем оперативной памяти - 256 Мбайт; свободное дисковое пространство - 2 Гбайт. Устройство для чтения компакт-дисков (CD-ROM), модем со скоростью не менее 56 Kbps.

    Если сравнить Windows XP с более ранними версиями Microsoft Windows, в новой операционной системе легко обнаружить множество значительных отличий. Несмотря на то, что эта ОС была разработана на основе уже хорошо знакомой российским пользователям платформы NT и, на первый взгляд, по своим характеристикам во многом схожа с Microsoft Windows 2000, фактически Windows XP относится к принципиально иному поколению операционных систем семейства Windows. Теперь пользователь Windows не привязан к какому-либо стандартному интерфейсу, устанавливаемому в системе по умолчанию. Если вам не нравится традиционный вид окон, элементов управления и Панели задач, доставшийся новой ОС «в наследство» от Windows 2000, то вы можете без труда изменить их, загрузив из Интернета любой из сотен специально разработанных «Тем». Традиционное Главное меню, открывающее доступ к установленным на компьютере программам, хранящимся на дисках документам и настройкам операционной системы, также претерпело ряд значительных изменений. Теперь при нажатии кнопки Пуск появляется динамическое меню, содержащее значки лишь пяти программ, которыми пользуется наиболее часто. Благодаря этому можно начать работу с нужными приложениями значительно быстрее. Здесь же расположены значки браузера Microsoft Internet Explorer 6 и почтового клиента Outlook Express 6, кнопки Выход из системы (Log Off) и Выключение компьютера (Turn Off Computer), позволяющие завершить текущий сеанс работы с Windows и выключить компьютер.

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

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

    Можно сказать точно, что эта система имеет похожесть по строению с Windows XP во многих решениях (например она построена как и XP на ядре NT и имеет поддержку NTFS), но в ней содержится очень много новых служб, продуманный интерфейс Windows Aero и доработка системы поиска и индексации.

    Windows Vista – это новое решение от небезызвестной Microsoft. Эта ОС сочетает в себе все достижения в сфере безопасности, дизайна, коммуникаций и широкой совместимости с разными устройствами.

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

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

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

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

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

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

    Центр резервного копирования и восстановления облегчает резервное копирование настроек, файлов и программ, позволяя осуществлять его в удобном для пользователя месте и в удобное время, а также автоматизировать эту работу, выполняя ее по расписанию. Пользователь может поместить резервную копию на СD и DVD, внешний жесткий диск, другой жесткий диск, установленный на компьютере, USB-устройство флэш-памяти или на другой компьютер или сервер, подключенный к сети.

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

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

    Windows Media Center объединяет в себе развлечения - включая ТВ-передачи и записи, фильмы, музыку и изображения- и управляется при помощи системы меню и дистанционного управления. В Windows Media Center Windows Vista улучшена система меню и расширены возможности поддержки цифрового телевидения и кабельного телевидения высокой четкости, что позволяет настроить компьютер для создания электронной комнаты отдыха и развлечений. Кроме того, доступны новые возможности для организации доступа к компьютеру из разных комнат через дополнения к Media Center, включая Microsoft Xbox 360.

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

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

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

    Некоторые отличия между Windows 9x и Windows 2000/XP

    Аспект

    Windows 9x

    Windows 2000/XP/Vista

    Полностью 32-разрядная система?

    Нет

    Да

    Безопасность?

    Нет

    Да

    Защищенное отображение файлов?

    Нет

    Да

    Приватное адресное пространство для каждой программы MS-DOS?

    Нет

    Да

    Unicode?

    Нет

    Да

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

Apple Mac OS X

Mac OS представляет собой линейку операционных систем, созданных компанией Apple. Она поставляется предустановленной на всех новых компьютерах Macintosh или Mac. Последние версии этой операционной системы известны как OS X . А именно Yosetime (выпущенный в 2014 году), Mavericks (2013), Mountine Lion (2012), Lion (2011), и Show Leopard (2009). Также есть Mac OS X Server , который предназначен для работы на серверах.

По данным общей статистики StatCounter Global Stats, процент пользователей Mac OS X составляет 9,5% рынка операционных систем, по состоянию на сентябрь 2014 года. Это намного ниже чем процент пользователей Windows (почти 90% ). Одной из причин этого является то что компьютеры Apple очень дорогие.

Linux

Linux — семейка операционных систем с открытым исходным кодом. Это значит, они могут модифицироваться (изменяться) и распространятся любым человеком по всему миру. Это очень отличает эту ОС от других, таких как Windows, которая может изменяться и распространяться только самим владельцем (Microsoft). Преимущества Линукса в том, что он бесплатный, и есть много различных версий на выбор. Каждая версия имеет свой внешний вид, и самые популярные из них это Ubuntu , Mint и Fedora .

Linux назван в честь Линуса Торвальдса, который заложил основу в Linux в 1991 году.

По данным общей статистики StatCounter Global Stats, процент пользователей Linux составляет менее 2% рынка операционных систем, по состоянию на сентябрь 2014 года. Однако, из-за гибкости и легкости в настройках большинство серверов работают на Linux.

Операционные системы для мобильных устройств

Все операционные системы, о которых мы говорили выше разработаны для настольных и портативных компьютеров, таких как ноутбук. Есть операционные системы, которые разработаны специально для мобильных устройств, таких как телефоны, и MP3-плееры, например, Apple, IOS, Windows Phone и Google Android. На рисунке ниже вы можете увидеть Apple, IOS работающий на IPad.

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

На этом все. Оставьте в комментариях какой операционной системой пользуетесь вы и почему она вам нравиться

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

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

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

Уровнем ниже находятся серверные ОС. Серверы представляют собой или многопроцессорные компьютеры. Эти ОС одновременно обслуживают множество пользователей и позволяют им делить между собой программно-аппаратные ресурсы. Серверы также предоставляют возможность работы с печатающими устройствами, файлами или Internet . У Internet -провайдеров обычно работают несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web -сайтов и обрабатываются входящие запросы. UNIX и Windows 2000 являются типичными серверными ОС.

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

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


23. Базовые понятия операционных систем. Процессы и потоки. Управление памятью.

Процессы

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

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

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

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

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

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

Модель процессов упрощает представление о внутреннем поведении системы. Некоторые процессы запускают программы, выполняющие команды, введенные с клавиатуры пользователем. Другие

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

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

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

Потоки

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

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

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

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

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

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

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

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

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

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

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

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

Концепция потоков полезна также в системах с несколькими процессорами, где возможен настоящий параллелизм.

Управление памятью

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Работа системы свопинга заключается в следующем. Пусть имеются 4 процесса - А, В, С, D . На начальной стадии в памяти находится только процесс А. Затем с течением времени создаются или загружаются с диска последовательно процессы В и С. В следующий момент процесс А выгружается на диск. Затем появляется процесс D , а процесс В завершается. Наконец, процесс А снова возвращается в память. Распределение памяти изменяется по мере того, как процессы поступают в память и покидают ее. Так как теперь процесс А имеет другое размещение в памяти, его адреса должны быть перенастроены или программно во время загрузки в память, или аппаратно во время выполнения программы.

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

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

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

части, она находится в состоянии ввода-вывода и не может работать, поэтому ЦП может быть отдан другому процессу.

24. Ввод-вывод ОС. Драйверы устройств. Схема логического расположения драйверов устройств.

Ввод-Вывод

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

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

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

Устройства ввода-вывода обычно состоят из механической и электронной частей. Механический компонент находится в самом устройстве. Электронный компонент устройства называется контроллером или адаптером. В современных компьютерах контроллеры встраиваются в материнскую плату или располагаются на самом устройстве ввода-вывода.

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

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

Другим важным аспектом ПО ввода-вывода является обработка ошибок. Ошибки должны обрабатываться как можно ближе к аппаратуре. Если контроллер обнаружил ошибку чтения, он должен по возможности исправить эту ошибку сам. Если он не может это сделать, то ошибку должен обработать драйвер устройства.

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

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

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

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

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

Драйверы Устройств

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

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

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

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

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

Драйвер устройства выполняет несколько функций:

1) обработку абстрактных запросов чтения и записи независимого от устройств и расположенного над ними программного обеспечения;

2) инициализацию устройства;

3) управление энергопотреблением устройства и регистрацией событий;

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

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

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

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

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

25. Файловые системы ОС.

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

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

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

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

Во многих ОС имя файла может состоять из двух частей, разделенных точкой, например progr . exe . Часть имени файла после точки называется расширением файла и обычно означает тип файла.

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

При организации ФС в виде дерева каталогов требуется некоторый способ указания файла. Для этого обычно используются два различных метода. В первом случае каждому файлу дается абсолютное имя пути, состоящее из имен всех каталогов от корневого до того,в котором содержится файл, и имени самого файла. Например, путь \ user \ abc \ myfile . doc означает, что корневой каталог содержит каталог user , который, в свою очередь, содержит подкаталог abc , где находится файл myfile . doc .

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

Определение физического расположения частей файла;

Определение наличия свободного места и выделение его для вновь создаваемых файлов.

26. Рассмотрение конкретных операционных систем (Windows, UNIX, Linux).

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

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

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

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

Windows CE, ОС-9, Symbian и LynxOS вот некоторые из широко известных операционных систем реального времени.

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

Windows 95, Windows2000, MaxOS и P al m OS являются примерами однопользовательских операционных систем. U ni x и Op enVMS примеры многопользовательских операционных систем.

Многозадачность и однозадачность операционных систем: Когда разрешено запускать одновременно только одну программу, система группируются под категорией однозадачной системы, а в случае, если операционная система позволяет выполнение нескольких задач одновременно, классифицируется как многозадачная операционная система. Многозадачность может быть двух типов, а именно упреждающей или кооперативной. В многозадачной операционной системе посвящает один слот для каждой из программ. Unix-подобные операционные системы, такие как Solaris и Linux, поддерживают многозадачность. Кооперативная многозадачность достигается при опоре на каждом процессе, чтобы дать время для других процессов в определенном порядке. Этот вид многозадачности похож на идею блока многопоточности, в которой один поток проходит, пока другой заблокирован каким-либо другим событием. MS Windowsдо Windows 95 используют для поддержки кооперативную многозадачность.

PalmOS для Palm КПК являются однозадачными операционными системами. 9x Windows, поддерживает многозадачность. DOS + является относительно менее известной многозадачной операционной системой. Он может поддерживать многозадачность из четырех 86-битных программ.

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

Амеба, Plan9 и ЛОКУС (разработанные в 1980-х годах) являются примерами распределенных операционных систем.

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

Windows CE, FreeBSD и Mini x 3 примеры встраиваемых операционных систем. Использование Linuxво встраиваемых компьютерных систем называют Embedded Linux.

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

Blackberry OS, Androidот Googleи IOS от Apple являются одними из самых известных мобильных операционных систем.

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

Интернет и сеть: В онлайн-обработке данных, пользователь остается в контакте с компьютером и процессы выполняются под управлением центрального процессора компьютера. Когда процессы не выполняются под прямым контролем процессора, обработка упоминается как в автономном режиме. Давайте возьмем пример пакетной обработки. Здесь дозирование или группировка данных может быть сделана без пользователя и вмешательства центрального процессора; это может быть сделано в автономном режиме. Но выполнение самого процесса может произойти под непосредственным управлением процессора, то есть в Интернете.

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