рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

По дисциплине Операционные системы

По дисциплине Операционные системы - раздел Науковедение, Обобщенная Структура Апим С Перечнем Контролируемых Учебных Элементо...

Обобщенная структура АПИМ

с перечнем контролируемых учебных элементов

по дисциплине«Операционные системы»

для специальностей 230100.62, 230200.62, 230101.65, 230102.65,
230104.65, 230105.65, 230201.65, 230202.65, 230203.65, 230204.65

УГС 230000 – «Информатика и вычислительная техника»

 

 

Контролируемое содержание дисциплины   Перечень контролируемых учебных элементов Студент должен …
Код элемента содержа-ния Наименование элемента содержания (темы)
ДЕ 1. Основные понятия и определения
1.1.01. Назначение и функции операционных систем знать: назначение и основные функции операционных систем, определение понятия «операционная система» (Операционная система — это программа, контролирующая работу пользовательской программы и систем приложений и исполняемая роль интерфейса между приложениями и аппаратным обеспечением компьютера. Её предназначения можно разделить на три основные составляющие: · удобство: операционная система делает исполнение компьютера простым и удобным · эффективность: операционная система позволяет эффективно использовать ресурсы компьютерной системы · возможность развития: операционная система должна допускать разработку тестирования новых приложений и системных функций без нарушения нормального функционирования вычислительной системы. )
1.1.02. Операционная среда знать: определение терминов и понятий «операционная система», «операционная среда», «программная среда», «системные вызовы» «операционная система» - система, контролирующая работу прикладных программ и системных приложений и выполняющих роль интерфейса между приложением и аппаратным обеспечением. Функции ОС: * виртуальный компьютер (Смысл: предоставление абстракций: файлы, папки, процессы...) (Операционная среда) * Менеджер ресурсов * ...   «операционная среда» (operating environment) - понима-   ется комплекс средств, обеспечивающих разработку и выполнение прикладных программ и представляющих собой набор функций и сервисов операционной системы и правил обращения к ним. Позволяют запускать программы других ОС     «программная среда» - совокупность программных средств используемых при создании и исполнении программы   «системные вызовы» - интерфейс между ОС и пользовательской программой. Обрабтка системных вызовов часть пользовательского слоя ПО
1.1.03. Прерывания знать: определение терминов «прерывание» и «маскирование», особенности реализации механизма обработки прерываний Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код(если это возможно). В зависимости от источника возникновения сигнала прерывания делятся на: асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание (англ. Interrupt request, IRQ); синхронные или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции; программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы. В зависимости от возможности запрета внешние прерывания делятся на: маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах — сбросом флага IF в регистре флагов); немаскируемые (англ. Non-maskable interrupt, NMI) — обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти. В отличие от реального режима, в защищённом режиме x86-процессоров обычные программы не могут обслуживать прерывания, эта функция доступна только системному коду (операционной системе). В многопрограммных системах после возврата из прерывания происходит передиспетчеризация процессов. ОС анализирует вновь пришедшие запросы на прерывания, их приоритеты, и осуществляет выбор процесса, который будет выполняться: возможно, начнется обработка другого прерывания, а возврат в программу будет отложен.
1.1.04. Процессы и потоки знать: определение терминов «процесс», «поток», «сигнал», «критическая область», «адресное пространство процесса»; назначение механизмов взаимодействия и синхронизации процессов и потоков Понятие процесса относятся к одному из основополагающих в ОС. Существует много определений термина процесс в том числе: 10 Выполняющаяся прикладная программа пользователя 20 Экземпляр программы, выполняющийся на компьютере 30 Объект, который можно индетифицировать и выполнять на процессоре 40 Единица активности, которую можно охарактеризовать единой цепочкой последовательных действий, текущим состоянием и связанных с ней набором системных ресурсов. Как понятие процесс является определенным типом абстракции, и обычно следует придерживаться следующего неформального определения. Последовательный процесс (задача) – выполнение отдельной программы и ее данные на последовательном процессоре. Пото́к выполне́ния— наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения ипроцессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют инструкции процесса (его код) и его контекст (значения переменных, которые они имеют в любой момент времени). В качестве аналогии потоки выполнения процесса можно уподобить нескольким вместе работающим поварам. Все они готовят одно блюдо, читают одну и ту же кулинарную книгу с одним и тем же рецептом и следуют его указаниям, причём не обязательно все они читают на одной и той же странице. Сигналы в POSIX-совместимых операционных системах являются одним из способов взаимодействия между процессами. Фактически, сигнал — это асинхронное уведомление процесса о каком-либо событии. Когда сигнал послан процессу, операционная система прерывает выполнение процесса. Если процесс установил собственный обработчик сигнала, операционная система запускает этот обработчик, передав ему информацию о сигнале. Если процесс не установил обработчик, то выполняется обработчик по умолчанию. Критическая секция — часть программы, в которой есть обращение к совместно используемым данным. При нахождении в критической секции двух (или более) процессов, возникает состояние «гонки» («состязания»). Для избежания данной ситуации необходимо выполнение четырех условий: 10Два процесса не должны одновременно находиться в критических областях. 20В программе не должно быть предположений о скорости или количестве процессоров. 30Процесс, находящийся вне критической области, не может блокировать другие процессы. 40Невозможна ситуация, в которой процесс вечно ждет попадания в критическую область. Критическая секция— объект синхронизации потоков, позволяющий предотвратить одновременное выполнение некоторого набора операций (обычно связанных с доступом к данным) несколькими потоками. Критическая секция выполняет те же задачи, что и мьютекс. Каждый процесс выполняется в собственном виртуальном пространстве адресов. Размер виртуального адресного пространства фиксирован, но может отличаться в реализациях OS UNIX на различных платформах. Совокупность участков RAM, отображаемых виртуальными адресами составляет образ процесса. Образ процесса составляют следующие сегменты: процедурный сегмент (text), сегмент инициализированных данных (data), сегмент неинициализированных данных (bss) и стек (stack). Начальные размеры сегментов образа процесса определяет заголовок файла программы процесса. Сегменты text и data загружаются из файла программы процесса. Сегменты bss и stack создаются в образе процесса и не занимают места в файле программы процесса, так как, по умолчанию, начальные значения составляющих их данных равны 0. Сегмент textсодержит машинные инструкции и константы. Его содержание не изменяется при выполнения процесса. Сегмент dataсодержит внешние и статические переменные, инициализированные при компиляции программы процесса. Сегмент bssсодержит внешние и статические переменные, неинициализированные при компиляции программы процесса. Сегмент stackиспользуется для хранения значений автоматических переменных и параметров функций, а также для организации рекурсивных вызовов функций.  
1.1.05. Файлы и файловые системы знать: определение терминов «файловая система», «корневой каталог»(каталог самого верхнего уровня типа UNIX, каталог прямо или косвенно включающий в себя все прочие каталоги и файлы файловой системы, называевым корневым, В Unix-подобных ОС он обозначается символом / (дробь, слеш), в DOS и Windows исторически используется символ (обратный слеш), но с некоторого времени поддерживается и /.), «дескриптор файла»; отличие понятий «абсолютного и относительного пути»; смысл операции «монтирование»; назначение различных типов файлов(1 – обычные, инфа произвольной направленности, 2- каталоги, )   Понятие файловая система означает стандартизованную совокупность структур данных, алгоритмов и программ, обеспечивающих хранение файлов и выполнение операций с ними. Мощная современная ОС обычно поддерживает возможность использования нескольких разных файловых систем. И наоборот, одна и та же файловая система может поддерживаться различными ОС  
1.1.06. Память знать: определение терминов «физическая память», «виртуальная память», «сегмент», «свопинг», «физическая и виртуальная страница» «физическая память» (Физическая память представляет собой упорядоченное множество ячеек реально существующей опе­ративной памяти, и все они пронумерованы, то есть к каждой из них можно обра­титься, указав ее порядковый номер (адрес). Количество ячеек физической памя­ти ограниченно и фиксированно.), «виртуальная память» (Вычислительной системе нужны средства для долгосрочного хранения информации после выключения компьютера. ОС решает эту задачу с помощью средств виртуальной памяти и ФС. ФС обеспечивает долгосрочное хранение информации, помещая ее в именованные объекты - файлы. Файл - удобная для использования структура данных, доступ к которой и ее защита осуществляется ОС. Виртуальная память - устройство, позволяющее программистам рассматривать ОЗУ как логический объект, не интересуясь его физическим объемом. Принципы работы с виртуальной памятью были разработаны, чтобы задания нескольких пользователей, выполняясь параллельно, могли одновременно присутствовать в ОЗУ. Виртуальная память решает две задачи: 1) защищает программы друг от друга, а ядро ОС - от программ; 2) управляет перемещением программ в памяти. ), «сегмент» (Сегментная адресация памяти — схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес (адрес относительно всего объёма памяти), который указывает на начало сегмента в адресном пространстве. В результате получается сегментный (логический) адрес, который соответствует линейному адресу база сегмента+смещение и который выставляется процессором на шину адреса.), «свопинг» (При небольшом объеме памяти и, следовательно, небольшом количестве разделов увеличить число параллельно выполняемых приложений (особенно когда эти при­ложения интерактивны и во время своей работы фактически не используют про­цессорное время, а в основном ожидают операций ввода-вывода) можно за счет замены их в памяти, или свопинга (swapping). При свопинге задача может быть целиком выгружена на магнитный диск (перемещена во внешнюю память), а на ее место загружается либо более привилегированная, либо просто готовая к выпол­нению другая задача, находившаяся на диске в приостановленном состоянии. При свопинге из основной памяти во внешнюю (обратно) перемещается вся програм­ма, а не ее отдельная часть. Перемещение сегментов из оперативной памяти на жест­кий диск и обратно часто называют свопингом сегментов.), «физическая и виртуальная страница»(Для преобразования виртуальных адресов в физические физическая и виртуальная память разбиваются на блоки фиксированной длины, называемые страницами. Объемы виртуальной и физической страниц совпадают. Страницы виртуальной и физической памяти нумеруются. Отсутствующие в физической памяти страницы обычно хранятся во внешней памяти. Фиксированный размер всех страниц позволяет загрузить любую нужную виртуальную страницу в любую физическую. Как отмечалось выше, при страничном представлении памяти виртуальный (логический) адрес представляет собой номер виртуальной страницы и смещение внутри этой страницы. В свою очередь, физический адрес - это номер физической страницы и смещение в ней.)
1.1.07. Пользователи знать: определение терминов «идентификатор пользователя» (цифровая)и «идентификатор группы», различия между правами обычных пользователей и правами и функциями системного администратора Идентификатор пользователя - символьное или цифровое имя, присваиваемое отдельному лицу или группе лиц и разрешающее использование ресурсов информационной системы. ОС различает пользователей именно по UID (а не, например, по логину). Во многих системах существует возможность создать две записи пользователя с разными логинами, но одинаковыми UID Значение UID ставится в соответствие пользователю в файле /etc/passwd. Множество допустимых значений UID зависит от системы; в общем случае UID допускает использование значений от 0 до 65535 Значения идентификатора пользователя и группы - не просто числа, они определяют владельцев файлов и процессов. Среди пользователей системы выделяется один пользователь - системный администратор или суперпользователь, обладающий всей полнотой прав на использование и конфигурирование системы. Это пользователь с идентификатором 0 и регистрационным именем root.   http://citforum.ru/operating_systems/unix/kravchuk/3.shtml http://dic.academic.ru/dic.nsf/fin_enc/22968  
1.1.08. Режимы работы знать: основные режимы работы операционной системы и особенности их реализации  
ДЕ 2. Управление процессами
1.2.01. Концепция процесса знать: определение понятий «процесс» и «задача», состояния процесса «процесс» - некоторая совокупность набора исполняемых команд, ассоциированных с ними ресурсов(адресное пространство, файлы...) и текущего момента её выполнения (регистры, стек...), находящийся под управлением ОС. Грубо: «программа во время исполнения»   «задача» состояния процесса :
1.2.02. Идентификатор, дескриптор и контекст процесса знать: понятие «идентификатор процесса», два основных типа информационных структур: дескриптор процесса и контекст процесса PID (Process IDentificator) — идентификатор процесса многозадачной операционной системы. В операционных системах семейства Windows является целочисленным типом. В операционных системах стандарта POSIX тип идентификатора определяется в каждой операционной системе индивидуально. Например, в операционной системе Linux идентификатор процесса является целым типом. Используется для обозначения процесса во время выполнения. На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса. Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса. Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса. Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое. Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит: 1. создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; 2. включить дескриптор нового процесса в очередь готовых процессов; 3. загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
1.2.03. Иерархия процессов знать: определение понятий «иерархия процессов», «родительский процесс», «дочерний процесс», отношение между родительскими и дочерними процессами, инструкции родительского и дочернего процессов В UNIX системах заложена жесткая иерархия процессов. Каждый новый процесс созданный системным вызовом fork, является дочерним к предыдущему процессу. Дочернему процессу достаются от родительского переменные, регистры и т.п. После вызова fork, как только родительские данные скопированы, последующие изменения в одном из процессов не влияют на другой, но процессы помнят о том, кто является родительским. В таком случае в UNIX существует и прародитель всех процессов - процесс init. В Windows не существует понятия иерархии процессов. Хотя можно задать специальный маркер родительскому процессу, позволяющий контролировать дочерний процесс. Родительскому процессу функция fork() возвращает PID дочернего процесса, а дочернему процессу – значение 0. Именно по возвращенному fork() значению процесс может узнать, дочерний он или родительский. В иерархии процессов родительский процесс оказывается родителем (странно, не правда ли) дочернего процесса. Дочерний процесс может получить PID родительского процесса с помощью вызова getppid(2), в то время как родительский процесс может узнать PID своего дочернего процесса только из результата fork(). Именно поэтому fork() может позволить себе не возвращать значение PID дочернему процессу, но обязана возвращать значение PID дочернего процесса родительскому. •Значения tms_utime, tms_stime, tms_cutime, и tms_cstime в дочернем процессе обнуляются. •Блокировки на уровне файлов (file locks), установленные в родительском процессе, в дочернем процессе снимаются (иначе сразу два процесса оказались бы владельцами блокировок). Сигналы, обработка которых была отложена в родительском процессе в момент вызова fork(), в дочернем процессе сбрасываются.
1.2.04. Диспетчеризация процессов знать: определение понятий «планирование процессов», «диспетчеризация процессов», дисциплины диспетчеризации
1.2.05. Понятия приоритета и очереди процессов знать: определение понятий «приоритет» и «очередь процесса», приоритетные дисциплины диспетчеризации «приоритет» и «очередь процесса» (В каждой записи таблицы процессов есть поле приоритета, используемое планировщиком процессов. Приоритет процесса в режиме задачи зависит от того, как этот процесс перед этим использовал ресурсы ЦП. Можно выделить два класса приоритетов процесса: приоритеты выполнения в режиме ядра и приоритеты выполнения в режиме задачи. Каждый класс включает в себя ряд значений, с каждым значением логически ассоциирована некоторая очередь процессов. Приоритеты выполнения в режиме задачи оцениваются для процессов, выгруженных по возвращении из режима ядра в режим задачи, приоритеты выполнения в режиме ядра имеют смысл только в контексте алгоритма sleep. Приоритеты выполнения в режиме задачи имеют верхнее пороговое значение, приоритеты выполнения в режиме ядра имеют нижнее пороговое значение. Среди приоритетов выполнения в режиме ядра далее можно выделить высокие и низкие приоритеты: процессы с низким приоритетом возобновляются по получении сигнала, а процессы с высоким приоритетом продолжают оставаться в состоянии приостанова ), приоритетные дисциплины диспетчеризации (Известно большое количество правил (дисциплин диспетчеризации), в соответ­ствии с которыми формируется список (очередь) готовых к выполнению задач. Различают два больших класса дисциплин обслуживания — бесприоритетные и приоритетные. При бесприоритетном обслуживании выбор задачи произво­дится в некотором заранее установленном порядке без учета их относительной важности и времени обслуживания. При реализации приоритетных дисциплин обслуживания отдельным задачам предоставляется преимущественное право по­пасть в состояние исполнения. приоритет, присвоенный задаче, может являться величиной постоянной; приоритет задачи может изменяться в процессе ее решения.)
1.2.06. Синхронизация процессов знать: определение понятий «синхронизация процессов», «состязательная ситуация», «семафор», реализацию семафоров в операционной системе Синхронизация в информатике обозначает одно из двух: синхронизацию процессов, либо синхронизацию данных. Синхронизация процессов — приведение двух или нескольких процессов к такому их протеканию, когда определённые стадии разных процессов совершаются в определённом порядке, либо одновременно. Синхронизация необходима в любых случаях, когда параллельно протекающим процессам необходимо взаимодействовать. Для её организации используются средства межпроцессного взаимодействия. Среди наиболее часто используемых средств — сигналы и сообщения, семафоры и мьютексы, каналы (англ. pipe), совместно используемая память. Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам. Семафоры используются при передаче данных через разделяемую память. Семафор — это объект, с которым можно выполнить три операции. init(n): счётчик := n enter(): ждать пока счётчик станет больше 0; после этого уменьшить счётчик на единицу. leave(): увеличить счётчик на единицу. Пример реализации в статье на википедии по ссылке ниже   Состоя́ние го́нки — ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Своё название ошибка получила от похожей ошибки проектирования электронных схем Состояние гонки — специфическая ошибка, проявляющаяся в случайные моменты времени и «затихающая» при попытке её локализовать. Примеры в ссылках ниже   http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BC%D0%B0%D1%84%D0%BE%D1%80_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)   http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%B3%D0%BE%D0%BD%D0%BA%D0%B8 http://os-pc.ru/proc/112-sostyazatelnaya-situatsiya.html
1.2.07. Средства обработки сигналов знать: определение понятий «сигналы», «внешняя синхронизация», «система прерываний», реализацию механизма сигналов  
1.2.08. Понятие событийного программирования знать: понятие «событийное программирование», области применения событийного программирования «событийное программирование» — парадигма программирования, в которой выполнение программы определяется событиями — действиями пользователя (клавиатура, мышь), сообщениями других программ и потоков, событиями операционной системы (например, поступлением сетевого пакета). СОП можно также определить как способ построения компьютерной программы, при котором в коде (как правило, в головной функции программы) явным образом выделяется главный цикл приложения, тело которого состоит из двух частей: выборки события и обработки события.Как правило, в реальных задачах оказывается недопустимым длительное выполнение обработчика события, поскольку при этом программа не может реагировать на другие события. В связи с этим при написании событийно-ориентированных программ часто применяют автоматное программирование. (Привет Лустгартену!) Событийно-ориентированное программирование, как правило, применяется в трех случаях: 10 при построении пользовательских интерфейсов (в том числе графических); 20 при создании серверных приложений в случае, если по тем или иным причинам нежелательно порождение обслуживающих процессов; при программировании игр, в которых осуществляется управление множеством объектов.
1.2.09. Средства коммуникации процессов знать: определение понятия «коммуникация процессов», средства коммуникации процессов Межпроцессное взаимодействие (англ. Inter-Process Communication, IPC) — набор способов обмена данными между множеством потоков в одном или более процессах. Процессы могут быть запущены на одном или более компьютерах, связанных между собой сетью. IPC-способы делятся на методы обмена сообщениями, синхронизации, разделяемой памяти и удаленных вызовов (RPC).
Метод Реализуется (операционной системой или другим окружением)
Файл Все операционные системы.
Сигнал Большинство операционных систем; некоторые системы, как например, Windows, только реализуют сигналы в библиотеке запуска Си, но не обеспечивают их полноценной поддержки для использования методов IPC.
Сокет Большинство сетевых операционных систем.
Канал Все системы, соответствующие POSIX.
Именованный канал Все системы, соответствующие POSIX.
Семафор Все системы, соответствующие POSIX.
Разделяемая память Все системы, соответствующие POSIX.
Обмен сообщениями (без разделения) Используется в парадигме MPI, Java RMI, CORBA и других.
Проецируемый в память файл Все системы, соответствующие POSIX; несет риск появления состояния гонки в случае использования временного файла. Windows также поддерживает эту технологию, но использует API отличный от POSIX.
Очередь сообщений Большинство операционных систем.
Почтовый ящик Некоторые операционные системы.

 

