Разновидности операционных систем. Операционные системы, их назначение и разновидности



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

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

Какими бы ни были виды операционных систем, все они выполняют одни и те же функции:

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

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

Рассмотрим виды операционных систем по второй классификации - многозадачности . Они бывают:

  1. Однозадачные. Примером является MS-DOS.
  2. Псевдомногозадачные, то есть в одно время работает лишь одна программа, но при этом операционная система производит переключение между несколькими такими программами. Примерами служат самые первые версии Windows.
  3. Многозадачные (Windows 95, Windows 98).
  4. Реально многозадачные (Windows NT, Linux, Mac OS X).

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

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

  1. Однопользовательские. К ним относятся MS-DOS и первые версии Windows.
  2. Многопользовательские с поддержкой на одном терминале (Windows 95, 98, 2000 и т. д.).
  3. Многопользовательские с поддержкой на нескольких терминалах, но с одним ПК (Linux, Mac OS Х, Windows).

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

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

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

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

На самом верхнем уровне находятся ОС для мэйнфреймов . Эти огромные машины еще можно встретить в больших организациях. Мэйнфреймы отличаются от персональных компьютеров по своим возможностям ввода/вывода. Довольно часто встречаются Мэйнфреймы с тысячью дисков и терабайтами данных. Мэйнфреймы выступают в виде мощных 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).

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

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

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

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

Неполное удаление программ (в том числе игровых), когда файлы уже удалены, а ссылки на них по-прежнему остаются;

Неполная установка программ (в том числе игровых), когда ссылки на файлы уже внесены в системный реестр, а сами файлы еще не созданы;

Неполная установка или удаление драйверов устройств;

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

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

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

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

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

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

На компьютере вообще не установлена операционная система;

На компьютере установлена операционная система, но вы хотите обновить ее версию или вернуться к предыдущей версии;

Операционная система перестала загружаться, например, из-за повреждения системных файлов;

Работа операционной системы больше стала напоминать езду на велосипеде со спущенным колесом;

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

Разновидности операционных систем

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

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

В настоящее время наиболее распространено целое семейство операционных систем Windows, которое является продуктом компании Microsoft. В свою очередь Windows-подобные системы подразделяются на два подсемейства: Windows 9x и Windows NT.

К первому из них относятся Windows 95, Windows 98, Windows 98SE и Windows ME, второе же имеет меньшее количество версий - Windows NT 4.0 (более младшие версии сейчас уже не используются), Windows 2000 и наиболее современная версия - Windows XP. Не так уж давно в свет вышла еще одна версия - Windows 2003 Server, но мы рассматривать ее пока не будем, ведь кто знает, сколько новых проблем несет она в себе? Подождем, пока ее тщательно протестируют, выпустят парочку поправок, так называемых заплаток, а уже после этого будем пробовать устанавливать ее на домашний компьютер.

Немного истории

Если рассматривать всю историю операционных систем с графической оболочкой, то семейство Windows берет свое начало от графической оболочки Windows 3.1 или ее сетевого варианта Windows 3.11 for Workgroup. Эта оболочка загружалась в память компьютера подобно файловом} менеджеру Norton Commander.

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

Следует отметить, что существует две основных версии - Windows 95 и Windows 95 OSR2, в которой наиболее яркой особенностью является поддержка FAT32, которая в свою очередь, в отличие от FAT16, способна поддерживать жесткие диски с объемом более 2 Гбайт. Если вы используете эту версию Windows, обязательно обновите ее до OSR2, в противном случае любой жесткий диск вы сможете отформатировать только на 2 Гбайт, а остальное пространство будет недоступно для использования.

Следующим шагом в развитии операционных систем стало появление Windows 98, а за ней и Windows 98 SE (Second Edition). Стоит отметить, что вторая версия прилично отличается от оригинальной Windows 98, в первую очередь тем, что в ней исправлено немалое количество ошибок, особенно связанных с работой с локальной сетью. Да и драйверы для устройств в сумме с системой Plug and Play реализованы намного лучше, поэтому если вы вдруг захотите установить именно Windows 98, то вам следует выбирать второй выпуск, а не первый, т. е. Windows 98 SE.

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

