Файл: Функции операционных систем персональных компьютеров, история ЭВМ.pdf

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

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

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

Добавлен: 23.04.2023

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

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

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

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

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

  • первое подходящее;
  • следующее подходящее;
  • наиболее подходящее;
  • наименее подходящее.

Четыре комбинации соседей для завершающегося процесса X.

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

Файловые системы

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

Каждый файл имеет свое имя. Это имя обычно может состоять из букв и цифр иногда даже допускаются символы, к примеру: «книги», «музыка21» «Мстители-Финал».

Однако стоит отметить, что к примеру в Windows, для именования файлов запрещены следующие символы: \ / : * ? “ < > |. Эти символы запрещены потому что они считаются служебными и могут сбить программное обеспечение с толку.

Так же каждый файл имеет свой тип, или расширение. Вот некоторые из них:

Расширение

Значение

.bak

Резервная копия файла

.c

Исходный текст программы на языке C

.gif

Изображение формата GIF

.hlp

Файл справки

.html

Документ в формате HTML

.jpg

Статическое растровое изображение в формате JPEG

.mp3

Музыка в аудиоформате MPEG layer 3

.mpg

Фильм в формате MPEG

.o

Объектный файл

.pdf

Документ формата PDF

.ps

Документ формата PostScript

.tex

Входной файл для программы форматирования TEX

.txt

Обычный текстовый файл

.zip

Архив, сжатый программой zip

Для управления файлами создаются соответствующие файловые системы. Программное обеспечение, отвечающее за управление файловой системой, называется «системой управления файлами».


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

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

Файловая система FAT (File Allocation Table — таблица размещения файлов) получила свое название благодаря простой таблице, в которой указываются:

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

Ввод-вывод информации

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

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

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

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

Существуют два способа работы устройств ввода-вывода – синхронный и асинхронный.

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

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

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


Архитектура операционных систем

Основные принципы операционных систем

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

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

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

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

  • Принцип модульности
  • Принцип визуализации
  • Принцип мобильности
  • Принцип совместимости
  • Принцип генерируемости
  • Принцип открытости
  • Принцип обеспечения безопасности вычислений

Принцип модульности – операционная система состоит из взаимозаменяемых модулей. Каждый модуль, при повреждении может быть заменен без ущерба общей конфигурации. Возможности взаимодополняемости модулей расширяют возможности операционной системы и возможности ее настройки.
Принцип визуализации – принцип обобщения всех ресурсов посредством абстрактных визуальных форм. Данный принцип значительно упрощает взаимодействие и управление ресурсами оперативной системы. Ресурсы обобщаются по наличию у них единых свойств и группируются. Естественно все это сопровождается непосредственной визуализацией. Важную часть в данном принципе играет независимость программ от внешних устройств. Внешние устройства при подключении не меняют визуальную составляющую, а лишь адаптируют свою визуализацию под критерии устройства к которому подключены.
Принцип мобильности – подразумевает простоту переноса операционной системы на иную аппаратную платформу. Подобные системы должен поддерживать большое количество языков программирования, в том числе и высокоуровневые. Перенос целиком операционной системы весьма сложное занятие. В большинстве случаев принципу мобильности подчиняются основные модули, остальные же просто переписываются заново при переносе. Но это все равно значительно облегчает перенос как в физических затратах, так и хронологических. Чем более уникальна операционная система, тем более затратнее ее перенос на другие платформы. В текущий момент популярность набирает кроссплатформенность. Это задает тенденцию к созданию не уникальных операционных систем, а универсальных, способных к быстрому переносу на любую платформу при минимальных тратах.
Принцип открытости – данный принцип выражает идею доступности к изменениям внутри структуры операционной системы. Если более подробно, что принцип говорит о том, что вы сможете напрямую менять модули операционной системы как пользователь и как системный администратор. Наиболее популярные открытые операционные системы UNIX и Lunix. Как известно сам пользователь создает эту операционную систему под себя, открыто модернизируя ее и полностью имеющий доступ к внутреннему содержанию открытой операционной системы. Подобные тенденции наблюдаются сегодня. Уровень образования растет, следственно растет и компьютерная грамотность населения. Процент пользователей одобряющий и пользующийся открытыми операционными системами относительно мал в текущий момент, но динамика его роста положительна.
Принцип генерации – представление о центральной архитектуре должно обеспечивать возможность настройки операционной системы. Само себе понятия «пространственная генерация» тесно связано с локализующими параметрами пространственного расположения модулей. Доступность модульного расположения и знание принципов функционирования позволяет прогнозировать примерный продукт генерации, т.е. соответствовать принципу генерации оперативной системы. Для чего необходим подобный механизм было сказано ранее, но хочется заметить и отметить данную каузальную связь между возможностью тонкой настройки и архитектурными особенностями систем. Так же это повторно отображает актуальность и необходимость получения комплексного понимания о операционных системах для дальнейшего успешного применения в деятельности.
Так же очень важным параметром для любой операционной системы является обеспечение безопасности вычислений проводимых компьютером. И дело идет не только о конфиденциальности вычислительных результатов для иных пользователей, сколько о модульной защите самого компьютера от своих же операций. Пренебрежение данным правилом грозит неравномерным распределением ресурсов компьютера, что ведет не к самым благоприятным последствиям как на продукт решения, так и на техническое состояние внутренней архитектуры.
Для защиты компьютера от посягательств внешних пользователей используется система учетных записей. Учетная запись – комплекс механизмов, контролирующих доступ пользователя к информации содержащихся на компьютере, а так-же файлам самого компьютера, так же разграничивающий права пользователей, в соответствии с которым лишь определенные пользователи имеют право определенно взаимодействовать с компьютером (примером данного является разграничение пользовательской учебной записи и учетная запись администратора компьютера). Учетные записи могут представлять наглядный пример право распределения внутри операционной системы для регулирования и внутренних ресурсов. Только в данном случае подобной записью являются процессы, проходящие в архитектуре. Их взаимоисключающая природа позволяет сохранять баланс распределения ресурсов.


Макроядерные операционные системы

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

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

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

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

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

Структурированная модель монолитной системы

Микроядерные операционные системы

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

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

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

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

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


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

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

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

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

Ниже представлена графическая модель этих уровней, продемонстрированная на примере системы MINIX 3.

Упрощенная структура системы MINIX 3.

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

  • управление виртуальной памятью;
  • поддержка заданий и потоков;
  • взаимодействие между процессами (Inter-Process Communication, IPC);
  • управление поддержкой ввода-вывода и прерываниями;
  • сервисы хоста 1 и процессора.

Требования к операционным системам

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

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

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