1.2.10. Способы реализации мультипрограммиро-вания знать: определение понятия «мультипрограммирование», способы реализации и критерии эффективности мультипрограммирования Мультипрограммирование - это режим обработки данных, при котором ресурсы вычислительной системы предоставляются каждому процессу из группы процессов обработки данных, находящихся в ВС, на интервалы времени, длительность и очередность предоставления которых определяется управляющей программой этой системы с целью обеспечения одновременной работы в интерактивном режиме. Режим реального времени - режим обработки данных, при котором обеспечивается взаимодействие вычислительной системы с внешними по отношению к ней процессами в темпе, соизмеримом со скоростью протекания этих процессов. Этот режим обработки данных широко используется в системах управления и информационно-поисковых системах. В зависимости от того, в каком порядке при мультипрограммном режиме выполняются программы пользователей, различают режимы пакетной обработки задач и коллективного доступа. В режиме пакетной обработки задачи выстраиваются в одну или несколько очередей и последовательно выбираются для их выполнения.
ДЕ 3. Управление памятью
1.3.01. Организация памяти. Адресное пространство знать: методы адресации памяти, концепцию адресного пространства, методы управления свободными участками памяти  
1.3.02. Методы управления памятью знать: методы распределения памяти процессам, преимущества и недостатки различных режимов памяти   преимущества и недостатки различных режимов памяти (Методы распределения памяти без использования дискового пространства Распределение памяти фиксированными разделами Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь ,либо в очередь к некоторому разделу. Подсистема управления памятью в этом случае выполняет следующие задачи: - сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел, - осуществляет загрузку программы и настройку адресов. При очевидном преимуществе - простоте реализации - данный метод имеет существенный недостаток - жесткость. Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов не зависимо от того, какой размер имеют программы. Даже если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти. С другой стороны, даже если объем оперативной памяти машины позволяет выполнить некоторую программу, разбиение памяти на разделы не позволяет сделать этого. Распределение памяти разделами переменной величины В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера. Задачами операционной системы при реализации данного метода управления памятью является: - ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти, - при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи, - загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей, - после завершения задачи корректировка таблиц свободных и занятых областей. Программный код не перемещается во время выполнения, то есть может быть проведена единовременная настройка адресов посредством использования перемещающего загрузчика. Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам, таким, например, как "первый попавшийся раздел достаточного размера", или "раздел, имеющий наименьший достаточный размер", или "раздел, имеющий наибольший достаточный размер". Все эти правила имеют свои преимущества и недостатки. По сравнению с методом распределения памяти фиксированными разделами данный метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток - фрагментация памяти. Фрагментация - это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти. Перемещаемые разделы Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область (рисунок 2.11). В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется "сжатием". Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором - реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполнения, то преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом. Методы распределения памяти с использованием дискового пространства  
1.3.03. Принципы организации виртуальной памяти знать: возможности виртуальной памяти, требования к аппаратному обеспечению при виртуализации памяти Виртуа́льная па́мять — При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств, и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище Для программы выглядит доступным и непрерывным все допустимое адресное пространство, вне зависимости от наличия в ЭВМ соответствующего объёма ОЗУ. Применение механизма виртуальной памяти позволяет: · упростить адресацию памяти клиентским программным обеспечением; · рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти); · изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью). В настоящее время эта технология имеет аппаратную поддержку на всех современных бытовых процессорах. В то же время во встраиваемых системах и в системах специального назначения, где требуется либо очень быстрая работа, либо есть ограничения на длительность отклика (системы реального времени) виртуальная память используется относительно редко.   http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C  
1.3.04. Сегментная организация памяти знать: назначение и особенности сегментной организации памяти, требования к оборудованию, особенности программирования  
1.3.05. Страничная организация памяти знать: назначение и способы реализации страничной памяти, ее влияние на архитектуру компьютера и операционной системы  
1.3.06. Ускорение работы страничной памяти знать: достоинства и недостатки страничной организации памяти, способы организации диспетчера памяти Основным достоинством страничной организации виртуальной памяти является минимально возможная фрагментация. Поскольку задача может занимать несколько страниц, то все, кроме последней, страницы будут использованы полностью. Однако страничный способ организации памяти имеет недостатки. Страничная трансляция виртуальной памяти требует существенных накладных расходов. Таблицы страниц нужно размещать в памяти. Кроме того, программы разбиваются на страницы случайно, без учета логических взаимосвязей. Это приводит к тому, что межстраничные переходы осуществляются чаще, чем межсегментные. Огромным достоинством страничной виртуальной памяти по сравнению с сегментной является отсутствие «ближних» и «дальних» указателей. Наличие таких концепций в программировании уменьшает применимость арифметики указателей, и приводит к огромным проблемам с переносимостью кода с/на такие архитектуры. Так, например, значительная часть ПО с открытым кодом изначально разрабатывалась для бессегментных 32битных платформ со страничной памятью и не может быть перенесена на сегментные архитектуры без серьёзной переработки. Кроме того, сегментные архитектуры имеют тяжелейшую проблему SS != DS, широко известную в начале 90х годов в программировании под 16битные версии Windows. Эта проблема приводит к затруднениям в реализации динамических библиотек, ибо они имеют свой собственный DS, и SS текущего процесса, что приводит к невозможности использования «ближних» указателей в них. Также наличие своего собственного DS в библиотеках требует устанавливающих правильное значение DS заплаток (MakeProcInstance) для обратных вызовов из библиотеки в вызвавшее приложение. Не найдены: способы организации диспетчера памяти
1.3.07. Принципы замещения страниц знать: принципы обработки прерываний по страничному отказу, принципы функционирования виртуальной памяти Виртуа́льная па́мять (англ. Virtual memory) — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств (англ.), и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище (см. Подкачка страниц). Страничная память — способ организации виртуальной памяти, при котором единицей отображения виртуальных адресов на физические является регион постоянного размера (т. н. страница). Типичный размер 4096 байт, для некоторых архитектур до 128 КБ. Если обращение к памяти не может быть оттранслировано через TLB, то микрокод процессора обращается к таблицам страниц и пытается загрузить PTE оттуда в TLB. Если и после такой попытки сохранились проблемы, то процессор исполняет специальное прерывание, называемое «отказ страницы» (page fault). Обработчик этого прерывания находится в подсистеме виртуальной памяти ядра ОС. Некоторые процессоры (MIPS) не имеют обращающегося к таблице микрокода, и генерируют отказ страницы сразу после неудачи поиска в TLB, обращение к таблице и её интерпретация возлагаются уже на обработчик отказа страницы. Это лишает таблицы страниц требования соответствовать жёстко заданному на уровне аппаратуры формату. Причины отказа страницы (page fault): не существует таблицы, отображающей данный регион PTE не имеет взведённого флага «страница отображена». попытка обратиться из пользовательского режима к странице «только для ядра». попытка записи в страницу «только для чтения». попытка исполнения кода из страницы «исполнение запрещено». Обработчик отказов в ядре может загрузить нужную страницу из файла или же из области подкачки (см. свопинг), может создать доступную на запись копию страницы «только для чтения», а может и возбудить исключительную ситуацию (в терминах UNIX — сигнал SIGSEGV) в данном процессе. http://x86.migera.ru/text/glava_4.html
1.3.08. Алгоритмы замещения страниц знать: основные принципы организации виртуальной памяти, модели вычислительных процессов и алгоритмы выбора страниц-кандидатов на удаление из памяти  
ДЕ 4. Управление вводом-выводом
1.4.01. Прерывания от внешних устройств знать: определение понятия «прерывание по вводу-выводу», назначение супервизора ввода-вывода, схему обработки прерывания при участии супервизора ввода-вывода определение понятия «прерывание по вводу-выводу» (На многих ЭВМ пользовательский процесс (проблемная задача) запрашивает обслуживание ввода/вывода посредствам команды вызова супервизора (SVC) (планируемое прерывание), т.е. инструкция "ввод". Эта команда приводит к внутреннему прерыванию и передаче управления обработчику прерываний SVC (IH1). Обработчик прерываний SVC будет вызывать требуемую программу ввода/вывода или процесс, "будить" его или посылать сообщение (например, вставкой в очередь). При этом: а) элементы запроса должны быть переданы из пользовательского процесса обработчику прерываний SVC для того, чтобы: - он нашел правильную стандартную программу ввода/вывода; б) элементы запроса должны быть переданы программе ввода/вывода так, чтобы: - была определена правильная команда ввода/вывода. Стандартная программа ввода/вывода в свою очередь должна передавать свой идентификатор (помещая его в некоторую заранее известную ячейку памяти) обработчику прерываний. По окончании работы устройства - внешнее прерывание, сигнализирующее о завершении операции ввода/вывода, вызывает обработчик прерываний (IH2). Этот обработчик определит необходимый процесс ввода/вывода (стандартную программу), которую нужно вызвать ("разбудить"). Стандартная программа ввода/вывода может вернуть или послать сигнал пробуждения обработчику прерываний SVC, который, в конце концов, передает управление исходному запрашивающему процессу.), назначение супервизора ввода-вывода ( Компонента ОС, выполняющая ввод/вывод называется супервизором ввода/вывода. Перечислим основ­ные задачи, возлагаемые на супервизор. 1. Модуль супервизора операционной системы, иногда называемый супервизором задач, получает запросы от прикладных задач на выполнение тех или иных опе­рации, в том числе на ввод-вывод. Эти запросы проверяются на корректность и, если они соответствуют спецификациям и не содержат ошибок, то обрабатываются дальше. В противном случае пользователю (задаче) выдается соответству­ющее диагностическое сообщение о недействительности (некорректности) за­проса. 2.Супервизор ввода-вывода получает запросы на ввод-вывод от супервизора за­дач или от программных модулей самой операционной системы. 3.Супервизор ввода-вывода вызывает соответствующие распределители каналов и контроллеров, планирует ввод-вывод (определяет очередность предоставле­ния устройств ввода-вывода задачам, затребовавшим эти устройства). Запрос на ввод-вывод либо тут же выполняется, либо ставится в очередь на выполнение. 4.Супервизор ввода-вывода инициирует операции ввода-вывода (передает уп­равление соответствующим драйверам) и в случае управления вводом-выво­дом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение. 5.При получении сигналов прерываний от устройств ввода-вывода супервизор идентифицирует эти сигналы передает управление соответствующим программам обработки прерываний. 6.Супервизор ввода-вывода осуществляет передачу сообщений об ошибках, если таковые происходят в процессе управления операциями ввода-вывода. 7.Супервизор ввода-вывода посылает сообщения о завершении операции ввода-вывода запросившей эту операцию задаче и снимает ее с состояния ожидания ввода-вывода, если задача ожидала завершения операции. В случае, если устройство ввода-вывода является инициативным, управление со стороны супервизора ввода-вывода будет заключаться в активизации соответству­ющего вычислительного процесса (перевод его в состояние готовности к выполне­нию)), схему обработки прерывания при участии супервизора ввода-вывода(Супервизор прерываний прежде всего сохраняет в дескрипторе текущей задачи ра­бочие регистры процессора, определяющие контекст прерываемого вычислитель­ного процесса. Далее он определяет ту подпрограмму, которая должна выполнить действия, связанные с обслуживанием настоящего (текущего) запроса на преры­вание. Наконец, перед тем, как передать управление на эту подпрограмму, супер­визор прерываний устанавливает необходимый режим обработки прерывания. После выполнения подпрограммы обработки прерывания управление вновь пере­дается ядру операционной системы. На этот раз уже на тот модуль, который зани­мается диспетчеризацией задач .И уже диспетчер задач, в свою очередь, в соответ­ствии с принятой дисциплиной распределения процессорного времени (между выполняющимися вычислительными процессами) восстановит контекст той за­дачи, которой будет решено выделить процессор.)
1.4.02. Классификация устройств ввода-вывода знать: блочные и символьные устройства ввода-вывода, классификацию устройств ввода-вывода Символьные устройства осуществляют передачу данных байт за байтом, в то время как блочные устройства передают блок байт как единое целое. Типичным примером символьного устройства является клавиатура, примером блочного устройства – жесткий диск. Непосредственное взаимодействие операционной системы с устройствами ввода-вывода обеспечивают их драйверы.   Классификация в картинках - http://inf-95.blogspot.ru/2012/02/blog-post.html   http://www.intuit.ru/department/os/osintropractice/9/2.html
1.4.03. Основные принципы организации ввода-вывода знать: принципы организации ввода-вывода и режимы, обеспечивающие реализацию принципов организации ввода-вывода
1.4.04. Функции супервизора ввода-вывода знать: понятие «супервизора ввода-вывода», функции супервизора ввода-вывода «супервизора ввода-вывода» - системной программе управления вводом-выводом   функции супервизора ввода-вывода: управления прерываниями буферизация менеджер ресурсов и «виртуальный компьютер» (см. функции ОС)
1.4.05. Режимы управления вводом-выводом знать: два основных режима ввода-вывода: режим обмена с опросом готовности устройства ввода-вывода и режим обмена с прерываниями, назначение основных режимов управления вводом-выводом Существует 2 основных режима ввода-вывода 1. режим обмена опросом готовности устройства ввода-вывода 2. режим обмена с прерыванием Для организации ввода-вывода по 1 варианту процессор посылает устройству управления команду для устройства ввода-вывода выполнить некоторое действие. Устройство управления выполнит команду преобразования, её сигналы управления, которое оно передает устройству ввода-вывода. Поскольку быстродействие устройства ввода-вывода меньше на несколько порядков устройства быстродействия процессора, то драйвер управляющий обилием данных с внешних устройств вынужден в цикле опрашивать готовность устройств. При этом нерационально используется время процессора. Выгоднее после команды ввода-вывода перейти на выполнение другой команды, а появление сигнала готовности трактовать как запрос на прерывание. Драйверы работающие в режиме прерывания представляют собой сложный комплекс программных модулей и имеют несколько секций: · секция запуска · секция продолжения · секция завершения Секция запуска запускается для включения устройств ввода-вывода либо для инициализации очередной операции ввода-вывода .
1.4.06. Закрепление устройств, общие устройства ввода-вывода знать: понятия «закрепленное устройство», «виртуальное устройство», «спулинг», различия между локальным и сетевым устройством Как известно, многие устройства и, прежде всего, устройства с последовательным доступом не допускают совместного использования. Такие устройства могут стать закрепленными за процессом, то есть их можно предоставить некоторому вычислительному процессу на все время жизни этого процесса. Однако это приводит к тому, что вычислительные процессы часто не могут выполняться параллельно — они ожидают освобождения устройств ввода-вывода. Чтобы организовать совместное использование многими параллельно выполняющимися задачами тех устройств ввода-вывода, которые не могут быть разделяемыми, вводится понятие виртуальных устройств. Принцип виртуализации позволяет повысить эффективность вычислительной системы. Вообще говоря, понятие виртуального устройства шире, нежели понятие спулинга spooling — Simultaneous Peripheral Operation On-Line, то есть имитация работы с устройством в режиме непосредственного подключения к нему. Основное назначение спулинга — создать видимость разделения устройства ввода-вывода, которое фактически является устройством с последовательным доступом и должно использоваться только монопольно и быть закрепленным за процессом. Например, мы уже говорили, что в случае, когда несколько приложений должны выводить на печать результаты своей работы, если разрешить каждому такому приложению печатать строку по первому же требованию, то это приведет к потоку строк не представляющих никакой ценности. Однако если каждому вычислительному процессу предоставлять не реальный, а виртуальный принтер, и поток выводимых символов или управляющих кодов для их печати сначала направлять в специальный файл на диске так называемый спул-файл — spool-file и только потом, по окончании виртуальной печати, в соответствии с принятой дисциплиной обслуживания и приоритетами приложений выводить содержимое спул-файла на принтер, то все результаты работы можно будет легко читать. Системные процессы, которые управляют спул-файлом, называются спулером чтения spool-reader или спулером записи spool-writer. Достаточно рационально организована работа с виртуальными устройствами в системах Windows 9xNT2000XP компании Microsoft. В качестве примера можно кратко рассмотреть подсистему печати. Microsoft различает термины принтер и устройство печати. Принтер — это некоторая виртуализация, объект операционной системы, а устройство печати — это физическое устройство, которое может быть подключено к компьютеру. Принтер может быть локальным или сетевым. При установке локального принтера в операционной системе создается новый объект, связанный с реальным устройством печати через тот или иной интерфейс. Интерфейс может быть и сетевым, то есть передача управляющих кодов в устройство печати может осуществляться через локальную вычислительную сеть, однако принтер все равно будет считаться локальным. Локальность принтера означает, что его спул-файл будет находиться на том же компьютере, что и принтер. Если же некоторый локальный принтер предоставить в сети в общий доступ с теми или иными разрешениями, то для других компьютеров и их пользователей он может стать сетевым, Компьютер, на котором имеется локальный принтер, предоставленный в общий доступ, называется принт-сервером.
1.4.07. Основные системные таблицы ввода-вывода знать: назначение системных таблиц ввода-вывода, схему взаимодействия между основными системными таблицами ввода-вывода
1.4.08. Синхронный и асинхронный ввод-вывод знать: понятия «синхронный ввод-вывод», «асинхронный ввод-вывод, различия между синхронным и асинхронным вводом-выводом понятия «синхронный ввод-вывод», «асинхронный ввод-вывод», различия между синхронным и асинхронным вводом-выводом (Задача, выдавшая запрос на операцию ввода-вывода, переводится супервизором в состояние ожидания завершения заказанной операции. Когда супервизор полу­чает от секции завершения сообщение о том, что операция завершилась, он пере­водит задачу в состояние готовности к выполнению, и она продолжает выполнять­ся. Эта ситуация соответствует синхронному вводу-выводу. Синхронный ввод-вывод является стандартным для большинства операционных систем. Чтобы увеличить скорость выполнения приложений, было предложено при необходимости исполь­зовать асинхронный ввод-вывод. Простейшим вариантом асинхронного вывода является так называемый буферизо­ванный вывод данных на внешнее устройство, при котором данные из приложения передаются не непосредственно на устройство ввода-вывода, а в специальный си­стемный буфер — область памяти, отведенную для временного размещения пере­даваемых данных. В этом случае логически операция вывода для приложения счита­ется выполненной сразу же, и задача может не ожидать окончания действительного процесса передачи данных на устройство. Реальным выводом данных из систем­ного буфера занимается супервизор ввода-вывода. Естественно, что выделение буфера из системной области памяти берет на себя специальный системный про­цесс по указанию супервизора ввода-вывода. Итак, для рассмотренного случая вывод будет асинхронным, если, во-первых, в запросе на ввод-вывод указано на необходимость буферизации данных, а во-вторых, устройство ввода-вывода до­пускает такие асинхронные операции, и это отмечено в UCB. Можно организовать и асинхронный ввод данных. Однако для этого необходимо не только выделять область памяти для временного хранения считываемых с устрой­ства данных и связывать выделенный буфер с задачей, заказавшей операцию, но и сам запрос на операцию ввода-вывода разбивать на две части (на два запроса). В первом запросе указывается операция на считывание данных, подобно тому как это делается при синхронном вводе-выводе, однако тип (код) запроса использует­ся другой, и в запросе указывается еще по крайней мере один дополнительный параметр — имя (код) системного объекта, которое получает задача в ответ на за­прос и которое идентифицирует выделенный буфер. Получив имя буфера (будем так условно называть этот системный объект, хотя в различных операционных системах используются и другие термины, например «класс»), задача продолжает свою работу. Здесь очень важно подчеркнуть, что в результате запроса на асин­хронный ввод данных задача не переводится супервизором ввода-вывода в состо­яние ожидания завершения операции ввода-вывода, а остается в состоянии вы­полнения или в состоянии готовности к выполнению. Через некоторое время, выполнив необходимый код, который был определен программ истом, задача вы­дает второй запрос на завершение операции ввода-вывода. В этом втором запросе к тому же устройству, который, естественно, имеет другой код (или имя запроса), задача указывает имя системного объекта (буфера для асинхронного ввода дан­ных) и в случае успешного завершения операции считывания данных тут же полу­чает их из системного буфера. Если же данные еще не успели до конца переписать­ся с внешнего устройства в системный буфер, супервизор ввода-вывода переводит задачу в состояние ожидания завершения операции ввода-вывода, и далее все на­поминает обычный синхронный ввод данных. Асинхронный ввод-вывод характерен для большинства мультипрограммных опе­рационных систем, особенно если операционная система поддерживает мультизадачность с помощью механизма потоков выполнения. Однако если асинхронный ввод-вывод в явном виде отсутствует, его можно реализовать самому, организовав для вывода данных отдельный поток выполнения. Аппаратуру ввода-вывода можно рассматривать как совокупность аппаратных процессоров, которые способны работать параллельно друг другу, а также парал­лельно центральному процессору (процессорам). На таких «процессорах» выпол­няются так называемые внешние процессы. )
1.4.09. Организация внешней памяти на магнитных дисках знать: структуру магнитного диска, назначение таблицы разделов и таблицы логических дисков Чтобы довольно много для этой таблички текста сюда не копировать - http://xsieit.ru/download/system_software/lectures/846.html Чётко раздел Структура магнитного диска, там же назначения таблиц.
1.4.10. Кэширование операций ввода-вывода при работе с накопителями на магнитных дисках знать: назначение буферизации и кэширования при работе с накопителями на магнитных дисках, наиболее эффективные дисциплины планирования, в соответствии с которыми можно перестраивать очередь запросов на операции чтения/записи данных
ДЕ 5. Принципы построения и классификация
1.5.01. Принципы построения знать: принципы построения операционных систем Принцип модульности Модуль - функционально законченный элемент системы, отвечающей требованиям межмодульного интерфейса. Многократно исполняемый - Непривелигерованный - Привелигерованный - Реентерабельный • автоматическое распределение регистров • автоматическое отделенеие кодовых частей программ от данных • неизменяемость кодовых частей программы Принцип функциональной избирательности - часть модулей, которые должны постоянно находиться в ОЗУ для более эффективной организации вычислительного процесса - называется ядро ОС. • В состав ядра должны войти наиболее часто исользуемые системные модули. • количество модулей должно быть таковы, чтобы объем памяти, занимаемых ядром был не слишком велик. В состав ядра обычно входят: • модули управления прерываний • средства по переводу программ из состояния выполенния в состояние ожидания, готовности и обратно • Средства распределения основных ресурсов: память, процессор... Принцип Генерируемость - возможность настраивать системную супервизорную часть (ядро и основные компоненты), исходя из конкретной конфигурации выч. кмплекси и класса решаемых задач. Принцип функциональной избыточности - даёт возможность провести одну и туже работу различными способами. • несколько типов планировщиков (модулей супервизора, управляющи тем или иными видом ресурсов) • различные средства организации связи между вычислительными процессами Этот принцип даёт возможность: • быстро и адекватно адаптировать ОС к определённой конфигурации ВычСистемы • обеспечить максимально эффективную загрузку технических средств при решении конкретного класса задач. • получить максимальную производительность. V. Принцип виртуализации. Этот принцип позволяет представить структуру системы в виде определенного набора планировщика процессов и распределителя ресурсов, а так же использовать единую централизованную схему распределения ресурсов. Понятие виртуальная машина является итогом концепции виртуализации. Пользователь видит виртуальную машину как некое устройство, способное воспринимать его программы и команды. Пользователя не интересует реальная конфигурация вычислительной системы и способы управления ее компонентами. Он оперирует с теми ресурсами, которые ему предоставлены в рамках виртуальной машины. Виртуальная машина, предоставляемая пользователю, воспроизводит архитектуру реальной машины, но архитектурные элементы имеют улучшенные характеристики. 10 Единообразная по логике работы память практически неограниченного объема. 20 Произвольное количество виртуальных процессоров, способных работать параллельно и взаимодействовать во время работы. 30 Произвольное количество (виртуальных) внешних устройств, способных работать с памятью виртуальных машин параллельно или последовательно, асинхронно или синхронно по отношению того или иного виртуального процесса, который инициирует работы этих устройств.   VI. Принцип независимости программ от внешних устройств.   Заключается в том, что связь программ с конкретными устройствами производится не на уровне трансляции программ, а в период планирования ее исполнения. При работе с новым устройством для хранения данных перекомпиляция не требуется.   VII. Принцип совместимости.   Ос должна выполнять программы, написанные: 10Для других ОС. 20Для более ранних версий данной ОС. 30Для другой аппаратной платформы. Совместимость подразделяется на два аспекта: •Двоичная совместимость. •Совместимость на уровне исходных текстов приложений. Двоичная совместимость: 10 Совместимость на уровне команд процессора. 20 Совместимость на уровне системных вызовов. 30 Совместимость на уровне библиотечных вызовов.   Системность исходных текстов требует: - Наличие соответствующего транслятора в составе системного программного обеспечения - Совместимость на уровне библиотек и системных вызовов.   VIII. Принцип открытой и наращиваемой ОС.   Наращиваемые ОС позволяет не только использовать возможности генерации, но и вводить в состав новые модули, совершенствовать старые.   IX. Принцип мобильности.   ОС должна легко переноситься: - С процессора одного типа на процессор другого типа. - С аппаратной платформы(архитектуры ВС) одного типа на аппаратную платформу другого типа. Написание переносимой ОС должно следовать следующим правилам: 10 Большая часть ОС должна быть написана на языке, который имеется в большинстве вычислительных систем, на которые, в последствие, планируется ее перенести. 20 Минимизировать или исключить ту часть кода, которая непосредственно взаимодействует с аппаратурой. Если аппаратный код не может быть исключен, то он должен быть изолирован в нескольких модулях.   X. Принцип безопасности.   Правила безопасности определяются следующими свойствами: 20 Защита ресурсов одного пользователя от других. Установка квот по ресурсам для предотвращения захвата одним пользователем всех системных ресурсов.
1.5.02. Ядро и ресурсы знать: определение терминов «ядро», «программные ресурсы» и их классификацию; понятие микро и макро архитектуры ядра Ядро́ — центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы исетевых протоколов. Как основополагающий элемент ОС, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС. Монолитное ядро Основная статья: Монолитное ядро Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Это такая схема операционной системы, при которой все компоненты её ядра являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Монолитное ядро — старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство UNIX-систем. Достоинства: Скорость работы, упрощённая разработка модулей[1]. Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы. Примеры: Традиционные ядра UNIX (такие как BSD), Linux; ядро MS-DOS, ядро KolibriOS. Некоторые старые монолитные ядра, в особенности систем класса UNIX/Linux, требовали перекомпиляции при любом изменении состава оборудования. Большинство современных ядер позволяют во время работы подгружать модули, выполняющие часть функций ядра. В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы, называемой монолитным ядром (monolithic kernel), которое представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме. Микроядро Основная статья: Микроядро Микроядро предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Бо́льшая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. Решающим критерием «микроядерности» является размещение всех или почти всех драйверов и модулей в сервисных процессах, иногда с явной невозможностью загрузки любых модулей расширения в собственно микроядро, а также разработки таких расширений. Достоинства: Устойчивость к сбоям оборудования, ошибкам в компонентах системы. Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая её работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра. Недостатки: Передача данных между процессами требует накладных расходов. Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов, реализующих базовые сервисы операционной системы. Сервисные процессы (в принятой в семействе UNIX терминологии — «демоны») активно используются в самых различных ОС для задач типа запуска программ по расписанию (UNIX и Windows NT), ведения журналов событий (UNIX и Windows NT), централизованной проверки паролей и хранения пароля текущего интерактивного пользователя в специально ограниченной области памяти (Windows NT). Тем не менее, не следует считать ОС микроядерными только из-за использований такой архитектуры. Примеры: Symbian OS; Windows CE; OpenVMS; Mach, используемый в GNU/Hurd и Mac OS X; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.
1.5.03. Интерфейсы операционных систем знать: назначение и определение терминов «программный интерфейс», «интерфейс пользователя», особенности использования различных программных и пользовательских интерфейсов Напомним, что операционная система всегда выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами. Под интерфейсами операционных систем здесь и далее следует понимать специальные интерфейсы системного и прикладного программирования API, предназначенные для выполнения перечисленных ниже задач. • Управление процессами, которое включает в себя следующий набор основных функций: • запуск, приостанов и снятие задачи с выполнения • задание или изменение приоритета задачи • взаимодействие задач между собой механизмы сигналов, семафорные примитивы, очереди, конвейеры, почтовые ящики • вызов удаленных процедур Remote Procedure Call, RPC. • Управление памятью: • запрос на выделение блока памяти • освобождение памяти • изменение параметров блока памяти например, память может быть заблокирована процессом либо предоставлена в общий доступ • отображение файлов на память имеется не во всех системах. • Управление вводом-выводом: • запрос на управление виртуальными устройствами напомним, что управление вводом-выводом является привилегированной функцией самой операционной системы, и никакая из пользовательских задач не должна иметь возможности непосредственно управлять устройствами • файловые операции запросы к системе управления файлами на создание, изменение и удаление данных, организованных в файлы. Здесь мы перечислили основные наборы функций, которые выполняются операционной системой по соответствующим запросам от задач. Что касается интерфейса пользователя с операционной системой, то он реализуется с помощью специальных программных модулей, которые принимают его команды на соответствующем языке возможно, с использованием графического интерфейса и транслируют их в обычные вызовы в соответствии с основным интерфейсом системы. Обычно эти модули называют интерпретатором команд. Так, например, функции такого интерпретатора в MS DOS выполняет модуль CDMMAND.COM. Получив от пользователя команду, такой модуль после лексического и синтаксического анализа либо сам выполняет действие, либо, что случается чаще, обращается к другим модулям операционной системы, используя механизм API. Надо заметить, что в последние годы большую популярность получили графические интерфейсы Graphical User Interface, GUI, в которых задействованы соответствующие манипуляторы типа мышь или трекбол track-ball1. Указание курсором на объект и щелчок или двойной щелчок на соответствующей кнопке мыши приводит к каким-либо действиям — запуску программы, ассоциированной с объектом, выбору иили активизации меню и т. д. Можно сказать, что такая интерфейсная подсистема транслирует команды пользователя в обращения к операционной системе. Поясним также, что управление GUI является частным случаем задачи управления вводом-выводом и не относится к функциям ядра операционной системы, хотя в ряде случаев разработчики операционной системы относят функции GUI к основному системному интерфейсу API. Следует отметить, что имеются два основных подхода к управлению задачами. Так, в одних системах порождаемая задача наследует все ресурсы задачи-родителя, тогда как в других системах существуют равноправные отношения, и при порождении нового процесса ресурсы для него запрашиваются у операционной системы. Обращения к операционной системе в соответствии с имеющимся интерфейсом API могут осуществляться как посредством вызова подпрограммы с передачей ей необходимых параметров, так и через механизм программных прерываний. Выбор метода реализации вызовов функций API должен определяться архитектурой платформы.
1.5.04. Классификация операционных систем знать: принципы классификации операционных систем; назначение отдельных классов операционных систем  
ДЕ 6. Защита от сбоев и несанкционированного доступа
1.6.01. Анализ угроз и уязвимостей в операционных системах знать: принципы взаимодействия компьютерных систем с пользователями, слабые места в защите операционных систем  
1.6.02. Основы криптографии знать: методы шифрования и применения криптографических методов в операционных системах Существующие методы шифрования можно разделить на две большие группы:[6] · Симметричное шифрование использует один ключ для шифрования и расшифрования. · Асимметричное шифрование использует два различных ключа для шифрования и расшифрования. Также шифры могут отличаться структурой шифруемой информации. Они могут либо шифровать сразу весь текст, либо шифровать его по мере поступления. Таким образом существуют: · Блочный шифр шифрует сразу целый блок текста, выдавая шифротекст после получения всей информации. · Поточный шифр шифрует информацию и выдает шифротекст по мере поступления, таким образом имея возможность обрабатывать текст неограниченного размера используя фиксированный объем памяти. Блочный шифр можно превратить в поточный, разбивая входные данные на отдельные блоки и шифруя их по отдельности. Однако, блочные шифры являются более криптоустойчивыми по сравнению с поточными. Кроме того, блочные шифры работают зачастую быстрее и легко реализуемы посредством программного обеспечения. Поточные, же, шифры зачастую реализуются в аппаратном виде (в виде некой шифрующей аппаратуры), так как представление данных и их обработка в поточных шифрах очень близка к обработке данных и их передаче в аппаратуре. Там данные представляются именно потоком, чаще всего.   Подробнее: http://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5#.D0.9C.D0.B5.D1.82.D0.BE.D0.B4.D1.8B_.D1.88.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F
1.6.03. Механизмы защиты в операционных системах знать: принципы построения систем защиты в операционных системах  
1.6.04. Надежные вычислительные системы знать: фундаментальные принципы создания высоконадежных и защищенных вычислительных систем фундаментальные принципы создания высоконадежных и защищенных вычислительных систем Безопасность: • Проектирование системы должно быть открытым (нарушитель и так всё знает: криптоалгоритмы открыты) • Не должно быть доступа «по умолчанию» (по умолчанию всё запрещено) • Давать процессу минимум привилегий • Средства безопасности должны быть просты и понятны, встроенны в ОС Идентификация — сообщение пользователем своего идентификатора (имени) Аутентификация — предъявления: того что знает(пароль) / имеет(карта) / атрибута(отпечатки) Авторизация — предоставление субъекту прав на доступ к объекту   Надёжность:
1.6.05. Методы аутентификации знать: необходимость аутентификации пользователей и методы, применяемые для обеспечения безопасности компьютерных систем Аутентифика́ция (англ. Authentication) — процедура проверки подлинности[1], например: проверка подлинности пользователя путём сравнения введённого им пароля с паролем в базе данных пользователей; подтверждение подлинности электронного письма путём проверки цифровой подписи письма по ключу проверки подписи отправителя; проверка контрольной суммы файла на соответствие сумме, заявленной автором этого файла. В русском языке термин применяется в основном в сфереинформационных технологий. Учитывая степень доверия и политику безопасности систем, проводимая проверка подлинности может быть односторонней или взаимной. Обычно она проводится с помощью криптографических методов. Аутентификацию не следует путать с авторизацией[2] (процедурой предоставления субъекту определённых прав) и идентификацией (процедурой распознавания субъекта по его идентификатору). Элементы системы аутентификации В любой системе аутентификации обычно можно выделить несколько элементов[3]: субъект, который будет проходить процедуру аутентификации характеристика субъекта — отличительная черта хозяин системы аутентификации, несущий ответственность и контролирующий её работу сам механизм аутентификации, то есть принцип работы системы механизм, предоставляющий или лишающий субъекта определенных прав доступа
Элемент аутентификации Пещера 40 разбойников Регистрация в системе Банкомат
Субъект Человек, знающий пароль Авторизованный пользователь Владелец банковской карты
Характеристика Пароль "Сезам, откройся!" Секретный пароль Банковская карта и персональный идентификатор
Хозяин системы 40 разбойников Предприятие, которому принадлежит система Банк
Механизм аутентификации Волшебное устройство, реагирующее на слова Программное обеспечение, проверяющее пароль Программное обеспечение, проверяющее карту и идентификатор
Механизм управления доступом Механизм, отодвигающий камень от входа в пещеру Процесс регистрации, управления доступом Разрешение на выполнение банковских операций