Параллельно с разработкой все более новых версий Windows 9x велись исследования в направлении повышения надежности работы компьютера, которые, в конце концов, привели к появлению совершенно нового класса операционных систем - семейства Windows NT (New Technology). Первые версии Windows NT (наиболее популярными были версии 3.51 и 4.0, все остальные быстро канули в лету) отличались более или менее высокой стабильностью работы за счет отсутствия как системы Plug and Play, так и поддержки мультимедийных технологий, таких как драйверы DirectX. Все это весьма ограничивало их использование в качестве домашних систем, хотя в качестве рабочих станций они показали себя на высоте.

Первая попытка перевести домашние системы на семейство Windows NT проявилась в выпуске операционной системы Windows 2000, которая изначально должна была стать Windows NT v5.0, но в конце концов, была переименована. Больно уж пугала всех аббревиатура NT. В Windows 2000 разработчики не только постарались учесть опыт создания NT-систем предыдущего поколения, сохранив все их традиционные достоинства, но и включили в нее много полезных наработок из привычной в своей доступности и простоте Windows 9x, как бы сблизив эти две совершенно разные системы. Впервые платформа NT обрела совместимость со многими программами, которые по традиции предназначались только для Windows 9x, правда, далеко не со всеми, но все-таки это был большой прогресс.

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

Особенности семейства Windows 9x

Никто не станет отрицать, что операционные системы семейства Windows 9x самые популярные. В основном это связано с тем, что они позволяют использовать как самые новейшие программы, так и наиболее старые, которые были предназначены для работы еще в среде MS-DOS. Для пользователя в основном важны те программы, которые относятся к разряду игровых программ. Как говорится, обычно покупают компьютер совсем не для того, чтобы на нем работать, как говорят пользователи, а для того, чтобы играть на нем.

Наиболее ярким отличием семейства Windows 9x от конкурирующей платформы NT является крайне нестабильная работа. В основном это связано с особенностями тех модулей, которые занимаются распределением ресурсов между всеми работающими программами, т. е. обеспечением работы системы в режиме многозадачности. Здесь каждая запущенная программа самостоятельно решает, когда освободить ресурсы компьютера, чтобы какая-нибудь другая программа смогла их захватить. Отсюда появляются частые зависания, что, в общем-то, можно считать нормальным явлением. Представьте ситуацию: дается команда на чтение с компакт-диска, при этом приводу CD-ROM отсылается запрос на готовность диска к чтению. Если диск сильно поцарапан, то привод очень долго и безуспешно будет пытаться считать с диска служебную информацию, а в это время все остальные операции на компьютере будут блокированы, что фактически уже можно назвать зависанием. Нестабильность работы также в немалой степени связана с возможностью запуска программ, предназначенных для работы в среде MS-DOS.

Windows 95

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

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

Самой маленькой базой драйверов, встроенных в дистрибутив, что практически сводит к нулю все преимущества системы Plug and Play, которая реализована в Windows 95 крайне плохо. Да это и понятно - первый блин комом;

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

Плохо проработанным, хотя и быстро работающим интерфейсом;

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

Установка Windows 95 рекомендуется только на компьютерах конфигурации ниже, чем: Pentium 200 МГц, 32 Мбайт оперативной памяти, 1 Гбайт жесткий диск. На всех остальных (более мощных) конфигурациях, вплоть до самых современных, установка этой версии Windows является фактически добровольным отказом от преимуществ, даваемых более старшими и более функциональными версиями.

Windows 98

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

Наиболее оптимальным соотношением возможности - качество. В основном это выражается в неплохой поддержке как наиболее новых, так и наиболее старых программ, устройств, стандартов (дальше дополните сами). Именно поэтому эта версия Windows как применялась со времен первых Pentium, так и применяется до сих пор на компьютерах, собранных на базе Pentium 4 или Athlon XP;

Наличием огромного количества программ тонкой настройки, которые позволяют настроить компьютер практически под любого пользователя;

