Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мои шпоры ОСиСП(1).doc
Скачиваний:
32
Добавлен:
26.09.2019
Размер:
1.63 Mб
Скачать

Int chmod(const char *path, mode_t mode);

Int fcmod(int fd, mode_t mode);

Оба вызова chmod() и fchmod() устанавливают для файла разрешения, указан­ные при помощи параметра mode. В вызове chmod() параметр path содержит отно­сительный или абсолютный путь к модифицируемому файлу. Для вызова fсhmod() файл указывается при помощи дескриптора fd. Чтобы иметь возможность изменить разрешения файла, действительный идентификатор процесса, вызывающего chmod() или fchmod(), должен совпадать с идентификатором владельца файла или же процесс должен обладать характе­ристикой CAP_FОWNER. В случае успеха оба вызова возвращают значение 0. В случае ошибки оба воз­вращают -1 и присваивают переменной errno один из кодов ошибки.

2. Задача взаимного исключения. Алгоритм Петерсона (14, 25) – 148

int flag[2], turn;

void P0()

{

while (1)

{

flag[0]=1; turn=1;

while (flag[1] && (turn==1));

критический интервал 1;

flag[0]=0;

.

}

}

void P1()

{

while (1)

{

flag[1]=1; turn=0;

while (flag[0] && (turn==0));

критический интервал 2;

flag[1]=0;

.

}

}

void main()

{

flag[0]=0;

flag[1]=0;

parbegin(P0,P1);

}

3.Распределение памяти. Система двойников.

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

Известно несколько способов распределения памяти:

  1. фиксированное распределение. ОП разделяется на ряд статических разделов во время генерации системы. Процесс может быть загружен в раздел равного или большего размера. Положительная сторона- простота реализации и малые системные затраты. Отрицательная сторона – неэффективное использование памяти из-за внутренней фрагментации и фиксированного максимального количества процессов.

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

  3. Простая страничная организация. ОП разделена на ряд кадров равного размера. Каждый процесс распределен на некоторое количество страниц равного размера, такой же длины, что и кадры памяти. Процесс загружается путем загрузки всех его страниц. Достоинство- отсутствие внешней фрагментации. Недостаток – небольшая внутренняя фрагментация.

  4. Простая сегментация. Каждый процесс распределен на ряд сегментов. Процесс загружается путем загрузки всех своих сегментов в динамические, не обязательно смежные, разделы. Достоинство- отсутствие внутренней фрагментации. Недостаток – проблемы с внешней фрагментацией.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]