
- •Основные понятия и определения.
- •Эволюция ос.
- •2.Архитектура ос.
- •3.Микроядерная архитектура эвм.
- •Основные концепции управления ос.
- •4. Процессор. Управление процессами.
- •5.Описатели процесса.
- •6. Классификация ос по признаку поддержки процессов и потоков.
- •6 Марта 2012 г.
- •7. Управление задачами.
- •16 Марта 2012 г.
- •8. Асинхронные параллельные процессы.
- •9.Семафоры.
- •Мониторы.
- •10. Тупики.
- •Управление памятью.
- •11.Физическая память.
- •12.Связное и несвязное распределение памяти.
- •13.Виртуальная память.
- •14. Преобразование адреса виртуальной памяти в реальный адрес осуществляется по схеме:
- •15.Управление виртуальной памятью, стратегии управления.
- •16. Кэширование данных.
- •Принцип действия кэш–памяти.
- •17.Способы отображения оп на кэш-память.
- •18. Ввод/вывод. Управление файлами и файловой системой.
- •19.Логическая организация фс.
- •Логическая организация файлов.
- •20. Физическая организация фс.
- •Права доступа к файлу.
- •Часть 2. Unix
- •Имена файлов.
- •Индексный дескриптор файла и жесткие ссылки.
- •2. Типы файлов.
- •Создание и монтирование фс.
- •Структура фс ext2fs.
- •3.Структура дискового раздела.
- •Индексные дескрипторы файлы и системы адресации файлов.
- •4.Структура системы и ядро классической Unix.
- •5.Управление процессами.
- •История.
- •Часть 3.
- •1.Структура ос Windows.
- •2.Подсистема win32.
- •3.Объекты, менеджер объектов.
- •Объекты ядра.
- •Структура объектов.
- •Описатели объектов.
- •Именование объектов.
- •Совместное использование объектов.
- •Реестр.
- •Поиск файлов по имени.
- •Точки повторного анализа.
- •5.Совместный доступ к файлу.
- •Производительность фс.
- •Надежность фс.
- •Поддержка нескольких фс.
Имена файлов.
В ОС Linux имя файла начинается символом слеша. Длина имени может достигать 255 символов и состоит из букв, цифр, пробела. При выполнении операции имя, содержащее пробел, нужно заключать в кавычки. Например, /home/petr/howto.html, mkdir “My old files”. Различаются символы верхнего и нижнего регистров в именах файлов. Если точка является первым символом имени, то данный файл считается скрытым для некоторых команд.
Индексный дескриптор файла и жесткие ссылки.
Каждому файлу соответствует индексный дескриптор или inode, содержит в себе всю информацию о файле, включает информацию о расположении частей файла на носителе, о типе файла и другое. Индексные дескрипторы содержатся в таблице inode table, которая формируется при создании ФС на диске, каждый логический и физический диск имеет несколько таблиц индексных дескрипторов. Дескрипторы пронумерованы последовательно, и именно номер дескриптора является истинным именем файла (индекс файла). Таким образом, имя файла в Linux является ссылкой на индексный дескриптор, поэтому каждый файл может иметь сколько угодно разных имен, эти имена называют жесткими ссылками. После создания отличить их невозможно. Когда удаляется файл, имеющий несколько разных имен жестких ссылок, то фактически удаляется только одна ссылка, указанная в команде удаления. Файл сохраняется до тех пор, пока имеется хотя бы одно имя ссылки. Для того чтобы дать имя, необходимо выполнить команду ln имя_существующего_файла новое_имя.
Например, ln /home/petr/HOWTO/howto.html ~/howto.html.
ls –l – выводит информацию о файлах, содержащихся в каталоге.
ls –l /home/petr/HOWTO
rw–r––r– – 3 student users 123 May 11 9:50 howto.html.
Права доступа.
Права доступа к файлу, которые имеют владелец и остальные пользователи, определяют 9 битов. Если стоит знак –, то это означает отсутствие такого права. Первые 3 бита – для владельца, следующие – для группы, к которой принадлежит владелец, последние 3 бита – остальные пользователи. Если в начале стоит символ d, то файл является каталогом. Для того чтобы изменить права доступа, используют команду chmod. Для права чтения – 4, для записи – 2, для выполнения –1.
Например, chmod 777 – открывают полные права доступа для всех.
chmod 755 – rwx r–x r–x – такая комбинация устанавливается для нового каталога.
chmod 644 – rw– r–– r–– – для вновь созданного файла по умолчанию устанавливается такая комбинация.
chmod –R – права доступа изменяются рекурсивно.
2. Типы файлов.
Обычный – представляет собой наиболее общий тип файлов, содержащий данные различных форматов (текст, бинарный и т.д.). Для ОС такие файлы представляют собой просто последовательность байтов, а интерпретация выполняется прикладной программой.
Каталог – файл, содержащий имена находящихся в нем файлов. По существу это просто таблица, которая имеет такую структуру:
Inode
Имя файла
123
. – ссылка на данный каталог
138
.. – ссылка на родительский каталог
1567
Report
2468
File1.txt
2468
File2.txt
И т.д.
Специализированный файл устройства – обеспечивает доступ к физическому устройству. Специальные файлы не хранят данные, они обеспечивают механизм отображения физических внешних устройств в именах файлов ФС. Каждому устройству соответствует по крайней мере один специальный файл. Различают 2 типа – символьный и блочный. Символьные файлы используются для не буферизированного обмена данными с устройствами. Блочные файлы позволяют производить обмен данными в виде блоков (пакетов фиксированной длины) – общение с жесткими дисками. Кроме того, к некоторым устройствам возможен доступ как через символьными, так и через блочные файлы. Эти файлы содержатся в каталоге dev. Например, /dev/console – системная консоль, /dev/hd – жесткие диски, /dev/hd a2, /dev/sd b3 – контроллеры CD-дисков, /dev/fd – гибкие диски, /dev/tty – виртуальные консоли, /dev/pty – псевдо-терминалы, /dev/ttS – COM-порты, /dev/null – не обозначает физическое устройство, но на него можно перенаправить вывод, файлы теряются навсегда.
Именованный канал – файл используется для связи между процессами. Все, что один процесс отправил в канал, другой может это прочитать.
Socket – доменные гнезда – это соединения между процессами, которое позволяет им взаимодействовать не подвергаясь воздействию других процессов. На их базе реализована система взаимодействия между процессами, с помощью которой работают многие системные сервисы.
Символическая ссылка или связь – тоже могут рассматриваться как дополнительное имя файла, но представляются отдельными файлами – файлами типов. В отличие от жестких, символические ссылки могут указывать на файлы расположенные в другой ФС. Если исходный файл удален, то символическая ссылка становится бесполезной. Для создания символических ссылок используется команда ln –s имя_файла имя_ссылки.