Неплохо проработанным интерфейсом, который, правда, очень часто дает сбои.

Установка Windows 98 (имеется в виду версия 98 SE) рекомендуется на компьютерах с конфигурацией: Pentium 200 МГц, оперативная память 32 Мбайт, жесткий диск 1 Гбайт и выше, вплоть до самых современных компьютеров. Хотя самые современные устройства позволяют полноценно использовать некоторые свои функции только в более новых версиях Windows.

Windows ME

Windows ME является продолжением линейки Windows 95, 98, 98SE, никаких коренных изменений в ней, кроме интерфейса, нет. В Windows ME убрана поддержка реального режима MS-DOS, т. е. компьютер вы теперь уже не можете загрузить в режиме поддержки командной строки, хотя загрузочный диск, который создается средствами операционной системы, по-прежнему предлагает эту функцию. Впервые применена технология отката настроек, когда пользователь может без переустановки операционной системы вернуть старые настройки программ:

Наиболее полная база драйверов, встроенных в дистрибутив, из всей линейки Windows 9x;

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

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

Стоит отметить, что финальной версией Windows ME является 4.90.3000.

Windows NT

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

Устойчивость платформы NT объясняется также еще и тем, что она полностью 32-разрядная, т. е. в ней нет никакой MS-DOS, а все программы, предназначенные для работы в этой операционной среде, запускаются только лишь в окне эмуляции, не способном полностью предоставить возможности чистой MS-DOS. Любой прямой доступ к оборудованию, например к порту LPT, будет полностью заблокирован. В Windows NT также не запустятся программы, которые обращаются напрямую к железу, и те, которые используют VxD-драйверы, применяемые только в Windows 9x.

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

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

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

Как ни странно сознавать, но компания Microsoft в своей операционной системе Windows NT с самого начала ее существования не реализовала системы Plug and Play, что сильно ограничивало ее применение, зато придавало изумительную стабильность работы. Поэтому применение операционных систем Windows NT v4.0 и ниже обычно не рекомендуют для домашнего компьютера, т. к. это может привести к сложностям при установке драйверов устройств.

Windows 2000

Основные особенности:

Появилась поддержка системы Plug and Play, что в сумме с достаточно большой базой драйверов немало облегчило жизнь пользователя. Хотя здесь не обошлось, как всегда, без небольших нюансов - система автоматической настройки далеко не всегда правильно работает, что уменьшает стабильность работы компьютера в целом и операционной системы в частности;

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

Поддержка очень надежной файловой системы NTFS (v4.0 и 5.0), а также более распространенных файловых систем FAT 16 и FAT32;

Появилось разделение на несколько групп - Windows 2000 Professional, Server, Advanced Server и DataCenter. Финальная версия Windows 2000 имеет номер 2195.

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

Windows XP

Windows XP - это первая операционная система, максимально направленная на то, чтобы все пользователи перешли на использование систем семейства Windows NT. Ее основные особенности:

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

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

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

По традиции идет разделение на группы - Home Edition и Professional, а также и Windows.NET. Последняя версия имеет три варианта: NET Server, NET Advanced Server, NET DataCenter Server. Естественно, что специализированные сетевые версии не предназначены для работы на домашних системах, поэтому мы их не будем рассматривать вообще. Финальная версия Windows XP имеет номер 2600.










Назначение и функции операционной системы.

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

Функции ОС:

1) Планирование заданий. Использование процессора.

2) Обеспечение программ средствами коммуникации и синхронизации.

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

4) Управление файловой системой.

5) Управление вводом выводом.

6) Обеспечение безопасности.

Виды интерфейсов пользователя операционных систем

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

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

Текстовые ОС

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

Первые настоящие операционные системы имели текстовый интерфейс. В настоящее время он также используется на серверах и компьютерах пользователей.

Графические ОС

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

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

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

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

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

Речевые ОС

В случае SILK-интерфейса (от англ. speech – речь, image – образ, language – язык, knowledge – знание) – на экране по речевой команде происходит перемещение от одних поисковых образов к другим.

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

