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

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

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

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

Добавлен: 30.03.2023

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

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

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

1.3. Состав и назначение компонентов операционной системы

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

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

Компоненты операционной системы

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

Рисунок 1.6. Основные компоненты операционной системы

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

Ядро.

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

Выполнение процессов.

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

Прерывания.

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


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

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

Мы можем разделить работу Управления Памятью на 3 существенные группы:

  1. Управление аппаратной памятью.
  2. Управление памятью ОС (операционной системы).
  3. Управление памятью приложений.

Многозадачность.

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

Работа с сетью.

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

Безопасность.

Если к системе имеет доступ несколько человек, и она позволяет одновременно работать с несколькими процессами, то многочисленные процессы должны быть защищены от действий друг друга. Безопасность и надежность компьютерной системы зависит от эффективности работы различных технологий. Современная операционная система предоставляет доступ к ряду ресурсов, которые легко доступны для программного обеспечения, работающего в системе, и к внешним устройствам, таким как сети, посредством ядра. Операционная система должна быть способна различать требования, которые должны быть обработаны, и другие, которые не должны быть обработаны. В дополнение к разрешению или запрету версий безопасности, система с высоким уровнем защиты также предоставляет возможности аудита. Это позволит контролировать запросы на доступ к ресурсам (например, «кто прочитал этот файл?») [9].


Интерфейс пользователя.

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

2. Функции операционных систем

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

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

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

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


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

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

2.2. Управление процессором. Многозадачность

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

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

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


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

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

Во многих однопользовательских операционных системах совместная многозадачность вполне адекватна, так как на домашних компьютерах, как правило, запускается небольшое количество хорошо протестированных программ. Исключение составляет AmigaOS, имеющая упреждающую многозадачность с самой первой версии. Windows NT была первой версией Microsoft Windows, которая ввела упреждающую многозадачность, но она не достигла рынка домашних пользователей до Windows XP (поскольку Windows NT была ориентирована на профессионалов).

2.3. Управление устройствами

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