Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы к экзамену. Операционные системы и среды..docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать
  1. Общие сведения об операционных системах и средах. Назначение и функции ОС.

СПО. Системное программное обеспечение – это программы и комплексы программ которые являются общими для всех кто использует технические средства компьютерных систем. И применяется для автоматизации (разработки новых программ) и для организации выполнения существующих программ.

СПО подразделяются на 5 групп:

  • ОС

  • Системы управления файлами и БД

  • Интерфейс оболочки

  • Системы программирования

  • Утилиты

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

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

ОС позволяет:

  • Управление ресурсами (согласовывает работу всех аппаратных средств)

  • Управление процессами, т.е. выполнение программ, их взаимодействие с устройствами компа и с данными

  • Пользовательский интерфейс, т.е. выполнение команд пользователя

Основные функции ОС:

  • прием от пользователя или оператора систем заданий или команд (на соответствующем языке);

  • прием и исполнение программных запросов;

  • загрузка в оперативную память подлежащих исполнению программ;

  • обеспечение режима мультипрограммирования;

  • обеспечение работы систем управления файлами и данными;

  • обеспечении функций по организации и управлению всеми операциями ввода/вывода;

  • распределение памяти и организация виртуальной памяти;

  • планирование и диспетчеризация задач;

  • организация механизмов обмена между выполняющими программами данных и сообщений;

  • защита одной программы от влияния другой и обеспечение сохранности данных;

  • предоставление услуг на случай частичного сбоя;

  • обеспечение работы систем программирования.

  • аутентификация и авторизация пользователей

  1. Системное программное обеспечение. Архитектура СПО.

СПО. Системное программное обеспечение – это программы и комплексы программ которые являются общими для всех кто использует технические средства компьютерных систем. И применяется для автоматизации (разработки новых программ) и для организации выполнения существующих программ.

СПО подразделяется на 5 пунктов:

  • Операционные системы (ОС)

  • Системы управления файлами

  • Интерфейсные оболочки для взаимодействия пользователя с ОС и программные среды

  • Системные программы

  • Утилиты

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

  • прием от пользователя или оператора систем заданий или команд (на соответствующем языке);

  • прием и исполнение программных запросов;

  • загрузка в оперативную память подлежащих исполнению программ;

  • обеспечение режима мультипрограммирования;

  • обеспечение работы систем управления файлами и данными;

  • обеспечении функций по организации и управлению всеми операциями ввода/вывода;

  • распределение памяти и организация виртуальной памяти;

  • планирование и диспетчеризация задач;

  • организация механизмов обмена между выполняющими программами данных и сообщений;

  • защита одной программы от влияния другой и обеспечение сохранности данных;

  • предоставление услуг на случай частичного сбоя;

  • обеспечение работы систем программирования.

  • аутентификация и авторизация пользователей

  1. Обобщенная структура программного обеспечения ВС.

  1. Понятие вычислительного процесса и ресурса.

Процесс — программа, которая выполняется в текущий момент. Стандарт ISO 9000:2000 определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие.

Процесс- это минимальный программный объект, обладающий собственными системными ресурсами

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

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

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

ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС (calculation process). Процесс решения задач на ЭВМ

  1. ОС как диспетчер ресурсов вычислительной системы. Основные виды ресурсов ОС.

ОС как диспетчер ресурса;

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

  • Идентификатор процесса

  • Тип процесса

  • Приоритет процесса

  • Переменную состояния

  • Контекст задачи

  • Информацию о ресурсах

    • К основным ресурсам можно отнести:

  • Процессор

  • Основная память

  • Устройства ввода- вывода

  • Информационные ресурсы (данные)

  • Программные ресурсы

ОС позволяет:

  • Управление ресурсами (согласовывает работу всех аппаратных средств)

  • Управление процессами, т.е. выполнение программ, их взаимодействие с устройствами компа и с данными

  • Пользовательский интерфейс, т.е. выполнение команд пользователя

  • К числу основных ресурсов современных вычислительных систем могут быть отнесены такие ресурсы, как процессоры, основная память, устройства ввода- вывода, информационные ресурсы( данные)и программные ресурсы.

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

  • функции ОС работают точно так же, как и все остальное ПО;

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

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

  1. Супервизоры операционной системы. Реализация последовательного процесса в ОС.

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

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

Супервизоры бывают:

  1. Супервизор ввода- вывода

  2. Св прерывания

  3. Св задач

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

-если он свободен и в системе нет запросов от задач с более высоким приоритетом,

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

