Смекни!
smekni.com

Введение в операционные системы (стр. 3 из 6)

1.3.4. Файлы

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

Главная задача файловой системы (file system) скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (create, delete, open, close, read, write ).. Пользователям хорошо знакомы такие понятия, связанные с организацией файловой системы, как каталог, текущий каталог, корневой каталог, путь, для манипулирования которыми в операционной системе имеются системные вызовы. Файловая система ОС описана в главах 11-12.

1.3.5. Процессы, потоки (нити)

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

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

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

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

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

Существует несколько схем классификации операционных систем.

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

1. По числу одновременно выполняемых задач:

- однозадачные (MS DOS) и

- многозадачные

1. Системы пакетной обработки (ОС ЕС)

2. Системы с разделением времени (Unix, Linux, Windows)

3. Системы реального времени (RT11, QNX)

2. По числу одновременно работающих пользователей на ЭВМ ОС разделяются на

- однопользовательские (MS DOS);

- многопользовательские (Unix, Linux, Windows 95 - XP)

3. По типу лицензии:

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

- свободная или открытая (большинство Linux и UNIX систем). Свобода ПО означает право пользователя свободно запускать, копировать, распространять, изучать, изменять и улучшать его. Его современная версия определения свободы ПО состоит из четырех пунктов, пронумерованных от 0 до 3:

- Свобода запускать программу в любых целях (свобода 0).

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

- Свобода распространять копии, так что вы можете помочь вашему товарищу (свобода 2).

- Свобода улучшать программу и публиковать ваши улучшения, так что все общество выиграет от этого (свобода 3). Доступ к исходным текстам является необходимым условием..

4. По архитектуре:

- микроядерные (VxWorks, QNX);

- монолитные (Windows XP);

- гибридные (Windows NT, большинство Linux);

5. По использованию процессора:

- однопроцессорные;

- многопроцессорные системы (начиная с OS/2, Net Ware, Widows NT, большинство современных ОС).

6. По применению:

- офисные, для рабочих станций (DOS, МАС OS, Windows 98, XP, Vista),

- серверные (Net Ware, AIX, Windows 2000, Windows Server 2003, Windows Vista Server 2008),

- специализированные: промышленного назначения (ОС реального времени - VxWorks, QNX), для сетевых маршрутизаторов (IOS от Cisco), обучение и т.п. ;

- встраиваемые ОС (VxWorks, QNX, Nucleus),

- для мобильных устройств (Windows CE, Pocket PC, Windows Mobile, Palm OS, Symbian OS).

7. По возможности сетевого взаимодействия:

- локальные (DOS);

- сетевые (Netware 3.x – 6.x, UNIX, Linux, FreeBSD).

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

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

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

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

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

1.3.1. Системы реального времени

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

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

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

1.3.2. Однопользовательские и многопользовательские ОС

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

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

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

1.3.3. Многопроцессорные и однопроцессорные операционные системы

Одним из важных свойств ОС является наличие в ней средств поддержки многопроцессорной обработки данных. Такие средства существуют в OS/2, Net Ware, Widows NT.По способу организации вычислительного процесса эти ОС могут быть разделены на асимметричные и симметричные.

1.3.4. Локальные и сетевые ОС

Локальные ОС применяются на автономных ПК или ПК, которые используются в компьютерных сетях в качестве клиента.

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

Ниже приведена классификация по некоторым признакам с точки зрения пользователя.

1.3.5. Однозадачные и многозадачные ОС

По числу одновременно выполняемых задач операционные системы можно разделить на два класса:

1. многозадачные (Unix, OS/2, Windows);

2. однозадачные (например, MS-DOS).

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

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

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

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