Факторы аутентификации

Ещё до появления компьютеров использовались различные отличительные черты субъекта, его характеристики. Сейчас использование той или иной характеристики в системе зависит от требуемой надёжности, защищенности и стоимости внедрения. Выделяют 3 фактора аутентификации[4]:

Что-то, что мы знаем — пароль. Это секретная информация, которой должен обладать только авторизованный субъект. Паролем может быть речевое слово, текстовое слово, комбинация для замка или персональный идентификационный номер (PIN). Парольный механизм может быть довольно легко реализован и имеет низкую стоимость. Но имеет существенные минусы: сохранить пароль в секрете зачастую бывает проблематично, злоумышленники постоянно придумывают новые методы кражи, взлома и подбора пароля (см. бандитский криптоанализ). Это делает парольный механизм слабозащищенным.

Что-то, что мы имеем — устройство аутентификации. Здесь важен факт обладания субъектом каким-то уникальным предметом. Это может быть личная печать, ключ от замка, для компьютера это файл данных, содержащих характеристику. Характеристика часто встраивается в специальное устройство аутентификации, например, пластиковая карта, смарт-карта. Для злоумышленника заполучить такое устройство становится более проблематично, чем взломать пароль, а субъект может сразу же сообщить в случае кражи устройства. Это делает данный метод более защищенным, чем парольный механизм, однако, стоимость такой системы более высокая.