- ресурс используется задачей более низкого приоритета быть одновременно отобран (разделяемый ресурс).

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

  • идентификатор процесса (Process Identifier, PID);

  • тип (или класс) процесса, который определяет для супервизора некоторые пра­вила предоставления ресурсов;

  • приоритет процесса, в соответствии с которым супервизор предоставляет ре­сурсы (в рамках одного класса процессов в первую очередь обслуживаются бо­лее приоритетные процессы);

  • переменную состояния, которая определяет, в каком состоянии находится про­цесс (готов к работе, выполняется, ожидает устройства ввода-вывода и т. д.);

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

  • информацию о ресурсах, которыми процесс владеет и/или имеет право пользо­ваться (указатели на открытые файлы, информация о незавершенных опера­циях ввода-вывода и др.);

  • место (или его адрес) для организации общения с другими процессами;

  1. Реализация последовательного процесса в ОС. Состояние процесса.

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

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

  • идентификатор процесса (Process Identifier, PID);

  • тип (или класс) процесса, который определяет для супервизора некоторые пра­вила предоставления ресурсов;

  • приоритет процесса, в соответствии с которым супервизор предоставляет ре­сурсы (в рамках одного класса процессов в первую очередь обслуживаются бо­лее приоритетные процессы);

  • переменную состояния, которая определяет, в каком состоянии находится про­цесс (готов к работе, выполняется, ожидает устройства ввода-вывода и т. д.);

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

  • информацию о ресурсах, которыми процесс владеет и/или имеет право пользо­ваться (указатели на открытые файлы, информация о незавершенных опера­циях ввода-вывода и др.);

  • место (или его адрес) для организации общения с другими процессами;

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

  • Процесс находится в состоянии выполнения, если в данный момент ему выделен центральный процессор (ЦП).

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

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

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

  1. Создание процессов в ОС. Диаграмма состояний процесса.

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

  • идентификатор процесса;

  • идентификатор пользователя, создавшего процесс;

  • данные о расположении в памяти исполняемого модуля;

  • степень привилегированности процесса (приоритет и права доступа);

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

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

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

Загрузка системы

При инициализации системы создаются несколько исходных процессов

В Windows NT ядро – это системный процесс System(Pid4), далее загружаются система управления подсистемами smss. Идентификаторы в Win идут с приращением 4, идентификатор 0 зарезервирован, системный процесс — 4.

Чтобы создать процесс надо:

  • Присвоить уникальный идентификатор новому процессу

  • Выделить ему место в памяти (для программы, данных и стека) – физически в памяти выделяются некоторые страницы (создается образ процесса на диске)

  • Инициализировать РСВ (блок управления процессом)

  • Добавить процесс в очередь «готовых» к выполнению.

Из состояния выполнения процесс может выйти по одной из следующих причин:

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

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

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

Состояние процесса:

  • Новый процесс

  • Выполняемый процесс

  • Ожидающий процесс

  • Готовый процесс

  • Завершенный процесс

  1. Архитектура ОС. Понятие ядра. Вспомогательные модули операционной системы. Многослойная структура ОС.

Архитектура

Первая часть — ядро, низкоуровневая основа любой ОС, выполняемая аппаратурой в особом привилегированном режиме. Ядро загружается в память один раз и находится в памяти резидентно – постоянно, по одним и тем же адресам. Ядро — командный интерпретатор, «переводчик» с программного языка на «железный», язык машинных кодов.

Вторая часть — Подсистема управления ресурсами (resource allocator) — управляет вычислительными ресурсами компьютера — оперативной и внешней памятью, процессором

Третья часть — Управляющая программа (control program, supervisor) – управляет исполнением других программ и функционированием устройств ввода-вывода.(используются специализированные программы для управления различными устройствами, входящими в состав компьютера. Драйвера «системные библиотеки»)

Четвертая часть — удобная оболочка, с которой общается пользователь — интерфейс. Своего рода красивая обертка, в которую упаковано скучное и не интересное для пользователя ядро.

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

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

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

Вспомогательные модули ОС обычно подразделяются на следующие группы:

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

системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

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

  1. Аппаратная зависимость и переносимость ОС.

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

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

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

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

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

5.Системный таймер, часто реализуемый в виде быстродействующего регистра-счетчика, необходим операционной системе для выдержки интервалов времени. Для этого в регистр таймера программно загружается значение требуемого интервала в условных единицах, из которого затем автоматически с определенной частотой начинает вычитаться по единице. Частота «тиков» таймера связана с частотой тактового генератора процессора. При достижении нулевого значения счетчика таймер инициирует прерывание, которое обрабатывается процедурой операционной системы. Операционная система использует прерывания от системного таймера для отслеживания временных затрат процессора на выполнение процессов. Например, в системе разделения времени при обработке очередного прерывания от таймера планировщик процессов может принудительно передать управление другому процессу, если данный процесс исчерпал выделенный ему квант времени.

Переносимость ОС

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

  1. ОС Linux. Взаимодействие компонентов ОС.

Linux - многозадачная и многопользовательская ОС. Написанная на языке C++ и все программы на нее пишутся тоже на С++. Основной составляющей является ядро

Ядро linux состоит из:

  • Команд и библиотек

  • Программ пользователя

  • Интерфейс системного вызова

  • Ядро

  • Аппаратное обеспечение

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

Ядро выдает системе команды – системные вызовы. Они координируют действие ядра по выполнению команд, введенных пользователем.

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

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

  1. Архитектура операционной системы. Многослойная структура ОС.