Защищенность и отказоустойчивость операционных систем. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Защищенность и отказоустойчивость операционных систем.



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

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

Доступность — гарантия того, что авторизованные пользователи всегда получат доступ к данным.

Целостность — гарантия сохранности данными правильных значе­ний, которая обеспечивается запретом для неавторизованных пользователей редактировать, разрушать или создавать данные.

Структура файловой системы ОС GNU/Linux. Типы файлов.

 

Планирование заданий. Типы многозадачности.

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

Многозада́чность — свойство операционной системы или среды выполнения обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких задач. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах.

Существует 2 типа многозадачности: Процессная многозадачность. Здесь программа — наименьший элемент управляемого кода, которым может управлять планировщик операционной системы. Более известна большинству пользователей (работа в текстовом редакторе и прослушивание музыки). Поточная многозадачность. Наименьший элемент управляемого кода — поток (одна программа может выполнять 2 и более задачи одновременно).

45 Процессы в ОС GNU/Linux. Ветвление процессов. Организация процессов в фоновом режиме. Идентификатор процесса (pid).

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

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

Начальная загрузка системы состоит в том, что файл с образом ядра считывается в оперативную память, начиная с нулевого адреса. Этот файл находится в каталоге /boot и называется vmlinuz-x.y.z, где x.y.z — это номер версии ядра.

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

Запись в таблице процессов и пространство процесса вместе составляют контекст, или окружение, процесса. В него входят:

  • PID — идентификатор процесса. Он принудительно назначается планировщиком при запуске процесса.
  • PPID — идентификатор родительского процесса (о порождении процессов — дальше в этом же параграфе).
  • TTY — имя управляющего терминала (терминал, с которого запущен процесс).
  • WD — текущий каталог процесса, от которого отсчитываются относительные пути.
  • RID, RGID — реальные ID и групповой ID пользователя, запустившего процесс.
  • NICE — показатель уступчивости. Процессы выполняются в режиме разделения времени, то есть время центрального процессора делится между готовыми к выполнению процессами с учетом их приоритета. Чем выше показатель уступчивости, тем ниже приоритет.
  • Переменные окружения.

Каждый процесс порождается другим процессом, использующим для этого системный вызов fork(). Таким образом, структура процессов древовидна. Корнем этого дерева служит init — процесс инициализации системы. Он запускается ядром первым, получает идентификатор 1 и порождает еще несколько процессов (сколько и каких, можно узнать из его конфигурационного файла /etc/inittab), которые, в свою очередь, при участии пользователя порождают другие процессы.

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

Иерархия процессов: ps и pstree

Команда ps позволяет просмотреть сведения обо всех процессах, протекающих в системе в данный момент(ps aux, ps -l)

Команда pstree представляет дерево процессов сразу в наглядном виде:

Ключ -р выводит вместе с именем процесса его PID, а ключ -и — имя пользователя, запустившего процесс/

Команды df (disk free) и du (disk usage) показывают, сколько места доступно и занято на жестком диске.

Процессы в реальном времени: команда top.

Фоновый режим

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

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

 



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 254; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.116.159 (0.007 с.)