ТОП 10:

Функционирование типичной операционной системы



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

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

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

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

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

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

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

 

Управление процессами

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

Состояние процессов

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

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

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

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

еще одну проблему синхронизации - взаимные блокировки, называемые также дедлоками (deadlocks), клинчами (clinch) или тупиками.

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

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

Автоматическое планирование и диспетчеризация (англ. Automated planning and scheduling, APS) — область задач искусственного интеллекта, касающаяся выполнения стратегии или последовательности действий, обычно для интеллектуальных агентов, автономных роботов и беспилотных аппаратов. В отличие от классических проблем управления и классификации, решения задач данной области комплексны, неизвестны и должны разрабатываться и оптимизироваться в многомерном пространстве.

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

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

 

Файловая система

Фа́йловая систе́ма (англ. file system) — порядок, определяющий способ организации, хранения и именования данных на носителях информации и компьютерной техники.

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

· Для носителей с произвольным доступом (например, жёсткий диск): FAT32, HPFS, ext2 и др. Поскольку доступ к дискам в разы медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется либо журналирование, например в ext3, ReiserFS, JFS, NTFS, XFS, либо механизм soft updates и др. Журналирование широко распространено в Linux, применяется в NTFS. Soft updates — в BSD системах.

· Для носителей с последовательным доступом (например, магнитные ленты): QIC и др.

· Для оптических носителей — CD и DVD: ISO9660, HFS, UDF и др.

· Виртуальные файловые системы: AEFS и др.

· Сетевые файловые системы: NFS, CIFS, SSHFS, GmailFS и др.

· Для флэш-памяти: YAFFS, ExtremeFFS.

· Немного выпадают из общей классификации специализированные файловые системы: ZFS (собственно файловой системой является только часть ZFS), VMFS (т. н. кластерная файловая система, которая предназначена для хранения других файловых систем) и др.

Задачи файловой системы

Основные функции любой файловой системы нацелены на решение следующих задач:

· именование файлов;

· программный интерфейс работы с файлами для приложений;

· отображения логической модели файловой системы на физическую организацию хранилища данных;

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

· содержание параметров файла, необходимых для правильного его взаимодействия с другими объектами системы (ядро, приложения и пр.).

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

 

Драйверы

Текущая версия (не проверялась)

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

// Идеология построения драйверов

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

· загрузка драйвера. Тут драйвер регистрируется в системе, производит первичную инициализацию и т. п.;

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

· открытие драйвера. Начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile() в Win32 или fopen() в UNIX-образных системах;

· чтение;

· запись: программа читает или записывает данные из/в устройство, обслуживаемое драйвером;

· закрытие: операция, обратная открытию, освобождает занятые при открытии ресурсы и уничтожает дескриптор файла;







Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

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