- •Содержание
- •Раздел I. Теоретические сведения 10
- •Раздел II. Лабораторные работы 131
- •Раздел III. Тест выходного контроля знаний 172
- •Введение
- •Раздел I. Теоретические сведения
- •1. Определение, функции и состав операционных систем
- •1.1. История развития операционных систем
- •1.2. Классификация операционных систем
- •Количество пользователей:
- •Способы построения ядра системы:
- •Особенности методов построения:
- •2. Управление локальными ресурсами
- •2.1. Управление процессами
- •2.1.1. Состояния процессов. Контекст и дескриптор процесса
- •2.1.2. Нити
- •2.1.3. Алгоритмы планирования процессов
- •2.1.3.1. Алгоритмы планирования процессов в ос unix
- •2.1.3.2. Алгоритмы планирования процессов в Windows nt
- •2.1.4. Средства синхронизации и взаимодействия процессов
- •2.1.4.1. Критическая секция. Тупики
- •2.2. Управление памятью
- •2.2.1. Методы распределения памяти без использования дискового прстранства
- •2.2.2.1. Страничное распределение памяти
- •2.2.2.2. Сегментное распределение памяти
- •2.2.2.3. Странично-сегментное распределение памяти. Свопинг
- •2.2.3. Иерархия запоминающих устройств. Принцип кэширования данных
- •2.3. Управление вводом/выводом
- •2.3.1. Физическая организация устройств ввода/вывода. Организация программного обеспечения ввода/вывода
- •2.3.2. Драйверы устройств
- •2.3.3. Независимый от устройств слой операционной системы. Пользовательский слой программного обеспечения ввода/вывода
- •2.4. Файловая система
- •2.4.1. Имена файлов. Типы файлов
- •2.4.2. Логическая организация файла. Физическая организация и адрес файла
- •2.4.3. Права доступа к файлу
- •2.4.4. Общая модель файловой системы. Современные архитектуры файловых систем
- •2.4.5. Файловые системы fat, fat32 и hpfs
- •3. Управление распределенными ресурсами
- •3.1. Блокирующие и неблокирующие примитивы. Буферизуемые и небуферизуемые примитивы
- •3.2. Вызов удаленных процедур
- •3.3. Синхронизация в распределенных системах. Алгоритм синхронизации логических часов. Алгоритмы взаимного исключения
- •3. 4. Распределенные файловые системы. Организация файлового сервера
- •3.4.1. Файловые системы ntfs, dfs и efs
- •4. Сетевые операционные системы
- •4.1. Одноранговые сетевые ос и ос с выделенными серверами
- •4.2. Сетевые операционные системы масштаба отдела и масштаба предприятия
- •5. Операционная система ms dos
- •5.1. Основные команды ms dos
- •6. Операционная система unix
- •6.1. Некоторые команды ос unix и стандартные файлы
- •6.2. Редакторы VI и ex
- •6.3. Связь пользователь-пользователь
- •6.4. Средства разработки программ
- •7. Операционная система linux
- •7.1. Приобретение и общие принципы инсталляции linux
- •Инсталлируйте программы linux в новую(вые) файловую(вые) систему(мы).
- •7.2. Создание загрузочной дискеты или инсталляция lilo. Программное обеспечение, которое поддерживает ос linux
- •8. Операционная система Windows nt
- •9. Средства защиты информации в сети
- •Уровни обработки
- •9.1. Обеспечение безопасности в Windows nt
- •9.2. Принципы защиты информации в ос unix
- •10. Общие сведения о системном реестре
- •10.1. Разделы реестра
- •10.2. Работа с редактором реестра. Резервное копирование и восстановление реестра
- •11. Программные средства человеко-машинного интерфейса в ос Windows xp: мультимедиа и аудио
- •12. Современные концепции и технологии проектирования распределенных операционных систем
- •Одним из аспектов совместимости является способность ос выполнять программы, написанные для других ос или для более ранних версий данной операционной системы, а также для другой аппаратной платформы.
- •13. Far manager — текстовая системная оболочка
- •Раздел II. Лабораторные работы
- •Лабораторная работа 1. Инсталляция и конфигурирование операционной системы, начальная загрузка
- •Лабораторная работа 2. Работа в ос Windows xp
- •Лабораторная работа 3. Работа с командной строкой
- •Лабораторная работа 4. Работа с Far manager
- •Варианты заданий к лабораторным работам № 2, 3, 4
- •Вариант 2
- •Вариант 3
- •Лабораторная работа 5. Работа в верхнем меню Far manager
- •Лабораторная работа 6. Основы администрирования в ос Windows хр
- •Лабораторная работа 7. Наблюдение за работой системы с помощью диспетчера задач
- •Лабораторная работа 8. Наблюдение за работой системы с помощью системных журналов и монитора
- •Лабораторная работа 9. Настройка работы служб Windows xp
- •Лабораторная работа 10. Решение задач управления ресурсами
- •Раздел III. Тест выходного контроля знаний
- •Вопросы
- •Заключение
- •Глоссарий
- •Литература
6.3. Связь пользователь-пользователь
Система UNIX предполагает возможность коллективной работы пользователей. В системе имеются следующие средства связи пользователей между собой:
команда write для непосредственной посылки сообщения другому пользователю;
средство mail, реализующее электронную почту.
Команда write посылает сообщение указанному пользователю в момент исполнения этой команды.
Пример: $ write name
Здравствуйте!
^D
$
Сообщение заканчивается вводом знака конца файла ctrl+D.
Если необходимо вести диалог, можно не вводить знак конца файла до конца диалога.
Чтобы узнать, работает ли абонент в системе в данный момент, используется команду who.
Текст сообщения можно взять из файла, перенаправляя стандартный ввод для write из этого файла, Например, $ write peter < message – сообщение из файла message.
Закрыться от посылаемых сообщений можно командой mesg, Например, $ mesg n, где n – от no (нет).
Для возможности получать сообщения, нужно подать команду $ mesg y, где y – от yes (да).
Электронная почта (mail) – это средство, позволяющее пользователям посылать друг другу сообщения, которые складываются в почтовые ящики, реализованные внутри системы. Для получения почты вводится команда mail без параметров:
Например, $ mail
Завтра в 9:00 сдаем экзамен.
?
Подсказка (?) означает, что система mail ждет указания о том, что делать с почтой: печатать, сохранить, уничтожить или выйти из команды mail.
Введя знак вопроса, получаем меню возможных действий:
q (quit) – закончить;
x (exit without changing mail) – выйти без изменения почты;
p (print) – печатать;
s <file> (save) – сохранить в файле;
w <file> (same without header) – то же без заголовка;
d (delete) – уничтожить;
+ next (no delete) – следующее (не уничтожать);
m user (mail to user) – переправить другому пользователю;
!cmd (execute cmd) – выполнить команду.
Для посылки почты вводится команда mail с параметром – именем пользователя и вводится текст письма, заканчивая его знаком конца файла (ctrl+D).
Например: $ mail peter
Здравствуйте.
^D
$
6.4. Средства разработки программ
ОС UNIX обеспечивает некоторый набор средств для разработки программ, включающий компиляторы, линкер, символьный отладчик, средства ведения программных проектов и разработки языковых процессоров, архивные средства и другие.
В системе UNIX имеются компиляторы с языков C, ПАСКАЛЬ и другие. Команды вызова компилятора имеют вид cc, pc и т.п.
Результатом работы компилятора является файл исполняемого кода, имеющий по умолчанию имя a.out.
На практике программы создаются из множества раздельно транслируемых модулей, каждый из которых занимает отдельный файл. Затем все объектные файлы объединяются в единую программу, помещаемую в файл исполняемого кода, посредством линкера. Линкер может вызываться как независимой командой ld, так и автоматически при выполнении команд вызова компилятора cc, pc и т.д.
На вход линкера могут подаваться не только файлы объектного кода, но и библиотечные файлы, которые оказываются очень удобным средством хранения объектных модулей, если их становится очень много.
Имя библиотечного файла обычно оканчивается на .a. Имеется команда ar (архив) для создания, пополнения и просмотра библиотечных файлов.
Пример создания библиотеки из трех объектных файлов:
$ ar rcv exam.a test.o check.o prove.o
a – test.o
a – check.o
a – prove.o
$
Здесь ключи команды ar означают:
r – заменить (replace) модули в библиотеке;
c – создать (create) библиотеку;
v – печатать включаемые модули (verbose).
Как правило, имеется единый символьный отладчик для программ на нескольких языках программирования, компиляторы которых вырабатывают объектный код и таблицы символов в едином формате. Символьный отладчик обычно имеет альтернативные имена для разных языков, например, cdb, pdb для языков C, PASCAL соответственно. Вызов отладчика производится одноименной командой, в которой указывается файл кода отлаживаемой программы, по умолчанию a.out. Для генерации и сохранения отладочной информации (таблиц символов и т.п.) компиляция программы должна производиться с ключом -g.
Пример: $ рc -g test.р check.р prove.р
$ рdb
>
Знак > – подсказка отладчика, приглашающая вводить команды отладчика. Команды отладчика позволяют:
посмотреть текущие значения переменных выполняемого оператора, строки исходного текста, процедуры, файла в указанном формате;
устанавливать и сбрасывать точки прерывания для пошагового выполнения отлаживаемой программы между точками прерывания и/или с постоянным шагом;
задавать утверждения, проверяемые перед выполнением каждого оператора для останова перед теми операторами, для которых утверждение истинно;
копировать все сигналы, связанные с отлаживаемой программой.