Что-то, что является частью нас — биометрика. Характеристикой является физическая особенность субъекта. Это может быть портрет, отпечаток пальца или ладони, голос или особенность глаза. С точки зрения субъекта, данный метод является наиболее простым: не надо ни запоминать пароль, ни переносить с собой устройство аутентификации. Однако, биометрическая система должна обладать высокой чувствительностью, чтобы подтверждать авторизованного пользователя, но отвергать злоумышленника со схожими биометрическими параметрами. Также стоимость такой системы довольно велика. Но несмотря на свои минусы, биометрика остается довольно перспективным фактором.

Способы аутентификации

Один из способов аутентификации в компьютерной системе состоит во вводе вашего пользовательского идентификатора, в просторечии называемого… Простая аутентификация имеет следующий общий алгоритм: Субъект запрашивает доступ в систему и вводит личный идентификатор и пароль

Протоколы аутентификации

Самый простой протокол аутентификации - доступ по паролю (Password Authentication Protocol, PAP). Его суть состоит в том, что вся информация о… Более сложные протоколы аутентификации основаны на принципе… Субъект отправляет системе запрос, содержащий его персональный идентификатор

Cубъект расшифровывает полученное число на основе своего уникального ключа и сравнивает результат с N1. Идентичность означает, что система обладает тем же уникальным ключом, что и субъект

