Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSISP_shpory.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

2. Взаимодействие процессов. Задача взаимного исключения. Вариант 2 (2, 6, 15, 27) – 143

int flag[2];

void P0()

{

while (1)

{

while (flag[1]);

flag[0]=1;

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

flag[0]=0;

.

}

}

void P1()

{

while (1)

{

while (flag[0]);

flag[1]=1;

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

flag[1]=0;

.

}

}

void main()

{

flag[0]=0;

flag[1]=0;

parbegin(P0,P1);

}

3. Особенности современных операционных систем (2, 28) – 122

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

ОС – это программа, которая контролирует работу прикладных программ и системных приложений и выполняет роль интерфейса между приложениями и аппаратным обеспечением ЭВМ.

ОС предоставляют следующий перечень услуг:

  1. Разработка программ.

  2. Исполнение программ.

  3. Доступ к устройствам ввода-вывода.

  4. Контролируемый доступ к файлам.

  5. Системный доступ.

  6. Обнаружение ошибок и их обработка.

  7. Учет использования ресурсов.

ОС управляет ресурсами компьютера, контролирует его основные функции, но при этом есть важная особенность: ОС – это набор компьютерных программ. Как и любая другая программа, она состоит из команд, выполняемых процессором, при этом работа ОС перемежается (чередуется) с работой других прикладных программ.

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

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

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

Характеристики современных ос

В экспериментальных коммерческих ОС были опробованы различные подходы и структурные элементы, большинство из которых можно объединить в следующие категории:

– архитектура микроядра; – многопоточность;– симметричная многопроцессорность; – распределенные ОС; – объектно-ориентированный дизайн.

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

Поток – это единица работы, включающая контекст процессора (куда входит счетчик команд и указатель на вершину стека), а также свою собственную область стека. Команды потока выполняется последовательно, и поток может быть прерван при переключении процессора на обработку другого потока. У потоков как правило общее адресное пространство, в отличии от процессов. Потоки иногда называют облегченными процессами.

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

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

Симметричная многопроцессорность определяется следующими характеристиками:

  1. В системе имеется несколько процессоров;

  2. Процессоры соединены меду собой коммуникационной шиной и совместно используют одну и ту же основную память и одни и те же устройства ввода-вывода;

  3. Все процессоры могут выполнять одни и те же функции.

Считается, сто многопроцессорные системы имеют несколько потенциальных преимуществ по сравнению с однопроцессорными:

- производительность; - надежность; - наращивание; - масштабирование.

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

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

БИЛЕТ 3 1. Файлы и файловая система в ОС UNIX. Права доступа (3, 14) – 18

Файл – это самая простая и фундаментальная абстракция в операционных системах Unix, в которых как бы придерживаются такого предположения, что всё есть файл. Это значит, что большая часть взаимодействий реализована через запись и чтение в файл. Даже в тех случаях, когда интересующий нас объект нельзя назвать файлом в общепринятом смысле этого слова.

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

Файлы обеспечивают доступ к периферийным устройствам. Все программы, которые выполняются в системе, включая прикладные задачи пользователя, системные процессы, ядро системы являются исполнительными файлами.

Файлы в Unix системах организуются в древовидной структуре называемой Файловой системой. Говорят что файловая система это набор файлов и каталогов в формальном виде и допустимой иерархии. Каждый файл имеет имя, определяющее его расположение в файловой системе.

Корнем этого дерева является корневой каталог. Его имя ‘ / ’

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

Пример:

/home/stud/prog1.c

Имя, начинающееся с / называют полным именем файла. Можно указать относительное имя файла тогда поиск будет начат от текущего каталога.

Важно, что имя файла является атрибутом файловой системы, а не набора данных, на каком- то носителе. Каждый файл имеет метаданные для связи с ним.

Метаданные – набор данных определяющих характер файла.

Они хранятся в индексных дескрипторах, и имя файла в файловой системе является указателем на индексный дескриптор inode.

Все файлы в Unix имеют двух владельцев (пользователь и группа пользователей). Пользователь владеющий файлом может не принадлежать к группе владеющей файлом.

>ls -l

Выводит полную информации о каталоге.

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

В ОС Unix существует три базовых класса доступа к файлу:

- пользователь, владеющий файлом;

- пользователь, относящийся к группе владеющей файлом;

- остальные (остальные кроме root).

И для каждого класса устанавливаются 3 типа прав доступа:

- чтение; - запись; - выполнение.

Пример:

- rwx r-x rw- Владелец группа остальные

Пример:

>chmod a+w text1.t

>chmod g+x-w file1.c; prog2.c

>chmod u+w,og+r-w prog1.c

>chmod 755 file3.t

где d - каталог

Для просмотра содержимого необходимо w. Для изменения - r. Для выполнения - x.

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

Порядок действия ОС при проверке прав доступа. При инициализации действий над файлом выполняется проверка прав доступа:

Если это root действие разрешается и дополнительной проверки не производится.

Если действие запрашивается владельцем файла, то проверяется наличие права на запрашиваемое действие.

Если действие запрашивается пользователем, входящим в группу владеющую файлом, то проверяется наличие права на запрашиваемое действие.

Если действие запрашивается другим пользователем, то проверяется наличие права на запрашиваемое действие.

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