- •Лекция №1
- •История операционных систем.
- •Управление памятью.
- •Однозадачные системы.
- •Лекция №2
- •Способы учета участков памяти.
- •2 Алгоритм (наиболее подходящий).
- •3 Алгоритм (наименее подходящий).
- •4 Алгоритм (алгоритм двоичного разбиения).
- •Лекция №4
- •Принципы
- •Лекция №5
- •Лекция №6 Управление процессами.
- •Алгоритмы планирования системы.
- •Лекция №7
- •Два подхода к планированию.
- •Синхронизация.
- •Лекция №8
- •Тупики.
- •Способы взаимодействия между процессами.
- •Лекция №9 Управление процессами в среде Window’s.
- •Лекция №10
- •Волокна
- •Лекция №11 Синхронизация процессов.
- •Ссобытия
- •Способы взаимодействия процессов.
- •Серверная сторона
- •Второй семестр Управление процессами в среде unix Лекция №1
- •Лекция №2
- •Сигналы.
- •Способ взаимодействия общая память.
- •Лекция №3
- •Семафоры.
- •Лекция №4 Файлы как средства сообщения.
- •Файловыe системы.
- •Примеры файловых систем
- •Лекция № 6
- •Система ext 2
- •Лекция № 7
- •Лекция № 8 Функции работы с файлами в unix.
- •Лекция № 9 Java — скрипт.
- •Лекция № 10
- •Лекция № 11
Лекция № 6
NTFS поддерживает сжатие данных. Режет файл по 16 байт и каждый из них сжимает отдельно не зависимо от других.
(121, 11)
(-1, 5) — в список кластеров пишется 5 блоков
(начало, длина сжатой части)
(-1, остаток сжатой части)
(начало, 16) — значит пишется в распакованном виде, это происходит, если сжатые данные по прежнему весят 16 б.
Возможная ситуация: (нач., 55)
(-1, 9) → 16-9 = 7 → 55 — 7= 48
В последних версиях NTFS поддерживается прозрачное шифрование. Фоново, не заметно для пользователя происходит шифровка и дешифровка данных.
Алгоритмы шифрования основаны на алгоритмах открытых ключей:
доступ к файлу могут иметь несколько человек восстановить шифрованный файл могут специальные агенты восстановления данных, причем агент восстановления данных может восстановить данные только в том случае, если он был агентом в момент шифрования.
NTFS поддерживает точки повторной обработки: Reparsepoint
Специальный атрибут (в смысле NTFS), который ссылается на специального вида обработчик
Система ext 2
В Super Block содержится первое слово — это некоторое число, означающее, что это Super Block, т.е. это признак суперблока.
Дальше идет номер версии системы.
Дальше два числа, означающие количество монтирований и максимально допустимое количество монтирований.
Используется в следующей ситуации:
когда количество равно максимально допустимому запускается проверка целостности файловой системы и счетчик монтирований зануляется
Дальше — размер блока в байтах (сколько блоков внутри группы, сколько свободных Inode и номер первого Inode в системе, который соответствует корневому каталогу).
Group Desk:
количество блоков, отведено под Bitmap
количество блоков, занимаемых Inode Bitmap
с какого блока начинается таблица Inode
...
Bitmap — бит-я карты, показывающая какие блоки заняты, а какие нет.
Inode Bitmap — бит-я катра того, какие Inode в Inode Table заняты файлами, а какие нет.
Inode Table — состоит из Inode (структура)
1 Indoe
Режим работы, в том числе и права доступа (первые 9 бит)
Идентификатор пользователя (владельца файла)
Размер файла
Группа полей, определяющая различный события
data — time
13 полей местоположения
В Inode нет имени.
Каталог:
что за файл — номер inode
длина конкретно этой записи в каталоге в файле
длина имени файла
Лекция № 7
CreatFile
Помимо файлов открывает доступ к любому объекту, принадлежащему к дереву имен операционной системы.
Правильное имя файла:
\\.\А: - файл откроется на текущей машине и будет блочным, посекторный доступ файловой системой игнорируется.
\\.\С: - посекторный доступ (права администратора) — доступ к логическому диску С
\\.PHYSICALDRIVE 0
С сылку добавляет операционная система и получает дерево подпространства имен. И ссылается на
\\.\physicdrive 0\partion 2\temp\a.c
B NTFS все имена хранятся в UNICOE
Максимальная длина имени файла — 256с.
Максимальное количество вложений — не ограничено
Максимальная длина всего пути — 64 килоштук.
Struct OVERLAPPED
{
ULONG_PTR Internal; // зарезервирован
ULONG_PTR InternalHigh; // зарезервирован
DWORD Offset; // смещение
DWORD OffsetHigh;
HANDLE hEvent;
}
Копирование файла:
BOOL CopyFile (
LPCTSTR ExistingFileName,
LPCTSTR NewFileName,
BOOL FileIfExist) // флаг, разрешающий или запрещающий перезапись (если false — значит можно)
Переименование файла
BOOL MoveFileEx(
LPCTSTR SrcFileName,
LPCTSTR DestFileName,
DWORD Flags)
Флаги:
MOVEFILE_COPY_ALLOWED — разрешено копирование
MOVEFILE_CREATE_HARDLINK — существует жесткая ссылка
MOVEFILE_DELAY_UNTIL_REROOT — отложить переименование до перезагрузки
MOVEFILE_REPLACE_EXISTING — разрешить перезапись существующего файла
MOVEFILE_WRITE_THROUGH
Удаление файла
BOOL DeleteFile (LCPTSTR FileName)
Поиск первого файла, соответствующего маске
HANDLE FindFirstFile (
LPCTSTR FileName,
LPWIN32_FIND_DATA FileData)
(возвращается дескриптор, который надо освободить)
Поиск всего подряд, соответствующее имени
BOOL FindNextFile (
HANDLE h,
LPWIN32_FIND_DATA FileData)
(Результат: нашли, не нашли)
BOOL FindClose (HANDLE)
Определяет: является ли файл исполняемым, если да, то определяет тип исполняемого файла
BOOL GetBinarytype(
LPCTSTR AppName,
LPDWORD BinType)
Типы:
SCS_WIN32_BINARY
SCS_WIN64_BINARY
SCS_DOS_BINARY
SCS_OS216_BINARY
SCS_PIF_BINARY — устаревший вариант ярлыка на старую DOS программу
SCS_POSIX_BINARY — исполняемый файл, требующий POSIX
SCS_WOW_BINARY — 16 битные приложения от Windows 3.1
BOOL CreateDirectory (
LPCTSTR DirName, // имя каталога
LPSCURITY_ATTRIBUTES Attr) // атрибуты безопасности