WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 32 |
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Государственное образовательное учреждение высшего профессионального образования «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» А.В. Замятин ОПЕРАЦИОННЫЕ СИСТЕМЫ.

Теория и практика Издательство Томского политехнического университета 2011 УДК 681.3.066(075.8) ББК 32.973-018.2я73 З-26 Замятин А.В.

З-26 Операционные системы. Теория и практика: учебное пособие / А.В.

Замятин. – Томск: Изд-во Томского политехнического университета, 2011. – 281 с.

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

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

Предназначено для студентов, обучающихся по направлению 230100 Информатика и вычислительная техника.

УДК 681.3.066(075.8) ББК 32.973-018.2я73 Рецензенты Доктор технических наук, декан факультета информатики Томского государственного университета, заведующий кафедрой прикладной информатики С.П. Сущенко Кандидат технических наук, заместитель начальника Управления информационных технологий ОАО «Востокгазпром», П.М. Острасть © Замятин А.В., 2011 © Томский политехнический университет, 2011 © Оформление. Издательство ТПУ, 2011 2 СОДЕРЖАНИЕ ВВЕДЕНИЕ....................................................................................................1. ПОНЯТИЕ И ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ...1.1 Основные понятия, назначения и функции ОС...............................1.2 Эволюция вычислительных и операционных систем...................1.2.1 История развития ОС...............................................................1.2.2 Основные функции ОС............................................................1.2.3 Особенности современного этапа развития ОС....................1.3 Вопросы для самопроверки.............................................................2. АРХИТЕКТУРНЫЕ ОСОБЕННОСТИ ОС.

КЛАССИФИКАЦИЯ ОС..........................................................................2.1 Архитектурные особенности ОС....................................................2.1.1 Монолитное ядро......................................................................2.1.2 Микроядерная архитектура.....................................................2.1.3 Многоуровневые системы.......................................................2.1.4 Виртуальные машины..............................................................2.1.5 Смешанные системы................................................................2.2 Классификация ОС...........................................................................2.3 Вопросы для самопроверки.............................................................3. УПРАВЛЕНИЕ ПРОЦЕССАМИ.................................................3.1 Мультипрограммирование...............................................................3.1.1 Мультипрограммирование в системах пакетной обработки3.1.2 Мультипрограммирование в системах разделения времени3.1.3 Мультипрограммирование в системах реального времени.3.1.4 Мультипрограммирование при мультипроцессорной обработке..................................................................................................3.1.5 Роль прерываний при мультипрограммировании.................3.2 Планирование процессов и потоков...............................................3.2.1 Понятие процесса и потока......................................................3.2.2 Создание процессов и потоков................................................3.2.3 Управляющие структуры процессов и потоков....................3.2.4 Состояния процесса..................................................................3.2.5 Критерии планирования...........................................................3.2.6 Цели и свойства алгоритмов планирования...........................3.2.7 Виды планирования..................................................................3.2.8 Алгоритмы планирования........................................................3.3 Взаимодействие и синхронизация процессов и потоков..............3.3.1 Независимые и взаимодействующие вычислительные процессы...................................................................................................3.3.2 Цели и средства синхронизации.............................................3.3.3 Пример необходимости синхронизации................................3.3.4 Механизмы синхронизации.....................................................3.3.5 Проблемы синхронизации.......................................................3.3.6 Механизмы межпроцессного взаимодействия......................3.4 Вопросы для самопроверки.............................................................4. УПРАВЛЕНИЕ ПАМЯТЬЮ........................................................4.1 Основные положения.......................................................................4.1.1 Задачи по управлению памятью..............................................4.1.2 Типы адресации........................................................................4.2 Распределение памяти......................................................................4.2.1 Общие принципы управления памятью в однопрограммных ОС 4.2.2 Особенности организации управления памятью в мультипрограммных ОС........................................................................4.2.3 Распределение фиксированными разделами.........................4.2.4 Распределение динамическими разделами............................4.2.5 Распределение перемещаемыми разделами...........................4.2.6 Сегментное распределение......................................................4.2.7 Страничное распределение....................................................4.2.8 Особенности эффективного использования таблиц страниц 4.2.9 Сегментно-страничное распределение.................................4.3 Вопросы для самопроверки...........................................................5.



