Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Аппаратные средства и программное обеспечениеСодержание книги Поиск на нашем сайте
Аппаратные средства - это устройства компьютера: процессоры, устройства памяти, устройства ввода-вывода, а также средства приема-передачи данных. Программное обеспечение - это комплекс программных средств, включающий системные программы, пакеты прикладных и пользовательских программ.
Решение задачи передачи данных одного процесса другому при помощи монитора (случай информационной базы) monitor Читатели_Писатели; var READERS: integer;{переменная указывает количество активных читателей, когда READERS = 0, ожидающий процесс-писатель получает возможность начать работу} SmbWRITE: boolean;{somebody write - когда кто-то пишет эта переменная имеет истинное значение} PermREAD, PermWRITE: condition; {permission read/write - пока не появится истинное значение условия читать разрешается,PermREAD - процесс-читатель не может продолжить свое выполнение; пока не появится истинное значение условия писать разрешается, Permwrite - процесс-писатель не может продолжить свое выполнение} Procedure Начало_Чтения; begin if (SmbWRITE) or (Очередь(PermWRITE)) then Wait(PermREAD);{ожидание сигнала - читать разрешается} READERS:=READEARS+1; Signal(PermREAD);{сигнал, оповещающий о возможности чтения} end; Procedure Конец_Чтения; begin READERS:=READERS-1; If READERS=0 then Signal(PermWRITE);{сигнал, оповещающий о возможности записи} end; Procedure Начало_Записи; begin if (READERS>0) or (SmbWRITE) then Wait(PermWRITE);{ожидание сигнала - писать разрешается} SmbWRITE:=true end; Procedure Конец_Записи; begin SmbWRITE:=false; if Очередь(PermREAD) then Signal(PermREAD) {сигнал, оповещающий о возможности чтения} else Signal(PermWRITE);{сигнал, оповещающий и возможности записи} end; begin READERS:=0; SmbWRITE:=false end; Классификация ОС Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса: однозадачные (например, MS-DOS, MSX) и многозадачные (OC EC, OS/2, UNIX, Windows 95). Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем. Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства. Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на: однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2); многопользовательские (UNIX, Windows NT). Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной. Вытесняющая и невытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов: невытесняющая многозадачность (NetWare, Windows 3.x); вытесняющая многозадачность (Windows NT, OS/2, UNIX). Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом. Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями). Обработка прерываний Прерывание(interrupt) - это событие, при котором меняется нормальная последовательность команд, выполняемых процессором. Если произошло прерывание, то управление передается ОС; ОС запоминает состояние прерванного процесса; ОС анализирует тип прерывания и передает управление соответствующей программе обработки прерывания. Рассмотрим основные типы прерываний. SVС(supervisor call instruction)-прерывания. Инициатором этих прерываний является работающий процесс, который выполняет команду SVС, т.е. генерируемый программой пользователя запрос на предоставление конкретной системной услуги (например, на выполнение операции ввода-вывода, на увеличение размера выделенной памяти и т.п.). Механизм SVC позволяет защитить ОС от пользователей. Прерывания ввода-вывода. Инициируются аппаратурой ввода-вывода и сигнализируют ЦП о том, что произошло изменение состояния канала или устройства ввода-вывода, например, произошло завершение операции ввода-вывода, возникла ошибка или устройство перешло в состояние готовности. Внешние прерывания. Причинами таких прерываний могут быть различные внешние события, например, истечение кванта времени, заданного на таймере прерываний. Прерывания по рестарту. Эти прерывания происходят по команде рестарта ОС. Прерывания по контролю программы. Причинами таких прерываний являются различные виды ошибок, возникающих в выполняющемся процессе, например попытка деления на ноль. Прерывания по контролю машины. Эти прерывания вызываются аппаратными ошибками. Рандеву в языке Ада Реализация кольцевого буфера с помощью рандеву
Основные функции ОС определяет так называемый интерфейс пользователя, обеспечивает разделение аппаратных ресурсов между пользователями, дает возможность работать с общими данными в режиме коллективного пользования, планирует доступ пользователей к общим ресурсам, обеспечивает эффективное выполнение операций ввода-вывода, осуществляет восстановление информации и вычислительного процесса в случае ошибок. Планирование и диспетчеризация процессов Одной из важных задач, которую решает ОС является проблема, связанная с определением когда и каким процессам следует выделять ресурсы процессора - задача планирования загрузки процессоров. Существуют три уровня такого планирования. Дисциплина планирования должна быть справедливой; обеспечивать максимальную пропускную способность системы; приемлемые времена ответа для максимального количества пользователей, работающих в интерактивном режиме; предсказуемость; минимальные накладные расходы; сбалансированное использование ресурсов; сбалансированность времени ответа и коэффициента использования ресурсов; должна исключать бесконечное откладывание процессов; учитывать приоритеты; оказывать предпочтение тем процессам, которые занимают ключевые ресурсы; предусматривать улучшенное обслуживание для процессов, отличающихся “примерным поведением”. 12. Решение задачи передачи данных одного процесса другому с помощью задач на языке Ада (случай кольцевого буфера) monitor Читатели_Писатели; var READERS: integer;{переменная указывает количество активных читателей, когда READERS = 0, ожидающий процесс-писатель получает возможность начать работу} SmbWRITE: boolean;{somebody write - когда кто-то пишет эта переменная имеет истинное значение} PermREAD, PermWRITE: condition; {permission read/write - пока не появится истинное значение условия читать разрешается,PermREAD - процесс-читатель не может продолжить свое выполнение; пока не появится истинное значение условия писать разрешается, Permwrite - процесс-писатель не может продолжить свое выполнение} Procedure Начало_Чтения; begin if (SmbWRITE) or (Очередь(PermWRITE)) then Wait(PermREAD);{ожидание сигнала - читать разрешается} READERS:=READEARS+1; Signal(PermREAD);{сигнал, оповещающий о возможности чтения} end; Procedure Конец_Чтения; begin READERS:=READERS-1; If READERS=0 then Signal(PermWRITE);{сигнал, оповещающий о возможности записи} end; Procedure Начало_Записи; begin if (READERS>0) or (SmbWRITE) then Wait(PermWRITE);{ожидание сигнала - писать разрешается} SmbWRITE:=true end; Procedure Конец_Записи; begin SmbWRITE:=false; if Очередь(PermREAD) then Signal(PermREAD) {сигнал, оповещающий о возможности чтения} else Signal(PermWRITE);{сигнал, оповещающий и возможности записи} end; begin READERS:=0; SmbWRITE:=false end;
|
|||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 226; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.218.231 (0.01 с.) |