Файл: Функции операционных систем персональных компьютеров, история ЭВМ.pdf
Добавлен: 23.04.2023
Просмотров: 327
Скачиваний: 1
СОДЕРЖАНИЕ
Третье поколение: интегральные схемы
Развитие третьего поколения ЭВМ пришлось на 1965-1985 года.
Аппаратное обеспечение персонального компьютера
Основные функции операционной системы
Архитектура операционных систем
Краткий обзор современных операционных систем
Семейство операционных систем Linux
Как и в классических системах UNIX, Linux содержит макроядро.
Проблема использования этого способа заключается в том, что при попытке поместить процесс в один из таких блоков, диспетчер памяти будет вынужден искать последовательность нулевых значений. Что замедляет работы всего ПК.
Следующий способ – связанные списки. При работе с данным способом, мы должны учитывать, что имеем четыре основных алгоритма работы такой памяти:
- первое подходящее;
- следующее подходящее;
- наиболее подходящее;
- наименее подходящее.
Четыре комбинации соседей для завершающегося процесса X
.
Когда процессы и пустые пространства содержатся в списке отсортированными по адресам, то для выделения памяти создаваемому процессу (или существующему процессу, загружаемому в результате свопинга с диска) могут быть использованы перечисленные выше алгоритмы.
Файловые системы
Файл. Файл представляет из себя механизм абстрагирования, для удобства пользователя. Можно сказать, что это способ хранения информации, для последующей работы с ней.
Каждый файл имеет свое имя. Это имя обычно может состоять из букв и цифр иногда даже допускаются символы, к примеру: «книги», «музыка21» «Мстители-Финал».
Однако стоит отметить, что к примеру в Windows, для именования файлов запрещены следующие символы: \ / : * ? “ < > |. Эти символы запрещены потому что они считаются служебными и могут сбить программное обеспечение с толку.
Так же каждый файл имеет свой тип, или расширение. Вот некоторые из них:
|
Расширение |
Значение |
|
.bak |
Резервная копия файла |
|
.c |
Исходный текст программы на языке C |
|
.gif |
Изображение формата GIF |
|
.hlp |
Файл справки |
|
.html |
Документ в формате HTML |
|
.jpg |
Статическое растровое изображение в формате JPEG |
|
.mp3 |
Музыка в аудиоформате MPEG layer 3 |
|
.mpg |
Фильм в формате MPEG |
|
.o |
Объектный файл |
|
|
Документ формата PDF |
|
.ps |
Документ формата PostScript |
|
.tex |
Входной файл для программы форматирования TEX |
|
.txt |
Обычный текстовый файл |
|
.zip |
Архив, сжатый программой zip |
Для управления файлами создаются соответствующие файловые системы. Программное обеспечение, отвечающее за управление файловой системой, называется «системой управления файлами».
Эта система создает, удаляет, переносит файлы и их информацию, так же отвечает за их организацию, чтение, модификации и управляет доступом к этим файлам.
Такая система не является самостоятельным программным обеспечением, а разрабатывается в соответствии с оперционной системой, в которой она состоит. Одна из наиболее известных таких систем – FAT.
Файловая система FAT (File Allocation Table — таблица размещения файлов) получила свое название благодаря простой таблице, в которой указываются:
- непосредственно адресуемые участки логического диска, отведенные для размещения в них файлов или их фрагментов;
- свободные области дискового пространства;
- дефектные области диска (эти области содержат дефектные участки и не гарантируют чтение и запись данных без ошибок).
Ввод-вывод информации
Устройства ввода-вывода так же очень важны и по сути, без них пользователь просто не мог бы воспользоваться компьютером.
Операционная система контролирует все устройства ввода и вывода, подключенные к компьютеру. Так же можно по праву назвать данные устройства – одной из сложнейших для программирования, частей компьютера.
Сложность заключается в том, что на рынке невероятно много представителей данных устройств, потому создать для них общее программное обеспечение невозможно, поскольку у каждой модели свои особенности.
Для решение этой проблемы были созданы драйвера. Драйвер устройства – это ПО предназначенное для организации работы этого устройства, учитывая его особенности. Обычно драйвера создаются индивидуально для каждого устройства, однако существуют и драйвера, направленные на обеспечение работы класса родственных устройств, что значительно облегчает задачу организации совместимости устройства и операционной системы.
Существуют два способа работы устройств ввода-вывода – синхронный и асинхронный.
Синхронный ввод-вывод называется блокирующим. При таком способе, запустив операцию ввода-вывода, приложение переходит в режим блокировки, до окончания этой самой операции.
При асинхронном способе используются прерывания, за счет чего, программа, запустив операцию ввода-вывода, не блокируется, а продолжает работать в привычном режиме.
Простейшим вариантом асинхронного вывода является так называемый буферизованный вывод данных на внешнее устройство, при котором данные из приложения передаются не непосредственно на устройство ввода-вывода, а в специальный системный буфер — область памяти, отведенную для временного размещения передаваемых данных.
Архитектура операционных систем
Основные принципы операционных систем
Операционная система, как комплекс системных управляющих и обрабатывающих программ, представляет собой очень сложный конгломерат взаимосвязанных программных модулей и структур данных, которые должны обеспечивать надежное и эффективное выполнение вычислений. Большинство потенциальных возможностей операционной системы, ее технические и потребительские параметры — все это во многом определяется архитектурой системы — ее структурой и основными принципами построения.
Очевидно, что системы, ориентированные на диалог, должны иметь иные стратегию обслуживания и дисциплину диспетчеризации, чем системы пакетной обработки. Диалоговое взаимодействие предполагает реализацию развитой интерфейсной подсистемы, обеспечивающей взаимодействие пользователя с компьютером. Это отличие сказывается и на особенностях построения систем. Очевидно, что для диалоговых операционных систем необходимо предусмотреть множество механизмов, которые позволят пользователям эффективно управлять своими вычислениями.
Аналогично, и системы, реализующие мультизадачный режим работы, отличаются по своему строению от однозадачных систем. Если система допускает работу нескольких пользователей, то желательно иметь достаточно развитую подсистему информационной безопасности. А это, в свою очередь, налагает определенные требования и на идеологию построения операционной системы, и на выбор конкретных механизмов, помогающих реализовать защиту информационных ресурсов ввести ограничения на доступ к другим видам ресурсов. Поскольку операционные системы помимо функций организации вычислений и организации интерфейс пользователя предоставляют интерфейсы для взаимодействия программ с операционной системой, мы рассмотрим и интерфейсы прикладного программирования.
Среди множества принципов построения операционных систем перечислим несколько наиболее важных:
- Принцип модульности
- Принцип визуализации
- Принцип мобильности
- Принцип совместимости
- Принцип генерируемости
- Принцип открытости
- Принцип обеспечения безопасности вычислений
Принцип модульности – операционная система состоит из взаимозаменяемых модулей. Каждый модуль, при повреждении может быть заменен без ущерба общей конфигурации. Возможности взаимодополняемости модулей расширяют возможности операционной системы и возможности ее настройки.
Принцип визуализации – принцип обобщения всех ресурсов посредством абстрактных визуальных форм. Данный принцип значительно упрощает взаимодействие и управление ресурсами оперативной системы. Ресурсы обобщаются по наличию у них единых свойств и группируются. Естественно все это сопровождается непосредственной визуализацией. Важную часть в данном принципе играет независимость программ от внешних устройств. Внешние устройства при подключении не меняют визуальную составляющую, а лишь адаптируют свою визуализацию под критерии устройства к которому подключены.
Принцип мобильности – подразумевает простоту переноса операционной системы на иную аппаратную платформу. Подобные системы должен поддерживать большое количество языков программирования, в том числе и высокоуровневые. Перенос целиком операционной системы весьма сложное занятие. В большинстве случаев принципу мобильности подчиняются основные модули, остальные же просто переписываются заново при переносе. Но это все равно значительно облегчает перенос как в физических затратах, так и хронологических. Чем более уникальна операционная система, тем более затратнее ее перенос на другие платформы. В текущий момент популярность набирает кроссплатформенность. Это задает тенденцию к созданию не уникальных операционных систем, а универсальных, способных к быстрому переносу на любую платформу при минимальных тратах.
Принцип открытости – данный принцип выражает идею доступности к изменениям внутри структуры операционной системы. Если более подробно, что принцип говорит о том, что вы сможете напрямую менять модули операционной системы как пользователь и как системный администратор. Наиболее популярные открытые операционные системы UNIX и Lunix. Как известно сам пользователь создает эту операционную систему под себя, открыто модернизируя ее и полностью имеющий доступ к внутреннему содержанию открытой операционной системы. Подобные тенденции наблюдаются сегодня. Уровень образования растет, следственно растет и компьютерная грамотность населения. Процент пользователей одобряющий и пользующийся открытыми операционными системами относительно мал в текущий момент, но динамика его роста положительна.
Принцип генерации – представление о центральной архитектуре должно обеспечивать возможность настройки операционной системы. Само себе понятия «пространственная генерация» тесно связано с локализующими параметрами пространственного расположения модулей. Доступность модульного расположения и знание принципов функционирования позволяет прогнозировать примерный продукт генерации, т.е. соответствовать принципу генерации оперативной системы. Для чего необходим подобный механизм было сказано ранее, но хочется заметить и отметить данную каузальную связь между возможностью тонкой настройки и архитектурными особенностями систем. Так же это повторно отображает актуальность и необходимость получения комплексного понимания о операционных системах для дальнейшего успешного применения в деятельности.
Так же очень важным параметром для любой операционной системы является обеспечение безопасности вычислений проводимых компьютером. И дело идет не только о конфиденциальности вычислительных результатов для иных пользователей, сколько о модульной защите самого компьютера от своих же операций. Пренебрежение данным правилом грозит неравномерным распределением ресурсов компьютера, что ведет не к самым благоприятным последствиям как на продукт решения, так и на техническое состояние внутренней архитектуры.
Для защиты компьютера от посягательств внешних пользователей используется система учетных записей. Учетная запись – комплекс механизмов, контролирующих доступ пользователя к информации содержащихся на компьютере, а так-же файлам самого компьютера, так же разграничивающий права пользователей, в соответствии с которым лишь определенные пользователи имеют право определенно взаимодействовать с компьютером (примером данного является разграничение пользовательской учебной записи и учетная запись администратора компьютера). Учетные записи могут представлять наглядный пример право распределения внутри операционной системы для регулирования и внутренних ресурсов. Только в данном случае подобной записью являются процессы, проходящие в архитектуре. Их взаимоисключающая природа позволяет сохранять баланс распределения ресурсов.
Макроядерные операционные системы
Макроядерную операционную систему, так же называют монолитной, из-за её целостности, не разделяя центральную часть и периферийные модули (этой самой системы). Принцип ее работы заключен в том, что система, представлена как единая программа, работающая в режиме ядра.
Её особенностью и главным преимуществом является то, что она написана набором процедур, которые находятся в одной системе, потому могут беспрепятственно взаимодействовать друг с другом, что дает высокую эффективность. Однако создает свои минусы в виде громоздкого кода, а также ошибка в одной из процедур, приведет к аварии всей операционной системы.
Исполняемый файл монолитной системы строится поэтапно, сначала компилируются все процедуры или файлы отдельно, затем связываются вместе посредством компоновщика. Таким образом реализация всех действий открыта и видна всем процедурам, в отличие от структуры, содержащей модули и пакеты, информация в которых преимущественно скрыта.
Структура данной ОС включает в себя три уровня процессов, которые можно представить следующим образом:
- Основная программа, которая вызывает требуемую служебную процедуру.
- Набор служебных процедур, выполняющих системные вызовы.
- Набор вспомогательных процедур, содействующих работе служебных процедур
Структурированная модель монолитной системы
Микроядерные операционные системы
Микроядерная модель операционной системы отлично сочетает в себе принципы мобильности, совместимости и обеспечения безопасности.
Данная модель ОС была разбита на более мелкие модули системы, одним из таких моделей является микроядро, наделенное определенными полномочиями и обеспечивающее основную работу системы. Остальные же модули стали более высокоуровневыми и отошли к ряду пользовательских процессов, так же потеряв некоторые полномочия.
Однако такое решение привело к снижению эффективности, связанной с затратой большего времени на взаимодействие процессов друг с другом.
Таким образов повысилась мобильность системы и ее надежность. В данной модели ОС, при ошибке, возникающей в одном из модулей, вся система не рухнет, как можно было ожидать того в макроядерных системах.
Приведем пример, касающийся драйверов. При внесении их в пользовательскую файловую систему, ошибка в любом из них может привести к отказу некоего компонента, за который он отвечает, но не навредит системе в целом. Так, если в звуковом драйвере возникнет ошибка, то это вызовет искажение или пропажу звука, но зависания всей системы не произойдет. В макроядерной же системе, расположение драйверов сосредоточено в ядре, и ошибка в звуковом устройстве, может сослаться на неверный адрес, что приведет систему к вынужденной остановке.
Структура данной системы так же может быть представлена тремя уровнями пользовательских процессов, не включающих микроядро в эти уровни.
На самом нижнем уровне будут расположены драйвера устройств. Так как они работают в пользовательском режиме, однако не обладают достаточными привилегиями, чтобы к примеру, напрямую воздействовать на устройство ввода-вывода. Для данной операции драйвер отправляет запрос ядру, которое в свою очередь проводит проверку полномочий драйвера. Таким образом дефектный драйвер не сможет осуществить случайную запись на диск (что вполне возможно при возникновении ошибки в монолитной системе).
Следующий уровень содержит в себе службы. Они выполняют основную часть работы операционной системы, и работают в пользовательском режиме. К примеру диспетчер процессов, файловая служба и другие.
За счет этих служб работает следующий уровень процессов – пользовательские программы. Они отправляют запросы на выполнение тех или иных задач службам, таким образом получая доступ к услугам операционной системы.
Ниже представлена графическая модель этих уровней, продемонстрированная на примере системы MINIX 3.
Упрощенная структура системы MINIX 3.
Исполняемые микроядром функции ограничены в целях сокращения его размеров и максимизации количества кода, работающего как прикладная программа. Микроядро включает только те функции, которые требуются в целях определения набора абстрактных сред обработки для прикладных программ и организации совместной работы приложений. В результате микроядро обеспечивает только пять различных типов сервисов:
- управление виртуальной памятью;
- поддержка заданий и потоков;
- взаимодействие между процессами (Inter-Process Communication, IPC);
- управление поддержкой ввода-вывода и прерываниями;
- сервисы хоста 1 и процессора.
Требования к операционным системам
Современные технологии с каждым годом улучшаются и повышают свою производительность примерно в два раза. В связи с этим, к операционным системам сегодняшнего времени предъявляются некоторые требования.
От систем реального времени (СРВ), как известно, требуется быстрый отклик, на внешнее воздействие. Для этого система должна отвечать минимум двум требованиям.
- Ограничение времени отклика. Определяется предустановленный крайний срок времени, за который система должна отреагировать на воздействие, непосредственно после какого-либо события. Отсутствие подобного ограничения рассматривается как недостаток программного обеспечения.
- Одновременность обработки. Параллелизм или же многозадачность так же важна. Даже при нескольких запущенных процессов или программ, все временные ограничения процессов должны быть выдержаны.