Операционные системы
1. Функции и задачи ОС
Операционная система (ОС), являясь основой общесистемного ПО, обеспечивает функционирование и взаимосвязь всех компонентов компьютера и предоставляет пользователю доступ к его аппаратным возможностям.
ОС – это набор программ, обеспечивающий организацию вычислительного процесса на ЭВМ.
Основные задачи:
1) увеличение пропускной способности ЭВМ (за счет организации непрерывной обработки потока задач с автоматическим переходом от одной задачи к другой и эффективного распределения ресурсов ЭВМ по нескольким задачам);
2) уменьшение времени реакции системы на запросы пользователями ответов от ЭВМ;
3) упрощение работы разработчиков программных средств и сотрудников обслуживающего персонала ЭВМ (за счет предоставления им значительного количества языков программирования и разнообразных сервисных программ).
Функции ОС:
1) управление данными;
2) управление задачами (заданиями, процессами);
3) связь с человеком-оператором. В различных ОС эти функции реализуются в различных масштабах и с помощью различных технических, программных, информационных методов и средств.
2. Одноранговые сетевые ОС
В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.
В одноранговых сетях также может возникнуть функциональная несимметричность: одни пользователи не желают разделять свои ресурсы с другими, и в таком случае их компьютеры выполняют роль клиента, за другими компьютерами администратор закрепил только функции по организации совместного использования ресурсов, а значит, они являются серверами, в третьем случае, когда локальный пользователь не возражает против использования его ресурсов и сам не исключает возможности обращения к другим компьютерам, ОС, устанавливаемая на его компьютере, должна включать и серверную, и клиентскую части. В отличие от сетей с выделенными серверами, в одноранговых сетях отсутствует специализация ОС в зависимости от преобладающей функциональной направленности - клиента или сервера. Все вариации реализуются средствами конфигурирования одного и того же варианта ОС. Одноранговые сети проще в организации и эксплуатации, однако, они применяются в основном для объединения небольших групп пользователей, не предъявляющих больших требований к объемам хранимой информации, ее защищенности от несанкционированного доступа и к скорости доступа. При повышенных требованиях к этим характеристикам более подходящими являются двухранговые сети, где сервер лучше решает задачу обслуживания пользователей своими ресурсами, так как его аппаратура и сетевая операционная система специально спроектированы для этой цели.
3. Понятие процесса
Основными понятиями управления прохождением задач в ЭВМ являются процесс, задача, работа, программа, ресурс и т.д.
Процесс – минимальный программный объект, обладающий собственными системными ресурсами (запущенная программа). Это программный модуль, выполняемый в центральном процессоре (CPU).
Процессор – любое устройство в составе ЭВМ, способное автоматически выполнять допустимые для него действия (процессоры, каналы и устройства, работающие с каналами).
Классификация процессов:
1) по временным характеристикам различают:
– интерактивные;
– пакетные;
– реального времени.
2) по генеалогическому признаку различают:
– порождающие;
– порожденные.
3) по результативности различают:
– эквивалентные;
– тождественные;
– равные.
4) по времени развития делятся:
– последовательные;
– параллельные;
– комбинированные.
5) по месту развития:
– внешние;
– внутренние.
6) по принадлежности к ОС:
– системные;
– пользовательские.
7) по связности различают:
– взаимосвязанные;
– изолированные;
– информационно независимые;
– взаимодействующие;
– взаимосвязанные по ресурсам;
– конкурирующие.
Порядок взаимосвязи процессов определяется правилами синхронизации.
Процессы могут находится в отношении:
– предшествования;
– приоритетности;
– взаимного исключения.
Не следует смешивать понятие процесса и программы. Программа – это план действий, а процесс - это само действие, поэтому понятие процесса включает в себя:
– программный код;
– данные;
– содержимое стека;
содержимое адресного и других регистров процессора.
Каждый процесс представлен в ОС набором данных, называемых таблица управления процессом (PCB – processcontrolblock). В PCB процесс описывается набором значений, параметров, характеризующих его текущее состояние и используемых ОС для управления прохождением процесса через компьютер.
4. Планирование процессоров
Стратегии планирования процессора:
1. Первый пришел – первый обслуживается - firstcome – Firstserved (FCFS). FCFS является наиболее простой стратегией планирования процессов и заключается в том, что процессор передается тому процессу, который раньше всех других его запросил.
Когда процесс попадает в очередь готовых процессов, УТП (PSB) присоединяется к хвосту очереди.
Среднее время ожидания для стратегии FCFS часто весьма велико и зависит от порядка поступления процессов в очередь готовых процессов.
Стратегии FCFS присущ так называемый «эффект конвоя». В том случае, когда в компьютере имеется один большой процесс и несколько малых, то все процессы собираются в начале очереди готовых процессов, а затем в очереди к оборудованию. Таким образом, он приводит к снижению загруженности как процессора, таки периферийного оборудования.
2. Стратегия «наиболее короткая работа выполняется первой» SJF – ShortestJobFirst. Одним из методов борьбы с «эффектом конвоя» является стратегия, позволяющая процессу из очереди выполняться первым.
5. Файловые таблицы FAT16, FAT32
Файл – область памяти, выделенная для хранения массива данных. В файлах могут храниться программы на алгоритмических или машинных языках. Исходные данные для работы программ и результаты и результаты заполнения программ, тексты и графические изображения. В настоящее время в ОС для ПК используются десятки файловых систем. В файловой системе MS-DOS используются:
– FAT16;
– FAT32;
– FAT12 (для дискет).
FAT – это таблица размещения файлов, т.е. у каждого файла есть свой адрес, который записан в эту таблицу.
FAT16 – на запись адреса отводится 16 бит. С их помощью можно выразить 216 = 65536 разных адресов. Если размер диска 2 Гб., то на каждый адрес приходится 32 Кб.
Если же 2,5 Гб., то тогда на каждый адрес приходится более 64 Кб, но это не допустимо.
FAT32 – для этой таблицы размеры кластеров следующие:
Объем диска;
Размер кластера;
До 8 Гб;
8 – 16 Гб;
16 – 32 Гб;
свыше 32 Гб;
4 Кб;
8 Кб;
16 Кб;
32 Кб.
Кластеры выдаются одному файлу в любом свободном месте дисковой памяти и не обязательно являются смежными. Файлы хранящиеся в разбросанных по диску кластерах называются фрагментированными.
6. Основные свойства файлов
Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.
Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют ASCII-коды, они часто имеют сложную внутреннюю структуру, например, объектный код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.
Специальные файлы - это файлы, ассоциированные с устройствами ввода-вывода, которые позволяют пользователю выполнять операции ввода-вывода, используя обычные команды записи в файл или чтения из файла. Эти команды обрабатываются вначале программами файловой системы, а затем на некотором этапе выполнения запроса преобразуются ОС в команды управления соответствующим устройством. Специальные файлы, так же как и устройства ввода-вывода, делятся на блок-ориентированные и байт-ориентированные.
Каталог - это, с одной стороны, группа файлов, объединенных пользователем исходя из некоторых соображений (например, файлы, содержащие программы игр, или файлы, составляющие один программный пакет), а с другой стороны - это файл, содержащий системную информацию о группе файлов, его составляющих. В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).
В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:
– информация о разрешенном доступе;
– пароль для доступа к файлу;
– владелец файла;
– создатель файла;
– признак "только для чтения";
– признак "скрытый файл";
– признак "системный файл";
– признак "архивный файл";
– признак "двоичный/символьный";
– признак "временный" (удалить после завершения процесса);
– признак блокировки;
– длина записи;
– указатель на ключевое поле в записи;
– длина ключа;
– времена создания, последнего доступа и последнего изменения;
– текущий размер файла;
– максимальный размер файла.
Каталоги могут непосредственно содержать значения характеристик файлов, как это сделано в файловой системе MS-DOS, или ссылаться на таблицы, содержащие эти характеристики, как это реализовано в ОС UNIX (рисунок 2.31). Каталоги могут образовывать иерархическую структуру за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня