Скачать 210.39 Kb.
|
Министерство образования и науки Российской Федерации Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования “Московский Государственный Технический Университет им. Н.Э. Баумана” (МГТУ им. Н.Э.Баумана) Факультет «Аэрокосмический» Кафедра «Компьютерные системы и сети» КОНСПЕКТ ЛЕКЦИЙ ГОЛОВАНОВ В.С. КОНСПЕКТ ЛЕКЦИЙ ПО КУРСУ «ОПЕРАЦИОННЫЕ СИСТЕМЫ» Москва 2007 Лекция 1. Введение Существует три основных подхода к разработке ОС и системного ПО с точки зрения инструментальных средств.
Виртуальные машины Начала широко распространяться концепция виртуальных машин. Пользователь получил возможность более не задумываться о физических деталях построения вычислительных машин (или сетей), с которыми он работает. Вместо этого пользователь имеет дело с функциональным эквивалентом компьютера, создаваемым для него операционной системой и называемым виртуальной машиной. Современный пользователь хочет, чтобы машина помогала ему эффективно выполнять его работу, и, как правило, не интересуется внутренними деталями устройства этой машины и ее функционированием.
Компиляторы
Эталоном многоуровневой схемы построения сетевых средств связи считается семиуровневая модель открытого взаимодействия систем (Open System Interconnection – OSI), предложенная Международной организацией Стандартов (International Standard Organization – ISO) и получившая сокращенное наименование OSI/ISO Уровни модели OSI/ISO:
POSIX (переносимый интерфейс операционной системы для вычислительной среды) Лекция 2. Основные термины Операционная система (ОС) – ПО, которое выполняет роль интерфейса между пользователем и аппаратурой ЭВМ. Оно управляет выполнением программ и предоставляет различные сервисы: распределение, регистрация, планирование, управление вводом/выводом данных. Сетевые ОС – обеспечивают поддержку использования обычных серверных систем в сети компьютеров. Распределенная ОС - общая ОС совместно используемая сетью компьютеров. Обеспечивает поддержку для межпроцессного взаимодействия, перемещения процессов, взаимоисключения, а также предотвращения взаимоблокировки. ОС реального времени (ОСРВ) – ОС, которая может планировать задачи реального времени и управлять ими. Компоненты Ядро (Kernel) – часть ОС, включающая наиболее интенсивно используемые функции. Обычно ядро постоянно располагается в основной памяти и работает в привилегированном режиме, отвечая на вызовы процессов и прерывания от устройств. Монолитное ядро (Monolithic kernel) - большое ядро, виртуально содержащее всю операционную систему, включая планировщик, файловую систему, драйверы устройств и управление памятью. Все функциональные компоненты ядра имеют доступ ко всем eгo внутренним структурам данных и подпрограммам. Обычно монолитное ядро реализуется как единый процесс, в котором все элементы разделяют одно и то же адресное пространство. Микроядро (Microkernel) - малое привилегированное ядро операционной системы, обеспечивающее планирование процессов, управление памятью и коммуникации; для выполнения прочих функций, традиционно связываемых с ядром операционной системы, использует отдельные процессы. Задание (Job) - последовательность вычислительных этапов, собранных для запуска как единое целое. Задача (Task) - то же, что и процесс. Единица выделения ресурсов в системе. Процесс (Process) - выполняемая программа. Процесс управляется и планируется операционной системой. Поток (Thread) - независимо планируемый контекст выполнения, разделяющий единое адресное пространство с другими потоками. Единица планирования. Задача реального времени (Real-time task) - задача, которая выполняется в связи с некоторыми процессами, функциями или событиями, внешними по отношению к компьютерной системе, и которая должна реагировать на внешние события за приемлемое для них время. Драйвер устройства (Device driver) - модуль операционной системы (обычно находящийся в ядре), который работает непосредственно с устройством или контроллером ввода/вывода. Командная оболочка (Shell) - часть операционной системы, интерпретирующая интерактивные пользовательские команды и команды языка управления заданиями. (По сути, представляет собой интерфейс между пользователем и операционной системой.) Обработчик прерывания (Interrupt handler) - подпрограмма, обычно являющаяся частью операционной системы. В случае прерывания управление передается соответствующему обработчику, который предпринимает определенные действия в ответ на вызвавшие прерывание условия. Прерывание (Interrupt) - приостановка нормального выполнения процесса (компьютерной программы), вызванная внешним по отношению к процессу событием и осуществляемая таким образом, что по ее завершении выполнение процесса может быть продолжено. Время отклика (Response time) - время, прошедшее между концом передачи сообщения с запросом и началом получения ответного сообщения, измеряемое на запрашивающем терминале. Квантование времени (Time slicing) - режим работы, при котором два или несколько процессов получают кванты времени на одном и том же процессоре. Многозадачность (Multitasking) - режим работы, при котором обеспечивается параллельное или чередующееся выполнение двух или большего количества программ. Синоним термина multiprogramming. Разделение времени (Time sharing) - параллельное использование устройства несколькими пользователями. Диспетчеризация (Dispatch) - распределение времени процессора между заданиями, готовыми к выполнению. Планирование (Schedule) - выбор задания для выполнения. В некоторых ОС планироваться могут и другие единицы, например операции ввода/вывода. Пакетная обработка (Batch processing) - метод выполнения потока компьютерных программ, при котором запущенная программа полностью завершается до запуска следующей программы из множества. Повторно используемый ресурс (Reusable resource) - ресурс, который может безопасно использоваться в определенный момент времени только одним процессом и не расходуется им. Процесс получает единицы повторно используемого ресурса, которые позже освобождает для их повторного использования другими процессами. Примерами повторно используемых ресурсов могут служить процессоры, каналы ввода/вывода, основная и вторичная память, устройства и структуры данных, такие, как файлы, базы данных и семафоры. Расходуемые ресурсы (Consumable resources) - ресурсы, которые могут быть созданы (произведены) и уничтожены (потреблены). При получении процессом ресурса последний прекращает существование. Примерами расходуемых ресурсов могут служить прерывания, сигналы, сообщения, информация в буферах ввода/вывода. При получении процессом ресурса, последний прекращает своё существование. Основная память (Main memory) - память, внутренняя по отношению к вычислительной системе, адресуемая программами. Ее ячейки могут быть загружены в регистры для последующего выполнения или обработки. Вторичная память (Secondary memory) - память, расположенная вне вычислительной системы, например диски или магнитные ленты. Интерфейс прикладного программирования (Application programming interface, API) - стандартизованная библиотека программных средств, используемая разработчиками программного обеспечения для создания приложений, совместимых с определенной операционной системой и принятым графическим пользовательским интерфейсом. Пользовательский режим работы (User mode) – режим работы процессора, который не позволяет выполнять привилегированные команды, таких как остановка процессора или команды ввода/вывода. Режим супервизора (Supervisor mode) – режим работы процессора, который позволяет выполнять любые команды. ОС делятся : По назначению:
По типу ядра:
По типу системной архитектуры:
По количеству пользователей:
По уровню межпроцессного взаимодействия:
По типу многозадачности:
С точки зрения поддержки потоков:
По уровню интеграции:
Лекция 3. Ядро Unix системы. Ядро обеспечивает базовую функциональность операционной системы: создает процессы и управляет ими, распределяет память и обеспечивает доступ к файлам и периферийным устройствам. Взаимодействие прикладных задач с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определенной процедуры ядра, внешне похожего на обычный вызов библиотечной функции. Ядро от имени процесса выполняет запрос и возвращает процессу необходимые данные. Ядро состоит из трех основных подсистем: 1. Файловая подсистема 2. Подсистема управления процессами и памятью 3. Подсистема ввода/вывода Файловая подсистема Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Файловая подсистема контролирует права доступа к файлу, выполняет операции размещения и удаления файла, а также выполняет запись/чтение данных файла. Поскольку большинство прикладных функций выполняется через интерфейс файловой системы (в том числе и доступ к периферийным устройствам), права доступа к файлам определяют привилегии пользователя в системе. Файловая подсистема обеспечивает перенаправление запросов, адресованных периферийным устройствам, соответствующим модулям подсистемы ввода/вывода. Подсистема управления процессами Запущенная на выполнение программа порождает в системе один или более процессов (или задач). Подсистема управления процессами контролирует:
Планировщик процессов (scheduler) - разрешает конфликты между процессами в конкуренции за системные ресурсы (процессор, память, устройства ввода/вывода). Планировщик запускает процесс на выполнение, следя за тем, чтобы процесс монопольно не захватил разделяемые системные ресурсы. Процесс освобождает процессор, ожидая длительной операции ввода/вывода, или по прошествии кванта времени. В этом случае планировщик выбирает следующий процесс с наивысшим приоритетом и запускает его на выполнение. Модуль управления памятью обеспечивает размещение оперативной памяти для прикладных задач. В случае, если для всех процессов недостаточно памяти, ядро перемещает части процесса или нескольких процессов во вторичную память (как правило, в специальную область жесткого диска), освобождая ресурсы для выполняющегося процесса. Все современные системы реализуют так называемую виртуальную память: процесс выполняется в собственном логическом адресном пространстве, которое может значительно превышать доступную физическую память. Управление виртуальной памятью процесса также входит в задачи модуля управления памятью. Модуль межпроцессного взаимодействия отвечает за уведомление процессов о событиях с помощью сигналов и обеспечивает возможность передачи данных между различными процессами. Подсистема ввода/вывода Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам (дискам, магнитным лентам, терминалам и т. д.). Она обеспечивает необходимую буферизацию данных и взаимодействует с драйверами устройств - специальными модулями ядра, непосредственно обслуживающими внешние устройства. Сети ОС с микроядром (ex: QNX) DEV APP FSYS NET PROC Приложения пользователя Файловая система Диспетчер устройств Администратор процессов Режим ядра МИКРОЯДРО В состав ядра входят наиболее необходимые низкоуровневые функции ОС. Все остальные сервисы вынесены в адресное пространство пользователя и работают в качестве серверов. 1 – Match 2 – L4 и mCOS Преимущества (QNX)
Ex: ОС 2000 – для бортовых вычислительных машин ОС с гибридным ядром (ex: Win 2000) Hardware Abstraction Level (HAL) – уровень аппаратных абстракций. На этом уровне формируется отображения между общими командами и ответными сигналами аппаратного обеспечения, и таковыми для конкретной платформы. Этот уровень отделяет операционную систему от особенностей используемой аппаратной платформы, благодаря чему системная шина, контроллер прямого доступа к памяти, контроллер прерываний, системные таймеры и Память выглядят с точки зрения ядра одинаково. Кроме того, на этом уровне поддерживается симметричная многопроцессорность. Функции ядра :
Модули, которые находятся в адресном пространстве ядра :
Требования, предъявляемые к современным ОС.
Лекция 11. Многозадачность и планирование процессов. В современных системах выделяют 4 типа планирования: 1 – Долгосрочное планирование (постановка процессов в ) 2 – Среднесрочное планирование 3 – Краткосрочное планирование 4 – Планирование ввода/вывода CPU Требования к стратегиям (критерии)
Режим решения – вытесняющий/невытесняющий Невытесняющий – предполагает, что выполняющийся процесс продолжает вычисления до тех пор, пока он не завершится или не перейдет в заблокированное состояние. Вытесняющий – предполагает, что выполняющийся в данный момент времени процесс может быть прерван системой и переведен в состояние готовности. Лекция 12. Планирование процессов реального времени. Система реального времени – система, корректность функционирования которой определяется не только корректность выполнения вычислений, но и временем, в которое получен требуемый результат. Если требования по времени не выполняются, то считается, что произошел отказ системы. Параметры RTS:
R (Release Time – Время запуска) – момент времени, когда процесс переходит в состояние готовности. φ (фаза) – абсолютный крайний срок. d (Absolute DeadLine) – момент времени, к которому процесс должен закончить выполнение или этап выполнения (для периодического процесса). D (Relative Deadline) - относительный крайний срок. D = d – r s (Start Time – время активации) - момент времени, когда процесс начал выполняться на процессоре. с (Complition Time) - момент времени, когда процесс закончил обработку некото-рого события. e (Execution Time) - время исполнения задачи при выполнении ею очередной работы. e = c – s R (Response Time) - время отклика. R = c – r Δ (Slack Time) – резерв времени/остаток времени от момента завершения до относительного крайнего срока. Δ = D - c t D d S S e R r T (период выполнения) – время, через которое задача поступает в систему. Δ Определение времени исполнения : - подсчет тактов (с учетом кэшей и конвейеров) - времена исполнения непосредственно измеряются Системы, использующие механизмы подкачки страниц, также являются менее предсказуемыми и поэтому считается, что такого рода механизмы являются "врагами" систем реального времени. Недаром в различного рода стандартах, касающихся СРВ, предусмотрены средства блокировки страниц памяти. Классификация процессов по моменту попадания в систему:
|
Мониторинг 29. 07. 2013 Существует три основных подхода к разработке ос и системного по с точки зрения инструментальных средств | Современные проблемы изобразительного искусства и дизайна Существует три основных подхода к разработке ос и системного по с точки зрения инструментальных средств | ||
Отчет о результатах самообследования гоу спо «Хабаровский технический колледж» Существует три основных подхода к разработке ос и системного по с точки зрения инструментальных средств | Конспект по курсу лекций Операционные системы Граур Светлана группа... Основные блоки: 1)введение (историческое развитие вычислительных систем (ВС), определяемое появлением и развитием программного обеспечения... | ||
Конспект лекций по курсу опд. Ф. 11. Операционные системы Муниципальное общеобразовательное учреждение средняя общеобразовательная школа №23 | Конспект лекций по системному анализу Лекция: История, предмет, цели системного анализа 2 Рассматриваются история развития и предмет системного анализа, системные ресурсы общества, предметная область системного анализа,... | ||
Операционные системы конспект лекций Внутренняя организация файловой системы: модель версии Fast File System (ffs) bsd 193 | Конспект лекций по курсу сд. Ф корпоративные информационные системы Д. В. Колесов, Р. Д. Маш, И. Н. Беляев «Биология. Человек», Изд-во «Дрофа», Москва, 2010 | ||
Рабочая программа по дисциплине «Операционные системы» Кроме того, целью преподавания является формирование у студентов системного мышления, теоретической и практической базы системного... | Рабочая программа по дисциплине Введение в специальность Программой учебной дисциплины «Введение в специальность» предусматривается изучение основных вопросов развития страхования в Российской... | ||
Курсовой проект по дисциплине «Системы программирования и операционные системы» Резидентный обработчик прерываний от клавиатуры с подключением до системного обработчика | Конспект лекций по дисциплине: «Операционные системы и среды» «Системы баз данных», «Инструментальные средства разработки аппаратно-программных систем», «Микропроцессоры и микропроцессорные системы»,... | ||
Реферат по дисциплине «Экономическая теория» на тему «Региональные... Существует три основных подхода к определению понятия мировой экономики или мирового хозяйства | Методические указания по курсу для студентов специальностей 021800... Цель курса: познакомить с основными понятиями и сведениями о предмете и статусе социолингвистики, дать представление об основных... | ||
Для создания экспериментальной установки и проведения моего эксперимента... Понятие «вязкость» можно рассматривать с двух точек зрения: с точки зрения молекулярной физики и с точки зрения механики | Лекция Средства обучения и контроля Тема Введение. Виды корпусов и блоков питания системного блока персонального компьютера |