Файл: Функции операционных систем персональных компьютеров (Характеристика операционных систем).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 411

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа — дисковая операционная система MS DOS.
Более развитые ОС предоставляют также следующие возможности:

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

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

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

Часть ОС, которая отвечает за управление памятью, называется менеджером памяти.[18]

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

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

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


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

Рисунок 1. Уровни памяти

Многоуровневую схему используют следующим образом. Информация, которая находится в памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.[19]

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

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

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

Некоторые сегменты, описывающие адресное пространство процесса, показаны на рис. 2.


Рисунок 2. Сегменты, описывающие адресное пространство процесса

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

Адреса, к которым обращается процесс, таким образом, отличаются от адресов, реально существующих в оперативной памяти. В каждом конкретном случае используемые программой адреса могут быть представлены различными способами. Например, адреса в исходных текстах обычно символические. Компилятор связывает эти символические адреса с перемещаемыми адресами (такими, как п байт от начала модуля). Подобный адрес, сгенерированный программой, обычно называют логическим (в системах с виртуальной памятью он часто называется виртуальным) адресом. Совокупность всех логических адресов называется логическим (виртуальным) адресным пространством.[20]

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

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

2.2.Обеспечение интерфейса пользователя

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

Рис. 2.1. Функции операционных систем персональных компьютеров

Графические операционные системы реализуют более сложный тип интерфейса, в котором в качестве органа управления кроме клавиатуры может использоваться мышь или адекватное устройство позиционирования. Работа с графической операционной системой основана на взаимодействии активных и пассивных экранных элементов управления. Активным элементом управления выступает указатель мыши – графический объект, перемещение которого на экране синхронизировано с перемещением мыши. В качестве пассивных элементов управления выступают графические элементы управления приложений (экранные кнопки, значки, переключатели, флажки, раскрывающиеся списки, строки меню и многие другие). Характер взаимодействия между активными и пассивными элементами управления выбирает сам пользователь. В его распоряжении приемы наведения указателя мыши на элемент управления, щелчки кнопками мыши и другие средства.[23]


2.3. Обеспечение автоматического запуска

Все операционные системы обеспечивают свой автоматический запуск. Для дисковых операционных систем в специальной (системной) области диска создается запись программного кода. Обращение к этому коду выполняют программы, находящиеся в базовой системе ввода-вывода (BIOS). Завершая свою работу, они дают команду на загрузку и исполнение содержимого системной области диска. Недисковые операционные системы используются в специализированных вычислительных системах (например, в компьютеризированных устройствах автоматического управления). Математическое обеспечение таких систем содержится в микросхемах ПЗУ и его можно условно рассматривать как аналог операционной системы, автоматический запуск которой осуществляется аппаратно. При подаче питания процессор обращается к фиксированному физическому адресу ПЗУ (его можно изменять аппаратно с использованием логических микросхем), с которого начинается запись программы инициализации операционной системы.[24]

2.4. Организация файловой системы

Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы – табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о месте нахождения файла не диске хранятся в системной области диска в FAT-таблицах – таблицах размещения файлов. Нарушение FAT-таблицы приводит к невозможности воспользоваться данными, записанными на диске. Поэтому к таблице предъявляются особые требования надежности, и она имеет дубликат. Идентичность таблиц регулярно контролируется средствами операционной системы.[25]

Наименьшей физической единицей хранения данных является сектор, размер которого равен 512 байт. Поскольку размер FAT-таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры – наименьшие единицы адресации к данным, размер которых не фиксирован и зависит от емкости диска.[26]


Для современных жестких дисков потери, связанные с неэффективностью файловой системы, весьма значительны и могут составлять от 25% до 40% полной емкости диска, в зависимости от среднего размера хранящихся файлов. С дисками же размером более 2 Гбайт файловая система FAT16 работать не может. Более совершенную организацию файловой системы обеспечивает операционная система с 32-разрядными полями в таблице размещения файлов – FAT32 . Для дисков размером до 8 Гбайт эта система обеспечивает размер кластера 4 Кбайт (8 секторов).[27]

2.5.Обслуживание файловой системы

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

- создание файлов и присвоение им имен;

- создание каталогов (папок) и присвоение им имен;

- переименование файлов и каталогов (папок);

- копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;

- удаление файлов и каталогов (папок);

- навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);

- управление атрибутами файлов.[28]

2.6.Управление установкой, исполнением и удалением приложений

С точки зрения управления исполнением приложений, различают однозадачные и многозадачные операционные системы. Однозадачные операционные системы (например, MS-DOS) передают все ресурсы вычислительной системы одному исполняемому приложению и не допускают ни параллельного выполнения другого приложения (полная многозадачность), ни его приостановки и запуска другого приложения (вытесняющая многозадачность). Параллельно с однозадачными операционными системами возможна работа только специальных резидентных программ, которые не опираются на операционную систему, а непосредственно работают с процессором, используя его систему прерываний.[29]

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