Планирование заданий.

Планировщик заданий - оснастка консоли управления (MMC), которая включает в себя дополнительные разделы справки для опытных пользователей.

Планировщик задач - программа или сервис операционной системы, которая запускает другие программы в зависимости от различных критериев, как, например:

наступление определённого времени

операционная система переходит в определённое состояние (бездействие, спящий режим и т. д.)

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

Microsoft Windows

В версиях Windows до XP включительно данный сервис предоставлялся, в основном, для нужд конечного пользователя. Начиная с Windows Vista, данный сервис активно используется самой операционной системой для обслуживания (дефрагментация разделов жёсткого диска, тестирование компонентов, индексирование файлов и т. д.).

Cron - демон-планировщик задач в UNIX-подобных операционных системах.

Организация ввода-вывода.

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

Backoff Processor

Очень редкая опция и не совсем однозначно трактуемая. BOFF# (Back Off) - сигнал безусловного отключения процессора от шины. По этому сигналу процессор отдает управление шиной в следующем же такте с прерыванием текущего цикла. По окончании действия сигнала "BOFF#" процессор рестартует прерванный шинный цикл. Возможные значения опции:

"Disabled" (или "No"),

"Enabled" (или "Yes").

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

Опция может называться "Backoff CPU".

Base I/O Address

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

Базовый I/O-адрес - это первый адрес из того адресного пространства, что предоставлен данному устройству. Например, большинство сетевых адаптеров использует адресный диапазон в 20h, а для COM 1 резервируется диапазон с адресами от 3F8h по 3FFh, которые используются для различных задач, например, установки скорости, четности, т.п. Весь адресный диапазон ввода/вывода - 0000-FFFFh.

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

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

Рассмотренная выше опция "Extended I/O Decode" показала нам некоторые нюансы и даже сложности декодирования адресов ввода/вывода. Опция "PCI I/O Start Address", предназначенная в общем-то для PCI-устройств, тем не менее позволяет для ISA-устройств создать дополнительную область адресов и тем самым избежать "неприятных накладок".

Branch Target Buffer

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

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

CPU ADS# Delay 1T or Not

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

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

Вынесенная в заголовок опция имеет два значения: "1T", "No Delay".

А вот опция "Cyrix M2 ADS# delay" предложила стандартные "Enabled" и "Disabled". Опция "Latency from ADS# status" предложила числовые значения в тактах системной шины: "2T" (по умолчанию), "3T".

Необходимо понимать, что устанавливая "время задержки", мы тем самым определяем временные характеристики циклов записи. И с учетом того, что использование буфера отложенной записи ведет, как правило, к формированию небольших пакетов (двойными словами или в два DW). Поэтому установив значение "3T", мы получаем 5 системных тактов для каждого двойного слова. Арифметика тут простая. 3 такта задержки, один адресный такт и один такт на считывание данных.

CPU BIST Enable

В некоторых чипсетах, начиная с 430-й серии, нашли применение специализированные BIST-регистры. Большой нагрузки они не несли. Если система (чипсет + процессор) поддерживает функцию встроенного самотестирования (Built-In Self Test), то BIST-регистр хранит в своих разрядах команды "Start BIST" или "Completion Code". Если "система" не поддерживает BIST-функции, то установка опции в "Enabled" не даст эффекта, а в соответствующих разрядах регистра будут установлены "0".

Встроенный и, что немаловажно, полноценный механизм самотестирования BIST был реализован в процессорах Pentium III. Он обеспечивал постоянный контроль над зависаниями и сбоями в микрокоде, больших программируемых логических матрицах, а также обеспечивал тестирование кэша команд (инструкций) и кэша данных, буферов TLB (Translation Lookaside Buffer - буфера страничной переадресации) и сегментов памяти ROM. В течение 10-30 мсек (время связано с внутренней частотой ядра процессора) внутренним тестированием охватывается около двух третей всех внутренних блоков процессора. Лишь только после завершения теста процессор переходит в рабочий режим, результаты же теста фиксируются в регистре EAX.