Субъект зашифровывает полученное число N2 на основе своего уникального ключа и результат отправляет системе

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

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

В операционных системах семейства Windows NT 4 используется протокол NTLM (NT LAN Manager — Диспетчер локальной сети NT). А в доменах Windows 2000/2003 применяется гораздо более совершенный протокол Kerberos.

1.6.06. Инсайдерские атаки знать: риски для компьютерных систем со стороны инсайдеров и способы их проявления «инсайдер»: это легальный пользователь, который вместо исполнения возложенных на него обязанностей нарушает правила разграничения доступа, чтобы использовать систему в своих целях. На сегодняшний день нормой обработки информации в корпоративных приложениях становится работа пользователя на одном и том же компьютере, как с открытой, так и с конфиденциальной информацией, требующих для обработки различной номенклатуры ресурсов. Это существенно расширяет потенциальную возможность хищения нарушения конфиденциальности данных санкционированным пользователем пользователем, допущенным к работе на вычислительном средстве в рамках выполнения своих служебных обязанностей — инсайдером и несанкционированной модификации нарушения доступности и целостности конфиденциальных данных, в результате обработки на том же компьютере открытой информации. Общий подход к решению задачи защиты. Из теории защиты информации известно, что эффективная защита может быть построена только на основе реализации разграничительной политики доступа к ресурсам механизмы контроля, в частности контентного контроля, по очевидным причинам могут использоваться лишь как вспомогательные. Однако, как в существующих требованиях к средству защиты, так в известных практических реализациях — в ОС и в приложениях, применение разграничительной политики предполагается для разграничения доступа различных пользователей, допущенных к обработке информации на компьютере, к ресурсам. При реализации же защиты информации от инсайдерских атак, задача реализации разграничительной политики доступа к ресурсам уже иная собственно в своей постановке — необходимо разграничивать режимы обработки различных категорий информации на одном компьютере для одного и того же пользователя а не доступ к ресурсам между различными пользователями. Правильнее здесь уже говорить не о разграничительной, а о разделительной политике доступа к ресурсам. Как следствие, необходимы совершенно иные подходы решению задачи защиты, а механизмами защиты должны выполняться совсем иные требования. Рассмотрим в данной работе возможный апробированный подход к решению задачи защиты и сформулируем требования, реализация которых необходима для эффективного решения задачи защиты от инсайдерских атак. Поскольку на одном компьютере обрабатывается информация различных уровней конфиденциальности, и при этом обработка информации различных уровней конфиденциальности требует различных ресурсов различные приложения, файловые объекты, устройства, сетевые ресурсы, и т.д., и т.п., причем, как правило, чем ниже уровень конфиденциальности обрабатываемой информации, тем шире номенклатура ресурсов может использоваться при ее обработке что и составляет потенциальную угрозу хищения конфиденциальной информации, задача защиты информации состоит в формировании и изолировании режимов обработки информации различных уровней конфиденциальности. Формирование режимов обработки категорированной информации состоит в подключении соответствующего набора ресурсов при обработке информации каждого уровня конфиденциальности. Изолирование режимов обработки категорированной информации состоит в противодействии любой возможности изменения режима обработки санкционированного набора ресурсов информации каждого уровня конфиденциальности. При реализации подобного подхода уже нечего контролировать, т.к. предотвращается сама возможность хищения конфиденциальной информации, за счет использования несанкционированных не используемых для ее обработки ресурсов.
1.6.07 Внешние атаки знать: особенности и методы проникновения в компьютерные системы со стороны  
1.6.08 Вредоносные программы знать: принципы построения и способы действия вредоносных программ
1.6.09 Троянские кони и вирусы знать: конкретные реализации вирусов и троянских коней, дефекты операционных систем, которые эти вредоносные программы используют Троянский конь - вредоносная программа, распространяемая людьми, в отличие от вирусов и червей, которые распространяются самопроизвольно. «Трояны» — самый простой вид вредоносных программ, сложность которых зависит исключительно от сложности истинной задачи и средств маскировки. Самые примитивные «трояны» (например, стирающие содержимое диска при запуске) могут иметь исходный код в несколько строк. Примеры троянских программ: Back Orifice, Pinch, TDL-4, Trojan.Winlock. http://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%BE%D1%8F%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0   Компью́терный ви́рус — разновидность компьютерных программ или вредоносный код, отличительным признаком которых является способность к размножению (саморепликация). В дополнение к этому вирусы могут без ведома пользователя выполнять прочие произвольные действия, в том числе наносящие вред пользователю и/или компьютеру. Даже если автор вируса не программировал вредоносных эффектов, вирус может приводить к сбоям компьютера из-за ошибок, неучтённых тонкостей взаимодействия с операционной системой и другими программами. Кроме того, вирусы обычно занимают некоторое место на накопителях информации и отбирают некоторые другие ресурсы системы. http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B8%D1%80%D1%83%D1%81
1.6.10 Средства защиты знать: методы проникновения троянских коней и вирусов в компьютерные систем, а также их способности скрывать свое присутствие  

 

