Файл: Системное программное обеспечение. Вопросы к экзамену. Основные функции ос.docx

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

Категория: Не указан

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

Добавлен: 29.04.2024

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

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

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

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

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

  • пользовательский контекст - содержимое памяти кода процесса, данных, стека, разделяемой памяти, буферов ввода/вы вода:

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

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


В статическую часть входят дескриптор процесса и пользовательская область (U-область).

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

Дескриптор процесса содержит следующую информацию:

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

  • идентификатор процесса PID (Process IDentifier) - уникальное целое число, находящееся обычно в диапазоне от 1 до 65 535, которое присваивается процессу в момент его создания:

  • идентификатор родительского процесса PPID (Parent Process IDentifier) - идентификатор процесса, породившего данный. Все процессы в UNIX-системах порождаются другими процессами, например, при запуске программы на исполнение из командного интерпретатора се процесс считается порожденным от процесса командного интерпретатора

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

  • реальный идентификатор пользователя и группы, запустивших процесс.


U-область содержит следующую информацию:

  • указатель на дескриптор процесса

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

  • параметры последнего системного вызова

  • результаты последнего системного вызова

  • таблица дескрипторов открытых файлов;

  • максимальные размеры адресного пространства, занимаемого процессом: максимальные размеры файлов, которые может создавать процесс.

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



В этом примере команда рs aux выводит следующую информацию о процессах: имя пользователя, от лица которого запушен процесс (USER), идентификатор процесса (PID), процент процессорного времени, используемого процессом в данный момент времени (8CPU), процент занимаемой памяти (МЕM), общий объем памяти в килобайтах, занимаемый процессом (VSZ), объем постоянно занимаемой процессом памяти, которая может быть освобождена только по его завершению (RSS). Файл терминала (TTY). Состояние процесса, дату старта процесса (START), количество используемого процессорного времени (TIME), полную строку запуска программы (COMMAND).

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

Основная функция планировщика задач - балансировка на грузки на систему между процессами, распределение процессорного времени согласно приоритету процессов.

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


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


  1. Семейство Windows

Семейство Windows 9x

Первая система данного семейства — Windows 95 — была выпущена в 1995 году. Её отличительными особенностями являлись новый пользовательский интерфейс, поддержка длинных имён файлов, автоматическое определение и конфигурация периферийных устройств Plug and Play (с англ. — «Подключи и играй»), способность исполнять 32-битные приложения и наличие поддержки TCP/IP прямо в системе. Windows 95 использовала вытесняющую многозадачность и выполняла каждое 32-битное приложение в своём адресном пространстве. К данному семейству относятся также Windows 98 и Windows ME

В составе Windows 95 присутствовала MS-DOS 7.0, однако её роль сводилась к обеспечению загрузки и исполнения 16-битных DOS-приложений.

Семейство Windows NT

Операционные системы этого семейства в настоящее время работают на процессорах с архитектурами x86, x86-64, ARM. Все операционные системы этого семейства являются полностью 32- или 64-битными и не нуждаются в MS-DOS даже для загрузки.

ОС:

Windows NT 3.1 (1993)

Windows NT 3.5 (1994)

Windows NT 3.51 (1995)

Windows NT 4.0 (1996)

Windows 2000 — Windows NT 5.0 (2000)

Windows XP — Windows NT 5.1 (2001)

Windows XP 64-bit Edition — Windows NT 5.2 (2003)

Windows XP Professional x64 Edition — Windows NT 5.2 (2005)

Windows Vista — Windows NT 6.0 (2006)

Windows 7 — Windows NT 6.1 (2009)

Windows 8 — Windows NT 6.2 (2012)

Windows 8.1 — Windows NT 6.3 (2013)

Windows 10 — Windows NT 10.0 (2015)

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


  1. Семейство Linux

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

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

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


Технически говоря, Linux — это не более чем ядро операционной системы. В 1991 году парень по имени Линус Торвальдс создал это ядро для себя, и со временем проект вырос. Позднее (всего через 1 год) люди взяли ядро, которое написал Линус Торвальдс, и объединили его с другими инструментами для создания полнофункциональной операционной системы. Потому что, как вы знаете, операционная система больше, чем просто ядро внутри неё. Это и есть то, что называется дистрибутивом Linux.

Дистрибутив Linux — это полностью готовая операционная система на основе ядра Linux, которая предназначена для выполнения конкретных задач в соответствии с видением ее создателей. Существуют дистрибутивы для серверов, настольных компьютеров, мобильных телефонов, встраиваемых устройств, старых компьютеров и многих других областей применения. У каждого дистрибутива есть свои разработчики и сообщество, которые совместно выпускают новую версию этого дистрибутива Linux. Возможно, вы подумаете, что Linux дистрибутив, похож на Windows XP, Vista, 7 или 10, но в отличии от них у Linux нет центрального поставщика для дистрибутивов. Любой может создать дистрибутив Linux, если захочет.


  1. Основные отличия Windows и Linux

1. Доступ к исходному коду. В Windows полностью закрыт, а в Linux — открыт. Какие это дает преимущества? Каждый пользователь может лично изменять и настраивать систему под собственные нужды. При открытом коде повышается вероятность хакерских атак на систему, но в то же время увеличиваются шансы им противостоять.

2. Лицензионное соглашение. ОС Windows является исключительно платной. Одна ОС по одной лицензии может быть установлена на один компьютер. Только в таком случае написанное с ее помощью ПО можно легально использовать в коммерческих целях. ОС Linux имеет открытое лицензионное соглашение. Это позволяет устанавливать одну версию на неограниченное число машин и применять ее для собственных разработок. Единственное условие — ядро должно оставаться открытым.

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


4. Совместимость с аппаратной частью. В этом вопросе до последних дней лидировала ОС Windows. Многих пользователей отпугивала перспектива вручную подбирать и настраивать отдельные компоненты системы, которые будут совместимы с ОС Linux. Сейчас данная проблема практически устранена.

5. Индивидуальные настройки. Здесь пальму первенства можно безоговорочно отдать системе Linux. Она имеет многоуровневый доступ к настройкам, которые отличаются чрезвычайной гибкостью. Вы можете полностью подстроить работу ОС в соответствии с вашими предпочтениями. В Windows вы ограничены набором предусмотренных разработчиками вариантов.


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

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

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

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

Файловая система определяет:

  • соглашения об организации данных на носителях информации;

  • соглашения о способе доступа к данным к - последовательном и произвольном;

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

  • набор методов, входящих в состав ядра ОС, предназначенных для работы с данными на носителях по указанным выше соглашениям.




  1. Системное и прикладное ПО

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