CPU Drive Strength

Данная и не совсем ясная опция определяет интенсивность (strength), а точнее длительность действия сигналов при передаче данных от чипсета к процессору. Параметр измеряется в системных тактах. Чем выше значение параметра, тем выше длительность сигналов, а применение этой опции "BIOS Setup" может оказаться полезным для процедур "разгона" процессоров. Но не для всякой системы увеличение значений опции может привести к сохранению стабильности "разогнанного" процессора. Значения опции следующие: 0, 1, 2, 3.

Осталось добавить, что данная опция требует дополнительного уточнения.

CPU Fast String

- (быстрые операции со строками). Разрешение этого параметра ("Enabled") позволяет использовать некоторые специфические особенности архитектуры семейства процессоров Pentium Pro (Pentium II, Deschutes и т.п.), в частности, возможность кэширования операций со строками. Надо только понимать, что и в самой пользовательской программе должны быть выполнены условия для включения этого механизма. Эти условия указаны в документации на любой процессор данного семейства. Параметр рекомендуется оставлять в состоянии "Разрешено".

CPU Line Read Multiple

В данной опции речь идет о чтении процессором т.н. "full cache"-линии. Когда "cache"-линия заполнена данными, то их объем составляет 32 байта (восемь двойных слов). Поскольку линия "полная", система точно знает, как долго данные на линии будут считываться. На это системе потребуется 4 такта, после чего будет выставлен новый адрес. Поэтому системе не требуется сигнал об окончании передачи данных, и система не будет находиться в ожидании такого сигнала, будучи свободной для решения других задач. Когда опция включена ("Enabled"), процессор сможет считывать данные одновременно с нескольких "full cache"-линий. По умолчанию - "Disabled".

Опция может называться "CPU Multiple Reads".

Перечисленные ниже функции не содержат свойств множественности, но их размещение в данном месте более чем оправдано. Вот их наименования: "Allow Full Line Reads", "Full Cache Line Reads", "CPU Line Read". Каждая из них через "Disabled" или "Enabled" запрещает или разрешает использование "полных" линий чтения.

Опция "CPU-to-PCI Read-Line" имеет значения "On" и "Off", но различия на этом не заканчиваются. Опция под таким наименованием была введена и оптимизирована для работы с процессорами Intel OverDrive. Поэтому повышение эффективности использования CPU может быть достигнуто только с указанными процессорами. В противном случае опция должна быть отключена.

CPU Read Multiple Prefetch

Опция включения/отключения режима множественной предвыборки. Смысл процесса предвыборки (prefetch) заключается в том, что процессор, выбирая нужную инструкцию (например, из PCI-шины или памяти), одновременно начинает читать следующую, тем самым инициируя следующий процесс. Этому "способствует" то, что чипсет может иметь четыре линии чтения. Например, первые наборы логики с поддержкой процессоров Pentium Pro (Intel 450KX/GX, оба с кодовым названием Orion) как раз имели 4 такие линии чтения. Множественная же предвыборка позволяет выполнять одновременно несколько операций выборки инструкций, что существенно повышает быстродействие системы. По умолчанию устанавливается "Disabled".

Опция может называться и "CPU Multiple Read Prefetch".

Если же речь не идет о "множественных" операциях, то опция может называться "CPU Line Read Prefetch", "CPU Read Prefetch".

I/O Space Access

Данная опция через "Enabled" разрешает доступ ко всему пространству адресов ввода/вывода. Редкий BIOS обходится без странных опций.

Processor Number Feature

Опция для установки автоматического считывания и вывода информации о встроенном серийном номере процессора Pentium III в BIOS материнских плат, поддерживающих его установку. Для реализации такой возможности, естественно, требуется значение параметра как "Enabled". Во всех остальных случаях устанавливается значение "Disabled". Оно же устанавливается по умолчанию.

Опция может носить название "Processor S/N".

В "Phoenix BIOS" встречена аналогичная опция с названием "CPU Serial Number", а в "AMI BIOS" - "Processor Serial Number".

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

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

Файловая система – это часть ОС, включающая:

1) Совокупность всех файлов на диске.

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

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

Функции ФС:

1) Именование файла.

2) Программный интерфейс для приложений.

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

4) Устойчивость файловой системы к сбоям питания.

Типы файлов:

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

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

3) Специальные файлы – это файлы, ассоциированные с устройствами ввода вывода системы, которые используются для механизма доступа к отдельным файлам и внешним устройствам.

Современные ФС поддерживают другие типы файлов: символьные связи; именованные конвейеры; отображаемые в память файлы и др.

Microsoft все еще поставляет свою сетевую ОС LAN Manager. Большое количество независимых поставщиков имеют лицензии на эту ОС и поддерживают свои собственные версии LAN Manager как часть своих сетевых продуктов. В число этих компаний входят такие известные фирмы как AT&T и Hewlett-Packard. LAN Manager требует установки на файл-сервере операционной системы OS/2, рабочие станции могут работать под DOS, Windows или OS/2. OS/2 - это операционная система, реализующая истинную многозадачность, работающая в защищенном режиме микропроцессоров x86 и выше. LAN Manager использует 32-х битную версию файловой системы OS/2, называемую HPFS, которая оптимизирована для работы на файл-сервере за счет кэширования каталогов и данных. LAN Manager - это первая сетевая ОС, разработанная для поддержки среды клиент-сервер. Ключевыми компонентами LAN Manager являются редиректор и сервер. Особенно эффективно LAN Manager поддерживает архитектуру клиент-сервер для систем управления базами данных. LAN Manager разрешает рабочим станциям под OS/2 поддерживать сетевой сервис по технологии "равный-с-равным". Это означает, что рабочая станция может выполнять функции сервера баз данных, принт-сервера или коммуникационного сервера. Ограничением является то, что только один пользователь, кроме владельца этой рабочей станции, имеет доступ к такому одноранговому сервису.

Для работы в небольшой сети фирма Microsoft предлагает компактную, не требующую значительных аппаратных или программных затрат операционную систему Windows for Workgroups. Эта операционная система позволяет организовать сеть по схеме "равный-с-равным", при этом нет необходимости приобретать специальный компьютер для работы в качестве сетевого сервера. Эта операционная система особенно подходит для решения сетевых задач в коллективах, члены которого ранее широко использовали Windows 3.1. В Windows for Workgroups достигнута высокая производительность сетевой обработки за счет того, что все сетевые драйверы являются 32-х разрядными виртуальными драйверами.

Компьютеры с изображением семицветного яблочка уже давно перестали быть диковинкой. Их теперь можно встретить практически везде – в издательствах, рекламных агентствах, дизайн - студиях. Высокую популярность компьютеров Apple среди верстальщиков и дизайнеров можно объяснить множеством причин, но высокое качество, удобный интерфейс и надежность работы техники этой марки отмечают все. К новому тысячелетию компания подходит уверенно занимающей достойное место среди крупнейших производителей компьютеров. Новые разработки на базе процессоров PowerPC 750 (G3) уже завоевали заслуженную популярность, и Apple готовит к выпуску еще более мощные модели компьютеров, оснащенные надежной и удобной операционной системой MacOS. Одна из последних моделей – iMac – стала просто хитом сезона, побив все рекорды по продажам. Отличительные особенности этого компьютера – высокая вычислительная мощность, простота установки и настройки, элегантный дизайн при невысокой стоимости.

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

Изначально это было требованием, исходящим из аппаратуры, на которой Unix изначально работал. По какой-то странной причине, получившаяся операционная система оказалось весьма полезной на другой аппаратуре. Вы можете относительно просто достичь новой функциональности и новых возможностей, объединяя маленькие части (программы) новым способом. Если появляются новые утилиты (так и происходит), Вы можете встроить его в Ваш старый инструментарий. К сожалению, в наше время программы для Unix становятся все большими, и включают в себя все больше возможностей, но некоторая гибкость и возможность взаимодействия по-прежнему остается. К примеру, когда я писал этот документ, я активно использовал эти программы; fvwm – для управления "окнами", emacs для редактирования текста, LaTeX - для форматирования его, xdvi для просмотра отформатированного текста, dvips - для подготовки его к печати, и, наконец, lpr для печати. Если я завтра найду новую лучшую программу просмотра dvi, я смогу использовать ее вместо старой, не изменяя остальных установок.