– Конец работы –

Используемые теги: дисциплине, операционные, системы0.06

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: По дисциплине Операционные системы

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

Экзаменационные вопросы к экзамену по дисциплине Операционные системы, среды и оболочки 1. Общие сведения и об операционных системах. Назначение и функции
Общие сведения и об операционных системах Назначение и функции... Операционная система ОС это упорядоченная последоват системных управляющих программ совместно с необходимыми...

Введение в операционные системы. Определение, назначение, состав и функции операционных систем
Государственное образовательное учреждение высшего профессионального образования... ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА...

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

Вопрос 1: Место и роль учебной дисциплины Введение в профессию в системе юридических дисциплин
Учебная дисциплина Введение в юридическую профессию носит вводный ознакомительный характер является дополнительной к существующим учебным... Рассматриваемая учебная дисциплина тесно связана прежде всего с... Учебная дисциплина Введение в юридическую профессию дополняет также те учебные дисциплины которые имеют прямое...

Разработка отказоустойчивой операционной системы реального времени для вычислительных систем с максимальным рангом отказоустойчивости
Таким образом, объектом исследования в рамках сетевой отказоустойчивой технологии становится ОСРВ - управляющее программное обеспечение особого… Данная дипломная работа посвящена разработке специализированной распределенной… Для полного освещения выбранной темы были поставлены следующие задачи 1. Провести анализ существующих операционных…

ТЕЛЕКОММУНИКАЦИОННЫЕ СИСТЕМЫ. СИГНАЛЫ И КАНАЛЫ ЭЛЕКТРИЧЕСКОЙ СВЯЗИ. СИСТЕМЫ СВЯЗИ С ЧАСТОТНЫМ РАЗДЕЛЕНИЕМ КАНАЛОВ. ЦИФРОВЫЕ СИСТЕМЫ ПЕРЕДАЧИ
Лабораторные работы часа... Практические занятия часа... Всего аудиторных занятий часов...

Системы программирования и операционные системы
Обработчик должен иметь механизм выгрузки из оперативной памяти встроенный в него самого. Также программа должна иметь защиту от повторной установки в оперативную… Такие программы носят названия программ, резидентных в памяти Terminate and Stay Resident, TSR, или просто резидентных…

Дисциплина Операционные системы и среды
Разделы диска Организация FAT... Каждый диск или раздел жесткого диска разбивается на области... FAT таблица распределения файлов отображает использование всего дискового пространства в области файлов и...

0.041
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам