Главная
страница 1страница 2 ... страница 8страница 9
СОДЕРЖАНИЕ


2. ОПЕРАЦИОННАЯ СИСТЕМА Linux 2

2.1. Общая структура 2

2.2. Первый запуск и настройка. Интерфейс с пользователем. 4

2.3. Файлы и файловая система. 6

2.4. Управление процессами. 19

2.5. Потоковое межпроцессное взаимодействие 24

2.6. Организация работы с разделяемой памятью 30

2.7. Использование нити исполнения (thread) 40

2.8. Использование семафоров для синхронизации процессов 44

2.9. Сообщения как средства связи и средства синхронизации процессов 50

2.10. Сигналы 61

2. ОПЕРАЦИОННАЯ СИСТЕМА Linux

2.1. Общая структура


Операционная система Linux (как и большинство систем семейства Unix) в соответствии с режимом работы процессора может работать в режиме ядра и режиме пользователя.

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

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

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

Ядро состоит из трех основных подсистем:


  1. Файловая подсистема

  2. Подсистема управления процессами и памятью

  3. Подсистема ввода/вывода

Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Одни и те же функции ореn(2), read(2), могут использоваться как при чтении или записи данных на диск, так и при выводе текста на принтер или терминал. Она контролирует права доступа к файлу, выполняет операции размещения и удаления файла, а также выполняет запись/чтение данных файла. Поскольку большинство прикладных функций выполняется через интерфейс файловой системы (в том числе и доступ к периферийным устройствам), права доступа к файлам определяют привилегии пользователя в системе. Файловая подсистема обеспечивает перенаправление запросов, адресованных периферийным устройствам, соответствующим модулям подсистемы ввода/вывода.

Подсистема управления процессами. Запущенная на выполнение программа порождает в системе один или более процессов (или задач). Подсистема управления процессами контролирует:

  1. Создание и удаление процессов

  2. Распределение системных ресурсов (памяти, вычислительных ресурсов) между процессами

  3. Синхронизацию процессов

  4. Межпроцессное взаимодействие

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

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



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

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

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

2.2. Первый запуск и настройка. Интерфейс с пользователем.


В качестве «учебной» системы был выбран Linux PuppyRus Jeans, который может быть установлен либо на компьютере, имеющем малые аппаратные ресурсы, либо загружать систему в оперативную память, не боясь «испортить» имеющуюся на компьютере операционную систему.

Минимальные требования к оборудованию:



  1. Процессор: Пентиум-2 233МГц.

  2. Оперативная память: 64 Мб, при наличии жесткого диска или сходного по функциональности устройства для полной (full) инсталляции, или 128 Мб для запуска с компакт-диска, USB-флэш для экономной (frufal) инсталляции. Обязательное наличие SWAP-раздела виртуальной памяти (при памяти менее 256 Мб).

  3. Носитель информации размером от 128 Мб – любой из списка: CD-ROM, жесткий диск – встроенный или подключаемый через USB, USB-falsh накопитель.

Замечание: проведена проба запуска операционной системе на ноутбуке с параметрами: процессор - Пентиум-2 233 МГц, оперативная память – 98 Мб. Система работоспособна, но есть частое обращение к CD-диску.

Порядок выполнения:



  1. Для выполнения задания необходимо получить у преподавателя образ диска операционной системы в формате ISO и программу для записи CD дисков, например, SCDWriter.exe (работает в ОС Windows). Следуя инструкциям программы записи CD дисков, записать образ на CD диск.

  2. Уточнить параметры видеосистемы того компьютера, на котором будет установлена система, используя имеющуюся на этом компьютере операционную систему.

  3. Установить в BIOS первым устройством загрузки CD диск.

  4. После выполнения начальной загрузки будет предложены варианты загрузки (PuppyRus по умолчанию, PuppyRus prix=ram). Выбор этих вариантов при самой первой загрузке безразличен.

  5. Проведите настройку видеосервера.

  6. В случае отсутствия приемлемого режима работы, попробуйте другие режимы, используя сообщения и рекомендации разработчиков. Так как загрузка системы проведена в оперативную память, то нет ничего страшного в полной перезагрузке, используя кнопку «Reset».

  7. Рабочий стол после загрузки будет иметь вид, похожий на рабочий стол Windows. При работе учтите, что выбор элемента происходит при наведении указателя мыши на этот элемент, а для активизации элемента достаточно одного нажатия левой кнопки мыши.

