<< Пред.           стр. 1 (из 8)           След. >>

Список литературы по разделу

  Федеральное агентство по образованию
  Омский государственный институт сервиса
  Кафедра высшей математики и информатики
 
 
 
 
 
 
 
 С. Ф. Храпский
 
 
 ОПЕРАЦИОННЫЕ СИСТЕМЫ, СРЕДЫ И ОБОЛОЧКИ
 
 ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
 
 
 Учебное пособие
 
 
 
 
 Д О П У Щ Е Н О
 Министерством образования и науки Российской Федерации
 в качестве учебного пособия
 для студентов высших учебных заведений, обучающихся
 по специальности «Прикладная информатика (в сфере сервиса)»
 
 
 
 
 
 
 
 Омск 2005
 УДК 681.3
 Х – 90
 Храпский С. Ф.
 Операционные системы, среды и оболочки. Основные теоретические сведения: Учебное пособие. – Омск: ОГИС, 2005. – 268 c.
 
 ISBN 5-93252-039-6
 
  Учебное пособие разработано с целью обеспечения обучающихся и преподавателей систематизированным учебным материалом по теоретическим основам операционных систем.
  Рассмотрены основные понятия операционных систем, сред и оболочек, вопросы управления процессами и ресурсами, особенности построения перациионных систем для многопроцессорных вычислительных машин и многомашинных вычислительных систем, общие концепции и принципы разработки операционных систем, история развития операционных систем и эволюция их функциональных характеристик. Представлены примеры практической реализации наиболее распространенных современных операционных систем.
  Учебное пособие подготовлено в соответствии с требованиями ГОС ВПО специальности 351400 «Прикладная информатика (в сфере сервиса)».
  Предназначено для студентов очной и заочной форм обучения специальности 351400 «Прикладная информатика (в сфере сервиса)», изучающих дисциплину «Операционные системы, среды и оболочки». Может быть использовано при изучении ряда смежных дисциплин этой специальности, а также студентами других специальностей, изучающих соответствующие разделы в дисциплинах «Информатика», «Информационные технологии», «Информационные системы».
 УДК 681.3
 Библиогр.: 18 назв., словарь, алфавитно-предметный указ. (в конце)
 
 Рецензенты:
 д-р техн. наук, профессор В. Ю. Юрков
 (Сибирская государственная автомобильно-дорожная академия)
 
 канд. техн. наук, доцент В. И. Стариков
  (Омский государственный институт сервиса)
 
  Ответственный за выпуск
  зав. кафедрой ВМиИ, канд. пед. наук, доцент О. Н. Лучко
 
 ISBN 5-93252-039-6 ? Омский государственный
  институт сервиса, 2005
 Оглавление
 
 Предисловие………………………………………...…………………………………….....
 Введение……………………………………………………………………………………...
 1. Управление процессами в автономных
 однопроцессорных вычислительных машинах…………………………...……………
  1.1. Понятия вычислительного процесса и ресурса……………………………………..
  1.2. Планирование процессов……………………………………………………………..
  1.3. Межпроцессное взаимодействие…………………………………………………….
  1.4. Понятия потока («нити») и многопоточности………………………………………
  Контрольные вопросы и задания…………………………………………………………
 2. Управление ресурсами в автономных однопроцессорных компьютерах…….….
  2.1. Управление памятью………………………………………………………………….
  2.2. Управление вводом-выводом………………………………………………………...
  2.3. Управление файлами и файловая система…………………………………………..
  Контрольные вопросы и задания…………………...…………………………………….
 3. Управление процессами и ресурсами в автономных многопроцессорных
  вычислительных машинах……………………………………………………………….
  3.1. Реализация операционных систем многопроцессорных вычислительных машин.
  3.2.Планирование и синхронизация
  в многопроцессорных вычислительных машинах…….................………………......
  Контрольные вопросы и задания………………………………………...……………….
 4.Управление процессами и ресурсами в многомашинных
  вычислительных системах..................................................................................................
  4.1. Способы организации управления процессами и ресурсами
 в многомашинных вычислительных системах…………………………………………….
  4.2. Понятия сетевой и распределенной операционных систем………………………...
  4.3. Варианты реализации распределенных операционных систем…………………….
  Контрольные вопросы и задания…………………………...…………………………….
 5. Общие концепции разработки операционных систем…………………………..
  5.1. Основные принципы построения операционных систем …………………………..
  5.2. Архитектурные особенности проектирования операционных систем…………….
  5.3. Принципы построения системных и прикладных программных интерфейсов…...
  Контрольные вопросы и задания……………………...………………………………….
 6. История развития операционных систем
 и эволюция их функциональных характеристик………………………..……….….....
  6.1.Операционные системы разных этапов разработки вычислительных машин..........
  6.2. История развития и характеристики операционных систем UNIX.........................
  6.3. История развития и характеристики операционных систем семейства Windows..
  Контрольные вопросы и задания……………………………...………………………….
 7. Пример практической реализации операционной системы: UNIX……………….
  7.1. Обзор системы UNIX………………………………………………………………….
  7.1.1. Общие представления……………………………………………………………..
  7.1.2. Интерфейсы системы UNIX………………………………………………………
  7.1.3. Оболочка и утилиты системы UNIX……………………………………………..
  7.1.4. Структура ядра системы UNIX…………………………………………………...
  7.2. Процессы в UNIX……………………………………………………………………...
  7.2.1. Основные понятия…………………………………………………………………
  7.2.2. Реализация процессов в UNIX……………………………………………………
  7.2.3. Планирование в системе UNIX…………………………………………………...
  7.3. Управление памятью в UNIX…………………………………………………………
  7.3.1. Основные понятия…………………………………………………………………
  7.3.2. Реализация управления памятью в UNIX………………………………………..
  7.4. Ввод-вывод в системе UNIX………………………………………………………….
  7.4.1. Основные понятия…………………………………………………………………
  7.4.2. Реализация ввода-вывода в системе UNIX………………………………………
  7.4.3. Потоки данных в UNIX……………………………………….....……...………...
  7.5. Файловые системы UNIX……………………………………………………………..
  7.5.1. Основные понятия…………………………………………………………………
  7.5.2. Реализация классической файловой системы UNIX…………………....………
  7.5.3. Реализация файловой системы Berkeley Fast…………………………………...
  7.5.4. Реализация файловой системы Linux....................................................................
  7.5.5. Реализация файловой системы NFS......................................................................
  7.6. Безопасность в UNIX.....................................................................................................
  7.6.1. Основные понятия...................................................................................................
  7.6.2. Реализация безопасности в UNIX..........................................................................
  Контрольные вопросы и задания........................................................................................
 8. Пример практической реализации операционной системы: Windows 2000..........
  8.1. Обзор структуры операционной систем Windows 2000.............................................
  8.1.1. Структура системы..................................................................................................
  8.1.2. Реализация объектов................................................................................................
  8.1.3. Подсистемы окружения...........................................................................................
  8.2. Процессы и потоки в Windows 2000............................................................................
  8.2.1. Основные понятия....................................................................................................
  8.2.2. Межпроцессное взаимодействие............................................................................
  8.2.3. Реализация процессов и потоков............................................................................
  8.2.4. Загрузка Windows 2000............................................................................................
  8.3. Управление памятью в Windows 2000.........................................................................
  8.3.1. Основные понятия....................................................................................................
  8.3.2. Реализация управления памятью............................................................................
  8.4. Ввод-вывод в системе Windows 2000...........................................................................
  8.4.1. Основные понятия....................................................................................................
  8.4.2. Реализация ввода-вывода в Windows 2000............................................................
  8.5. Файловые системы Windows 2000................................................................................
  8.5.1. Файловые системы типа FAT.................................................................................
  8.5.2. Файловая система типа NTFS.................................................................................
  8.6. Безопасность в Windows 2000.......................................................................................
  8.6.1. Основные понятия....................................................................................................
  8.6.2. Реализация защиты в Windows 2000......................................................................
  Контрольные вопросы и задания........................................................................................
 Заключение..............................................................................................................................
 Библиографический список.................................................................................................
 Словарь терминов и определений......................................................................................
 Алфавитно-предметный указатель.................................................................................... 5
 6
 
 8
 8
 11
 23
 28
 34
 35
 35
 46
 51
 66
 
 67
 67
 
 72
 82
 
 83
 
 83
 91
 93
 99
 100
 100
 107
 115
 121
 
 122
 122
 129
 132
 140
 141
 141
 141
 141
 142
 144
 146
 146
 150
 153
 157
 157
 160
 165
 165
 168
 170
 172
 172
 175
 177
 178
 180
 187
 187
 189
 191
 193
 193
 193
 203
 208
 211
 211
 214
 217
 221
 223
 223
 227
 234
 234
 235
 239
 239
 242
 249
 249
 254
 251
 255
 260
 262
 265
 Предисловие
 
  Учебное пособие предназначено для студентов очной и заочной форм обучения специальности 351400 «Прикладная информатика (в сфере сервиса)», изучающих дисциплину «Операционные системы, среды и оболочки», и разработано с целью обеспечения обучающихся и преподавателей систематизированным учебным материалом по теоретическим основам операционных систем.
  Рассмотрены основные понятия операционных систем, сред и оболочек, вопросы управления процессами и ресурсами, особенности построения операционных систем для многопроцессорных вычислительных машин и многомашинных вычислительных систем, общие концепции и принципы разработки операционных систем. Приведены краткие исторические сведения о возникновении и развитии операционных систем, а также даны оценки их свойств и характеристик. В качестве примеров практической реализации реально функционирующих современных операционных систем описаны наиболее распространенные и «знаковые» системы семейств UNIX и Windows.
  Представленные в учебном пособии сведения могут найти применение при изучении ряда смежных дисциплин специальности 351400 «Прикладная информатика (в сфере сервиса)», а также соответствующих разделов в дисциплинах «Информатика», «Информационные технологии», «Информационные системы» других специальностей.
  Учебное пособие подготовлено кандидатом технических наук, проректором ОГИС по информационным технологиям Сергеем Филипповичем Храпским.
  В разделах 7 и 8 использованы материалы книги Э. Таненбаума «Современные операционные системы» (см. Библиографический список).
  Данное учебное пособие по порядку изучения является следующим за учебным пособием С.Ф. Храпского «Вычислительные системы, сети и телекоммуникации» (ОГИС, 2005 г.). Поэтому при изложении материала предполагается наличие у читателя предварительных знаний по основным понятиям и терминологии вычислительной техники.
 
 
 Автор
 
 
 Введение
 
  Операционные системы являются основой программного обеспечения вычислительных машин (и их систем – вычислительных систем). Операционная система (далее – ОС) – это комплекс управляю­щих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между пользователем (с его задачами) и аппаратными компонентами вычислительных машин (далее – ВМ) и вычислительных систем (далее – ВС), а с другой стороны предназначен для эффективного управления вычислительными про­цессами, а также наиболее рационального распределения и использования вычислительных ресур­сов ВМ и ВС.
  Обеспечение пользователю определенного уровня удобств осуществляется посредством того, что ОС представляет для него так называемую «расширенную» (или виртуальную) машину, которая избавляет пользователя от необходимости работать напрямую с аппаратными компонентами и берет на себя выполнение большинства рутинных операций. Таким образом, абстрактная «расширенная» машина, с которой, благодаря ОС, имеет дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины.
  Идея о том, что ОС прежде всего система, обеспечивающая удобный интерфейс пользователям, соответствует рассмотрению ее сверху вниз. Другой взгляд, снизу вверх, дает представление об ОС как о некотором механизме, распределяющим и управляющим всеми компонентами и ресурсами ВМ и ВС с целью обеспечения максимальной эффективности их функционирования.
  Таким образом, ОС выполняет функции управления вычислительными про­цессами в ВМ и ВС, распределяет ресурсы ВМ и ВС между различными вычислительными процессами и образует программ­ную среду, в которой выполняются прикладные программы пользователей. Такая среда называется операционной средой.
  Благодаря наличию операционной системы пользователи-программисты при написании собственных программ могут вообще не знать многих деталей управления конкретными ресурсами ВМ и ВС, а должны только обращаться к ОС как к некоторой программной подсистеме с соответствующими вызовами и получать от нее необходимые функции и сервисы. Набор таких функций и правил обращения к ним как раз и образуют то базовое понятие, которое называют операционной средой. Таким образом можно сказать, что термин «операционная среда» означает, прежде всего, соответствующие интерфейсы, необходимые программам и пользователям для обращения к ОС с целью получить определенные сервисы.
  Параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система в общем случае может поддерживать несколько операционных сред. Операционная среда в свою очередь может включать несколько разных пользовательских и программных интерфейсов. Например, ряд ОС предоставляют для пользователя интерфейсы командной строки, интерфейсы-оболочки (типа Norton Commander и т.п.), а также графические интерфейсы. Если же говорить о программных интерфейсах, то это те интерфейсы, к которым могут обращаться программисты для получения соответствующих функций и сервисов. Можно сказать, что операционная среда – это то системное программное окружение, в котором могут выполняться программы, созданные по правилам работы этой среды.
  Операционная система в значительной степени определяет функциональные возможности, удобства пользования и эффективность работы ВМ и ВС. На сегодняшний день существует большое количество разных типов ОС, отличающихся областями применения, аппаратными платформами и методами реализации. Естественно, это обуславливает и значительные функциональные различия этих ОС. Поэтому при изучении операционных систем очень важно из всего многообразия выделить те функции, которые присущи всем операционным системам как классу программных продуктов. Именно общие понятия ОС, концепции их построения и функциональные возможности являются предметами рассмотрения данного учебного пособия. В заключительных разделах учебного пособия уделено внимание историческим сведениям о возникновении и развитии ОС, а также даны оценки свойств и характеристик современных ОС. Представлены примеры практического построения, состава и особенностей функционирования наиболее популярных и эффективных операционных систем.
 
 1. Управление процессами в автономных
 однопроцессорных вычислительных машинах
 1.1. Понятия вычислительного процесса и ресурса
 
  Понятие «вычислительный процесс» (или просто – процесс) является одним из основных при рассмотрении операционных систем. Под процессом обычно понимается последовательность операций при выполнении программы или ее части в совокупности с используемыми данными. В общем случае процесс и программа представляют собой разные понятия. Програм­ма – это план действий, а процесс – это само действие, поэтому понятие процесса включает программный код, данные, содержимое стека, содержимое адресного и других регистров процессора. Таким образом, для одной программы могут быть созданы не­сколько процессов в том случае, если с помощью одной программы в центральном процессоре (central processor unit – CPU) вычислительной машины выполняется несколько несовпадающих последовательностей команд.
  По временным характеристикам различают интерактивные процессы, пакетные процессы и процессы реального времени. Время существования интерактивного процесса определя­ется реакцией ВМ на запрос обслуживания и составляет секунды. Процессы реального времени имеют гарантированное время окон­чания работы, а время реакции измеряется долями секунды. Пакетные процессы запуска­ются один вслед за другим, а время реакции составляет часы и более.
  По генеалогическому признаку различают порождающие и порож­денные процессы.
  По результативности различают эквивалентные, тождествен-ные и равные процессы. Все они имеют одинаковый конечный результат, нo эквивалентные процессы могут реализовываться как на одном, так и на многих процессорах по одному или разным алгоритмам, то есть они имеют разные трассы, которые определяют порядок и длительность пребывания процесса в разных состояниях. Тождествен­ные процессы реализуются по одной и той же программе, но имеют разные трассы. Равные (или одинаковые процессы) реализуются по одной про­грамме и имеют одинаковые трассы.
 
  По времени развития процессы делятся на последовательные, па­раллельные и комбинированные (для последних есть точки, в которых существуют оба процесса, и точки, в которых существует только один процесс).
  По месту развития процессы делятся на внутренние (реализуются на центральном процессоре) и внешние (реализуются на внешних процессорах).
  По принадлежности к операционной системе процессы бывают системные (исполняют программу из состава операционной систе­мы) и пользовательские.
  По связности различают процессы:
  а) взаимосвязанные – имеющие какую-то связь (простран­ственно-временную, управляющую, информационную);
  б) изолированные – слабо связанные;
  в) информационно-независимые – использующие совмест­ные ресурсы, но имеющие собственные информационные базы;
  г) взаимодействующие – имеющие информационные связи и раз­деляющие общие структуры данных;
  д) взаимосвязанные по ресурсам;
  е) конкурирующие.
  Порядок взаимосвязи процессов определяется правилами синхро­низации. Процессы могут находиться в отношении:
  а) предшествования – когда один процесс всегда находится в активном состо­янии раньше, чем другой;
  б) приоритетности – когда процесс может быть переведен в ак­тивное состояние только в том случае, если в состоянии готовности нет процессов с более высоким приоритетом, или если свобо­ден процессор, или если на процессоре реализуется процесс с меньшим приоритетом;
  в) взаимного исключения – когда в процессе используется общий критический ресурс, и процессы не могут развиваться одновремен­но (если один из них использует критический ресурс, то другой на­ходится в состоянии ожидания).
  Примерами процессов являются прикладные программы пользователей, утилиты и другие системные обрабатывающие про­граммы. Процессами могут быть редактирование какого-либо текста, трансляция исходной программы, ее компоновка, исполнение. При этом трансляция какой-ни­будь исходной программы является одним процессом, а трансляция следующей исходной программы – другим процессом, хотя транслятор (как объ­единение программных модулей) здесь выступает как одна и та же программа, но обрабатываемые им данные являются разными.
  Определение концепции процесса преследует цель выработать механизмы распре­деления и управления так называемыми «ресурсами», которые также относятся к числу важнейших понятий ОС.
  Ресурс – это любой потребляемый (расходуемый) объект. По запа­сам ресурсы подразделяются на исчерпаемые и неисчерпаемые. По­требители ресурсов – процессы. Ресурс – это средство вычисли-тельной машины или вычислительной системы, которое может быть выделено процессу на определенный интервал времени.
  Ресурсы классифицируются по следующим свойствам:
  а) по признаку реальности – на физические и виртуальные (последние только в отдельных свойствах схожи с физическими ресурсами);
  б) по возможности расширения свойств – на эластичные и жесткие (не допускающие расширяемости);

<< Пред.           стр. 1 (из 8)           След. >>

Список литературы по разделу