Сетевые ОС.

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

Задачи:

Разделение ресурсов;

Администрирование сети.

Делятся на:

Сетевые ОС для серверов;

Сетевые ОС для пользователей.

Сетевая ОС составляет основу любой вычислительной сети.

Под сетевой ОС:

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

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

Делятся на классы:

Одноранговые (ставится одна и та же ОС);

Двухранговые (которые чаще называют сетями с выделенными серверами).

Тупиковые ситуации.

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

ОС в состоянии тупика ("зависание") - когда несколько процессов находятся в состоянии тупика.

Простая тупиковая ситуация в ОС:

Пусть имеются 2 процесса A и B, которым перед началом работы предоставлены ресурсы P1 и P2 соответственно. В какой-то момент времени процессу A понадобился P2, а процессу B - P1, но они их не получат, т.к. они удерживаются предыдущими процессами => наступила простая тупиковая ситуация в ОС.

Правила предотвращения тупиков в ОС:

Прежде чем процесс начнет свою работу, ему должны быть предоставлены все требуемые ресурсы.

В том случае, если во время работы ему понадобился дополнительный ресурс, ему необходимо возвратить все ранее выделенные ресурсы ОС и затем запросить все требуемые ресурсы с этим дополнительным ресурсом.

Бесконечное откладывание процесса.

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

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

Управление ресурсами.

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

планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;

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

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

Типы операционных систем. Понятие операционной системы.

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

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

Такие системы обеспечивают одновременное обслуживание многих пользователей, позволяя каждому пользователю взаимодействовать со своим заданием в режиме диалога. Эффект одновременного обслуживания достигается разделением процессорного времени и других ресурсов между несколькими вычислительными процессами, которые соответствуют отдельным заданиям пользователей. Операционная система предоставляет ЭВМ каждому вычислительному процессу в течение небольшого интервала времени; если вычислительный процесс не завершился к концу очередного интервала, он прерывается и помещается в очередь ожидания, уступая ЭВМ другому вычислительному процессу. ЭВМ в этих системах функционирует в мультипрограммном режиме.
Операционная система разделения времени может применяться не только для обслуживания пользователей, но и для управления технологическим оборудованием. В этом случае “пользователями” являются отдельные блоки управления исполнительными устройствами, входящими в состав технологического оборудования: каждый блок взаимодействует с определённым вычислительным процессом в течение интервала времени, достаточного для передачи управляющих воздействий на исполнительное устройство или приёма информации от датчиков.
Операционные системы реального времени.
Данные системы гарантируют оперативное выполнение запросов в течение заданного интервала времени. Запросы могут поступать от пользователей или от внешних по отношению к ЭВМ устройств, с которыми системы связаны каналами передачи данных. При этом скорость вычислительных процессов в ЭВМ должна быть согласована со скоростью процессов, протекающих вне ЭВМ, т. е. согласована с ходом реального времени. Эти системы организуют управление вычислительными процессами таким образом, чтобы время ответа на запрос не превышало заданных значений. Необходимое время ответа определяется свойствами объектов (пользователей, внешних устройств), обслуживаемых системой. Операционные системы реального времени используются в информационно– поисковых системах и системах управления технологическим оборудованием. ЭВМ в таких системах функционирует чаще в многозадачном режиме.
Диалоговые операционные системы.
Данные операционные системы получили широкое распространение в персональных ЭВМ. Эти системы обеспечивают удобную форму диалога с пользователем через дисплей при вводе и выполнении команд. Для выполнения часто используемых последовательностей команд, т. е. заданий, диалоговая операционная система предоставляет возможность пакетной обработки. Под управлением диалоговой ОС ЭВМ обычно функционирует в однопрограммном режиме.







2024 © gtavrl.ru.