Замечание: если будет выдано сообщение о том, что витрина не использовалась, то необходимо закрыть это сообщение, а в меню выбрать:

Выключение>Перезагрузка X-сервера.



  1. Если на вашем компьютере есть возможность загрузки с flash-диска, то создайте загрузочный flash диск (диск не должен иметь файловую систему NTFS, а также на нем должен быть только один раздел). Для этого в меню выберите:

Настройки>Универсальный инсталлятор PuppyRus.

Далее следуйте инструкциям разработчиков.



  1. Ознакомьтесь по руководству пользователя с особенностями установки операционной системы на жесткий диск.

  2. Ознакомьтесь с прикладным программами, иконки которых расположены на рабочем столе (Текст, Таблицы, Paint, Видео, Аудио, Архив).

  3. Рассмотрите файловые менеджеры Midnight Commander и Rox-Filer (вызов из меню). Менеджеры исходно отображают «домашний» каталог пользователя, которым будет директорий «root».

  4. Установка компилятора с языка Си. Использование SFS – файлов.

Компилятор с языка Си изначально отсутствует в дистрибутиве PuppyRus Jeans. Он находится в SFS-модуле (devx_301.sfs). Инструкция по подключению модуля подробно описана в руководстве пользователя.

Замечание: для подключения модуля «на один раз», то есть до перезагрузки системы, можно в менеджере файлов ROX-Filer кликнуть правой кнопкой мыши на иконке этого файла, и в всплывающем меню выбрать команду «Подключить модуль SFS».



  1. Ознакомьтесь с возможностями интегрированной среды разработки Geany.

Запуск Geany можно выполнить из меню (Текстовый редактор>Geany). Для работы с языком Си можно создать файл из шаблона. Для успешной компиляции необходимо сохранить файл под другим именем, отличным от «Без имени». Для компиляции, сборки и выполнения программы используйте меню «Сборка».

  1. Проведите настройку сети, выбрав на рабочем столе иконку «Мастера» и, далее, в окне «Настройка Puppy» – «Соединение с интернет через сетевой интерфейс…», а остальное в соответствии с подсказками, предлагаемыми разработчиками.

Отчет должен содержать:

  1. Перечень файлов загрузочного диска с указанием формата и назначения каждого файла.

  2. Параметры системы личного компьютера и параметры видеосервера, при которых была получена работоспособная система с графическим интерфейсом. Для сравнения приведите параметры видеосистемы данного компьютера в системе Windows.

Контрольные вопросы:

  1. Каково назначение файлов загрузочного диска?

  2. Какие есть отличия графического интерфейса от интерфейса Windows?

  3. Какие действия необходимо выполнить для установки системы на жесткий диск?

  4. Какое есть сходство и различия файловых менеджеров Linux с аналогичными программами Windows?

следующая страница >>
Смотрите также:
2. операционная система linux 2 Общая структура 2
1003.22kb.
9 стр.
1. Понятие и структура ос. Эволюция вычислительных и ос. Основные функции ос операционная система (ОС)
742.96kb.
2 стр.
Инструкция по установке Сетевого Процессора под linux. 1Требования к системе. Операционная система: suse linux Enterprise Server 10 sp 1 x86 или suse linux Enterprise Server 10 sp 1 x86 64 Sybase ase
156.82kb.
1 стр.
5. Операционная система компьютера (назначение, состав, загрузка). Файловая система компьютера. Папки, файлы (имя, путь, путь доступа). Операции с файлами и папками. Операционная система
32.62kb.
1 стр.
Red Hat и Cisco предложили ос enterprise Linux и виртуализацию для новой унифицированной среды вычислений
44.87kb.
1 стр.
Операционная система (ОС)
139.35kb.
1 стр.
Операционная система Windows 7
72.27kb.
1 стр.
Разработка урока «Файлы и файловая система»
96.68kb.
1 стр.
Должны присутствовать текст, рисунок, фоновый рисунок, желательно наличие таблиц
30.29kb.
1 стр.
Операционная система – это организованный набор программ, предназначенный для управления работой компьютера
27.71kb.
1 стр.
Билет Вопрос Операционная система компьютера (назначение, состав, способ организации диалога с пользователем). Загрузка компьютера
22.49kb.
1 стр.
Это было давно… Операционная система (ОС) – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Структура вычислительной системы
686.16kb.
5 стр.