ФАЙЛОВЫЕ СИСТЕМЫ...........................................................5.1 Физическая организация жесткого диска....................................5.2 Принципы построения файловой системы..................................5.2.1 Интерфейс файловой системы..............................................5.2.2 Функциональная схема организации файловой системы...5.2.3 Типовая структура файловой системы на диске.................5.2.4 Способы выделения дискового пространства.....................5.2.5 Управление дисковым пространством.................................5.2.6 Размер логического блока......................................................5.3 Особенности загрузки ОС..............................................................5.4 Файлы и файловая система............................................................5.4.1 Цели и задачи файловой системы.........................................5.4.2 Типы файлов............................................................................5.4.3 Атрибуты файла......................................................................5.4.4 Доступ к файлам.....................................................................5.4.5 Операции над файлами..........................................................5.4.6 Иерархическая структура каталогов.....................................5.4.7 Операции над директориями.................................................5.5 Особенности организации некоторых файловых систем...........5.5.1 FAT...........................................................................................5.5.2 VFAT........................................................................................5.5.3 NTFS.........................................................................................5.5.4 HPFS.........................................................................................5.5.5 UFS...........................................................................................5.6 Дисковые массивы RAID...............................................................5.7 Вопросы для самопроверки...........................................................6. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 1. ЗНАКОМСТВО С ОПЕРАЦИОННОЙ СИСТЕМОЙ UNIX..............................................6.1 Цель работы.....................................................................................6.2 Задание.............................................................................................6.3 Основы работы в операционной системе UNIX..........................6.3.1 Интерфейс командной строки в системах Unix...................6.3.2 Основы интерактивной работы в оболочке bash.................6.3.3 Файловая система...................................................................6.4 Последовательность выполнения работы....................................7. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 2. ЗНАКОМСТВО СО СТАНДАРТНОЙ УТИЛИТОЙ GNU MAKE ДЛЯ ПОСТРОЕНИЯ ПРОЕКТОВ В ОС UNIX..........................................................................7.1 Цель работы.....................................................................................7.2 Задание.............................................................................................7.3 Основы использования утилиты построения проектов Make....7.3.1 Основные правила работы с утилитой make........................7.3.2 Пример практического использования утилиты make........7.4 Последовательность выполнения работы....................................8. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 3. ЗНАКОМСТВО С ПОТОКАМИ И ИХ СИНХРОНИЗАЦИЕЙ В ОС UNIX...................8.1 Цель работы.....................................................................................8.1 Задание.............................................................................................8.2 Управление потоками.....................................................................8.2.1 Программирование потоков..................................................8.2.2 Основные функции для работы с потоками.........................8.2.3 Запуск и завершение потока..................................................8.2.4 Досрочное завершение потока..............................................8.2.5 Синхронизация потоков.........................................................8.3 Мьютексы........................................................................................8.3.1 Функции синхронизации потоков с использованием мьютексов..............................................................................................8.3.2 Инициализация и удаление объекта атрибутов мьютекса.8.3.3 Область видимости мьютекса...............................................8.3.4 Инициализация мьютекса......................................................8.3.5 Запирание мьютекса...............................................................8.3.6 Удаление мьютекса.................................................................8.3.7 Компиляция многопоточной программы.............................8.3.8 Особенности отладки многопоточной программы.............8.3.9 Примеры практической реализации.....................................8.4 Последовательность выполнения работы....................................9.





ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 4. ЗНАКОМСТВО С ПРОЦЕССАМИ, ПЕРЕДАЧЕЙ ДАННЫХ МЕЖДУ ПРОЦЕССАМИ И ИХ СИНХРОНИЗАЦИЕЙ...................................9.1 Цель работы.....................................................................................9.2 Задание.............................................................................................9.3 Основы оперирования процессами в оболочке bash...................9.3.1 Задания и процессы................................................................9.3.2 Передний план и фоновый режим........................................9.3.3 Перевод заданий в фоновый режим и уничтожение заданий 9.3.4 Приостановка и продолжение работы заданий...................9.4 Механизмы межпроцессного взаимодействия в ОС Unix..........9.4.1 Очереди сообщений................................................................9.4.2 Работа с разделяемой памятью..............................................9.4.3 Примеры практической реализации.....................................9.5 Последовательность выполнения работы....................................ЛИТЕРАТУРА...........................................................................................Введение С каждым годом использование вычислительных систем становится все более широким, существенно повышая эффективность функционирования самых различных бизнес-процессов больших и малых предприятий, облегчая и делая более разнообразной и интересной работу с персональными компьютерами рядовых пользователей по всему миру. Во многом, эта заслуга операционной системы (ОС) – неотъемлемой части любой современной вычислительной системы от простого и недорого пользовательского компьютера до мощного суперкомпьютера с десятками процессоров.

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

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

Значительная часть пособия посвящена приобретению практических навыков работы в ОС. На сегодняшний день существует множество различных ОС, построенных на закрытой (OC семейства Windows) и открытой архитектурах (ОС семейства Unix). При этом, благодаря своему «открытому» характеру, именно последние более подходят для изучения базовых аспектов функционирования ОС.

Unix-подобные ОС являются достаточно популярными уже более трех десятилетий, что для ОС – очень серьезный срок. Несмотря на большое число разновидностей систем Unix, все их объединяет ряд основных черт, таких как язык высокого уровня С, положенный в основу кода всей системы, наличие стандартов в архитектуре и интерфейсных решений (POSIX, System V), использование единой, легко обслуживаемой иерархической файловой системы, различных дополнительных средств, включая средства, предназначенные для упрощения сборки программных проектов.

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

В рамках предлагаемого учебного пособия предоставляется возможность получить практические навыки работы в одной из разновидностей ОС Unix – Linux на примере решения практических задач: разработка программного проекта с помощью утилиты для автоматизированной сборки программных проектов GNU make; разработка многопоточного приложения и разработка многопроцессного приложения с использованием стандартных межпроцессных средств синхронизации и передачи данных между клиентом и сервером.

Pages:     || 2 | 3 | 4 | 5 |   ...   | 32 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.