ГЛАВА 1. Основные функции операционных систем




Введение

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

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

 

 

ГЛАВА 1. Основные функции операционных систем

 

Операционная система (ОС) должна выполнять следующие функции:

- обеспечивать загрузку пользовательских программ и их выполнение (за исключением операционных систем, прошиваемых в ПЗУ);

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

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

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

3) загрузка программ. Когда пользователь или прикладная программа запрашивают выполнение другой программы, загрузчик (ОС) выполняет последовательность шагов, описываемую ниже, для получения доступа к программе на диске, размещения ее в оперативной памяти и начала выполнения;

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

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

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

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

Существует пять требований к управлению памятью:

  • Перемещение;
  • Защита;
  • Совместное использование;
  • Логическая организация;
  • Физическая организация.

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

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

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

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

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

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

 

Структуры данных

Общее. В теории информатики определены следующие три основных типа структур данных – линейная, табличная, иерархическая. Пример книга: последовательность листов – линейная структура. Части, разделы, главы, параграфы – иерархия. Оглавление – таблица – связывает – иерархическую с линейной. У структурированных данных появляется новый атрибут - Адрес. И так:

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

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

3. Иерархические структуры. Используются для представления нерегулярных данных. Адрес – определяется маршрутом – от вершины дерева. Файловая система – компьютера. (Маршрут может превысить – величину данных, дихотомия – всегда два разветвления – влево и вправо).

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

Файл - это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Три параметра:

· последовательность произвольного числа байтов;

· уникальное собственное имя (фактически – адрес);

· данные одного типа – тип файла.

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

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

 

 




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-11-10 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: