- •1, Этапы развития спо.
- •3. Назначение и функции ос.
- •4. Классификация ос.
- •5. Понятие вычислительного процесса, состояние процесса, типовые операции над процессами.
- •6. Методы реализации многозадачного режима. Многопотоковость.
- •8. Физические и виртуальные ресурсы. Задачи распределения ресурсов.
- •9. Дисциплины распределения ресурсов. Примеры функционирования систем планирования и диспетчеризации.
- •10. Взаимодействие процессов. Синхронизация процессов на уровне примитивов семафора и сигнала. Тупики.
- •11. Сравнение реализации взаимодействующих процессов и многопотокового приложения.
- •12. Средства взаимод-вия процессов в Unix.
- •13.Организация памяти вычислительной системы. Задачи управления оперативной
- •14.Методы статического распределения памяти, динамическое управление памятью.
- •15.Принципы организации виртуальной памяти.
- •16.Страничная и сегментная организация виртуальной памяти. Схемы преобразования адресов.
- •17.Сегментный уровень виртуальной памяти в процессорах Intel x86.
- •18.Сpедства защиты памяти в процессорах Intel x86.
- •19.Механизм шлюзов. Передача управления через Call Gate и Task Gate.
- •20.Прерывания в защищенном режиме работы процессора. Interrupt Gate и Trap Gate.
- •21.Модели сегментации памяти в 32-pазpядных пpоцессоpах. Страничный уровень виртуальной памяти.
- •33.Процесс форматирования. Доступ к диску на физическом уровне.
- •34.Логическая структура диска в ms-dos.
- •35.Файловая система ms-dos. Командные и программные средства управления файлами.
- •36.Сравнительная характеристика файловой системы dos fat и высокопроизводительных файловых систем ntfs, hpfs.
- •37.Система прерываний в реальном режиме процессора. Управление прерываниями в ms-dos.
- •38.Управление программами в ms-dos. Схема создания резидентных программ.
- •39.Системный программный интерфейс bios. Системная область данных bios.
- •40.Системный программный интерфейс dos.
5. Понятие вычислительного процесса, состояние процесса, типовые операции над процессами.
Процессор-любое устр-во, способное автом-ки вып-ть допустимые для него действия по прогр-ме, хранящейся в памяти и непоср-но доступной такому активному устр-ву. Для каждой пр-мы, исп-щей процессор вводится понятие процесс, у к-рого есть 2 момента: во-1ых, процесс является носителем данных, а во-2ых, выполняет операции. Вычислит. процесс- развивается во времени в нек-рой аппаратно-программной среде, состоящей из набора ресурсов. К ресурсам относятся функциональные возможности устр-в, программ и набора данных. Если внутри ОС присутствуют неск. процессов, то м/д ними возникает конкуренция за обладание тем или иным ресурсом, в первую очередь за время ЦП. Сущ-ют след. режимы работы: 1) Однозадачный-в этом режиме вычисления носят последов-ный характер, ресурсы не разделяются, а полностью предоставлены одному процессу. 2) Фоново-оперативный. Процессы делятся на 2 типа. 1 тип-оперативные процессы или процессы переднего плана (foreground). 2 тип- фоновые процессы (background). 3) многозадачный режим.
Состояния процесса. При выполнении различают след. состояния процессов:
1. Порождение. Здесь подготавливаются условия для 1-ого выполнения на процессоре. Когда в систему поступает задание, она создает процесс, к-рый устанавливается в очередь готовых процессов. Когда процесс оказ-ся 1-ым в очереди ему выделяется квант времени ЦП. при этом говорят, что произошел запуск процесса.
2.Состояние выполнение (или активное). Когда процессу выделен квант времени ЦП.
3. Готовность- когда процесс не исполняется, но для вып-ния предоставлены все ресурсы, кроме ЦП.
4. Блокировка (или сост-е ожидания). Процесс не вып-ся по причине занятости нек-рого ресурса. Процесс ожидает наступление события.
5. Окончание- нормальное или аварийное завершение процесса.
Изобразим развитие процесса в виде графа конечного автомата:

Если активному процессу нужен ресурс, к-рый оказ-ся занятым, то процесс сам себя блокирует и ожидает наступление события по освобождению нужного ресурса. в схеме т. один переход от активного к блокирован вып-ся по причинам самого процесса. все остальные переходы происх. по внеш. сигналам. Один процесс м. быть приостановлен другим процессом исп-ся в ОС для исключения процессов в момент пиковой нагрузки. При приостановке ресурсы освобождаются частично. Возобновление- действие подготовки к повторному запуску в точке приостановки.
6. Методы реализации многозадачного режима. Многопотоковость.
Если внутри ОС присутствуют неск. процессов, то м/д ними возникает конкуренция за обладание тем или иным ресурсом, в первую очередь за время ЦП. Сущ-ют след. режимы работы: 1) Однозадачный-в этом режиме вычисления носят последов-ный характер, ресурсы не разделяются, а полностью предоставлены одному процессу. 2) Фоново-оперативный. Процессы делятся на 2 типа. 1 тип-оперативные процессы или процессы переднего плана (foreground). 2 тип- фоновые процессы (background). 3) многозадачный режим. При реализации многозадачного режима исп-ся 2 метода:
1. Переключение по событию.

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

Переключение процессов происходит под действием внеш. сигнала, поступающего через опред-ный квант времени Т. Обычно этот сигнал- аппаратное прер-е от таймера.
Планировщик, получив упр-ние по прер-нию прекращает работу активного процесса и сохраняет всю инф-цию, необходимую для его продолжения (контекст процесса). Потом планировщик анализирует очереди задач и по определен. правилам выбирает след. активный процесс. Переключение процессов- передиспетчеризация. Объединение этих 2-ых механизмов можно выполнить, если считать событием в системе след. ситуации: 1) прерывание от таймера по истечению кванта времени. 2) активный процесс запрашивает операцию вв/выв. 3) активный процесс освобождает ресурс, к-рый ожидался более приоритетной задачей. 4) аппаратное прер-е сигнализирует об освобождении устр-ва вв/выв.
Многопотоковость.(thread-поток). ОС выполняет защиту процессов др. от друга, разделяет их, но м. предоставлять сец. ср-ва взаимодействия. Другой прием распараллеливания состоит в организации потоков в рамках одного процесса, т.е потоки м. быть организованы для совместного взаимод-вия, а не для конкурирования. Разделение времени проц-ра идет по потокам и тогда поток- минимальная вычислит. задача для диспетчеризации. Потоки вып-ся в общем контексте, поэт. они имеют общее адресное простр-во, общие глобальные переменные, общие открытые файлы. Но потоки имеют различные: программный счетчик, стек, локальные переменные, рег-ры, текущее состояние . 1) Многопотоковая обработка повышает эффективность работы системы за счет распараллеливания. 2) Некоторые прикладные задачи легче программировать, используя потоки. 3) Реальное распараллеливание в многопроцессорных системах повышает эффективность многопотоковых программ.
Hyper-Threading- Гиперпотоковые технологии разраб-ся компанией Intel для повышения производ-ти серверных систем.
Simul tameous multi threading technology- мн-во потоков вып-ся одновременно на одном проц-ре. Работа неск. потоков достигается за счет дублирования архитектурных состояний проц-ра при совместном исп-нии единого набора ресурсов. Под ресурсом понимаются функциональные модули проц-ра. Логический проц-р- архитектурное состояние, к-рое м. быть заполнено. Это реализовано в семействе проц-ров Intel Xeon, где аппаратно заложена поддержка технологии Hyper-Threading. В проц-ре имеются диспетчеры, к-рые формируют логические проц-ры как архитектурные состояния ресурсов одного процессорного ядра, поэт. добавляются схемы дублирования рег-ров и расширенный контроллер управ-ния прер-ем (APIC), к-рый назначает прер-я для обработки разными процессами в многопроцессорной системе.
7. Управление процессами в Unix.
Unix, как сис-ма разделения времени включает диспетчер, выполняющий переключение процессов. Вся инф-ция о процессах сосредоточена в
а) дескриптор процесса-содержит идентифиц. данные. Мн-во дескрипторов обрабатывает таблицу процессов в сис-ме.
б) контекст-совокуп-ть описат. инф-ции, харак-щей
текущ. сост-е виртуальной машины проц-ра. В контекст входят: идентификац. номера пользователя, указ-ли на адресное простр-во, содержимое стеков, содержимое рег-ров проц-ра, глобальные переменные, ссылки на системную таблицу файлов, список реакций на сигналы, привилегии доступа, др. используемые ресурсы.
Иерархия процессов в Unix. Все процессы организованы в связанную иерархическ. стр-ру.
В
корне дерева находится процесс INIT,
имеющий идент-тор PID=1.
Порождение любого процесса осущ-ся с
помощью системного вызова форм: fork(
)
В сист. каждый процесс имеет след. идент-ры: 1. PID-идент-тор процесса 2. PPID-идент-тор отца (осущ-ет связь м/д отцом и сыном) Пользовательские процессы объединены в группы: 3. GID- иден-тор группы. У группы м.быть лидер терминальной группы. 4. TGID- иден-тор терминальной группы. 5. UID- иден-тор пользователя(user), UID=0-«супер пользователь» (root-имя).
Взаимод-вие процессов в Unix. Процесс-родитель порождает другой процесс системным вызовом fork, при этом сын наследует все св-ва отца, как корни процесса. Затем происх-дит вызов кода процесса сына из файла с помощью вызова exec. Прим:
main(){
int status
if (fork()==0)-вызов сист. вызова
exec l (“/bin/ primer”,0);
w
ait
(& status);}
primer-файл, bin-каталог. После порождения сына, отец ожидает завершение его, исп-зуя системный вызов wait. exit()-завершение процесса этим системным вызовом. Загружающий процесс состоит из 3-х частей. 1) код(текст) 2) данные (их области связаны с сегментами прог-мы [сегм. кода, сегм. неиц данных) 3) стек (эта обл-ть созд-ся динамич.ядром системы).
П
роцессы
выпол-ся в 2-х режимах: 1. режим ядра
(супервизора)-привилегиров. 2. режим
задачи (пользовательский)-непривилегиров.
Для каждого строится свой стек, тюею
стек задачи содержит параметры вызова
ф-ций, выпол-ных в режиме задачи. Если
происходит вызов системной ф-ции, то
вып-ся переключение в режим ядра и
задействуется стек ядра. ВUnix
исп-ся страничная вирт. память-память
выделенная процессу, описана в табл.
обл-тей. Табл. имеет двухуровневую стр-ру
(см. рис.)
П
ромежуточный
уровень позволяет независ. процессам
использ. разделяемые обл-ти памяти.
Записи в табл. обл-тей описывают св-ва
памяти. Св-ва: код или данные, раздел.
или неразделенная обл-ть, имеются указ-ли
физической памяти и др. инф-ция. “Проблема
отцов и детей” при завершении процессов:
1) нормальное завершение-процесс-отец
поwait
ожидает завершение сына, а сын завершает
свое вып-ние ф-цией exit.
2) ненормальное завешение- сын вызывает
exit,
когда отец не нах-ся в состоянии wait.
Запись процесса сына в табл. процессов
сохран-ся, хотя сам процесс уже удален
из системы (завершен). Такой процесс
назыв-ся зомби. 3) преждевременный выход-
ситуация, когда отец завершается раньше
своих сыновей, возникают процессы-сироты
(они не входят в дерево). обычно они
перенаправляются процессу init
(в корень). Процессы делятся на: а)
пользовательские б) системные (в режиме
суперпользователя) в) процессы-демоны-
резидентные процессы, вып-щие специфическ.
действия администрирования и упр-ния.
Порожденный процесс наследует атрибуты (св-ва) предка: 1. идент-ры пользователя и группы. Эти идент-ры берутся командой-интерпретатором shell при регистрации пользователя из спец. файла опис-я пользователей, к-рый находится в каталоге letc/ passwol.
И
дент-тор
исп-ся для контроля доступа к ресурсам
для проверки привилегий, учета ресурсов
и т.д. 2. текущий каталог-тот каталог,
куда идет запись “по умолчанию”.
3.открытые файлы.
все процессы, имеющие доступ к унаследов. файлу, разделяют единствен. указ-ль чтение/запись. Если один процесс закрывает доступ к файлу, для др. процессов файл остается открытым.
