Translate

вторник, 9 апреля 2013 г.

Глава 2

Вопрос 10 Приведите пример условия гонок, которое возможно при покупке двумя пассажирами билета на один и тот же самолет.

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

Глава 2

Вопрос 9. Что такое условия гонок?

Гонки возникают когда несколько процессов или потоков одновременно обращаются к общим ресурсам и этот доступ не ограничен.

Глава 2

Вопрос 8. Если в системе используются программные потоки, выделяется ли каждому из них собственный стек или стеки имеются лишь у процессов? Поясните ответ.

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

понедельник, 8 апреля 2013 г.

Глава 2

Вопрос 7. В чем заключается фундаментальное различие между процессом и программным потоком?

Процессы - это механизм группировки ресурсов, а программные потоки - элементы, исполняемые центральным процессором по определенному плану.

Глава 2

Вопрос 6. В тексте утверждалось, что модель, представленная на рисунке 2.4, а, подходит для файлового сервера с кэшем в памяти. Почему? Может ли процесс иметь собственный кэш?

Глава 2

Вопрос 4. На всех существующих компьютерах как минимум часть обработчиков прерываний написана на ассемблере. Почему?

Дело в том, что для того, чтобы обработать прерывание нужно оперировать с регистрами, а это невозможно написать на языке высокого уровня.

среда, 3 апреля 2013 г.

Глава 2

Вопрос 5. Измените рис. 2.2, добавив в него два состояния процесса - "новый" и "завершенный". Процесс находится в состоянии "новый" после создания, а в состоянии "завершенный" - после  окончания своей работы.

Ниже приведен рисунок, на котором показано, как, предположительно, будет выглядеть такая ситуация. Новый процесс переходит в состояние готовности и ждет, когда планировщик выберет его для запуска. Завершиться процесс может либо во время действия (нормальное завершение, или завершение вследствие ошибки) а так же он может быть уничтожен другим процессом, будучи в состоянии блокировки или готовности.

Глава 2

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

Для переключения процессов процессору понадобится информация, хранимая в таблице процессов. В частности, ему нужно восстановить состояние процесса в точности в таком же виде, в котором он находился до переключения в состояние готовности (блокировки). Можно предложить следующие шаги (дальше подразумевается, что все операции совершают аппаратные средства):
  1. Из структуры, хранящей информацию о выполняемом в данный момент процессе копируется адрес, по которому находится запись  в таблице процессов о текущем процессе. Далее информация о выполняемом процессе (регистры, счетчики команд и стека, слово состояния программы) сохраняется в таблице процессов в ячейке с полученным ранее адресом.
  2. Теперь производятся обратные действия - компьютер запоминает адрес ячейки с новым запущенным процессом, затем копирует из нее данные в регистры процессора.
  3. Наконец управление передается процессу.


суббота, 30 марта 2013 г.

Глава 2

Вопрос 2. Каковы три основных состояния процесса? Кратко опишите смысл каждого из них.

Процесс может находится в одном из трех состояний:
  1. Выполнение (процесс в данный момент выполняется процессором).
  2. Готовность (процесс готов к выполнению, но прерван для того, чтобы дать процессорное время другому процессу, т.е. выполнение невозможно физически).
  3. Блокировка (Процесс не может выполняться в следствие того, что для него отсутствуют входные данные, т.е. выполнение невозможно логически).

Глава 2

Вопрос 1. Почему многозадачность является основным требованием для современных операционных систем?

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

Глава 1

Вопрос 28. Напишите оболочку, показанную в листинге 1.1, но достаточно работоспособную, чтобы ее можно было протестировать. Желательно так-же наделить ее некоторыми дополнительными функциями, включая перенаправление ввода-вывода, поддержку каналов, обработку фоновых заданий.

суббота, 16 марта 2013 г.

Глава 1

Вопрос 27. Напишите программу (или набор программ), чтобы протестировать все системные вызовы MINIX 3. Произведите каждый вызов с разными параметрами, в том числе и с некорректными, чтобы увидеть реакцию системы на ошибки.


Глава 1

Вопрос 26. Первые версии процессора Pentium не могли поддерживать монитор виртуальной машины. Какая основополагающая характеристика машины позволяет виртуализировать ее?


Глава 1

Вопрос 25. Модель клиент-сервер популярна в распределенных системах. Может ли она
использоваться в системах из одного компьютера?

Да, собственно, по такому принципу построена система Minix3.

Глава 1

Вопрос 23. Зачем в MINIX 3 все время работает фоновая программа update?

При загрузке операционной системы запускается фоновая программа, обычно под названием update, вся работа которой заключается в периодическом (обычно через каждые 30 с) обращении к системному вызову sync. В результате при любом сбое будет потеряно не более полминуты работы. 

Глава 1

Вопрос 24. Имеет ли смысл игнорировать сигнал sigalarm?

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

Глава 1

Вопрос 22. Мы рассматривали системный вызов mknod, но не рассматривали вызов rmnod. Означает ли это, что вы должны очень вдумчиво подходить к созданию узлов
подобным образом, поскольку нет способа их удаления?

Вызов mknod позволяет создавать специальные для устройств ввода-вывода. Этот вызов может сделать только суперпользователь.

среда, 13 февраля 2013 г.

Глава 1

Вопрос 21. Предположим, что компьютер исполняет 1 млрд инструкций в секунду, а системный вызов включает 1000 инструкций, считая прерывание и переключение контекста. Сколько системных вызовов в секунду способен обработать компьютер при условии, что половина ресурсов процессора тратится на исполнение кода приложений?

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

Глава 1

Вопрос 20. Рассмотрите список системных вызовов, приведенный в табл. 1.1. Какие, по вашему мнению, вызовы используются наиболее часто? Поясните ответ. 

Наиболее часто используемыми, на мой взгляд являют системный вызовы для работы с файлами (read, write, lseek), т.к. большинство пользоваетельских программ активно используют операции ввода-вывода, а так же вызов для выделения памяти (brk), т.к. многие программы активно используют динамическую память.

Глава 1

Вопрос 19. Почему системный вызов chroot разрешено выполнять только суперпользователю (подсказка: подумайте о безопасности)?

Начнем с того, что делает вызов chroot и как он может повлиять на работу системы. Системный вызов chroot(dirname) изменяет корневой каталог, смены рабочего каталога при этом не происходит. 

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

После данного вызова файлы и каталоги, невходящие в новое поддерево файловой системы станут недоступны [2].

Используемые источники:

  1. "Операционные системы. Разработка и реализация." Э. Таненбаум А. Вудхалл;
  2. http://citforum.ru/operating_systems/manpages/CHROOT.2.shtml

Глава 1 

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

Я не знаю каким образом создается новый процесс в Windows и для чистоты эксперимента не стал заходить на msdn. Я думаю, что если fork() просто копирует образ памяти родительского процесса, то в Windows, вероятно, заранее можно задать название программы, ее параметры а так же некоторую другую информацию, необходимую для запуска процесса в вызове WinAPI. 

Глава 1

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

Обработка команд через дисплей стереосистемы и камеры относится к операциям ввода-вывода, за которые отвечает операционная система.

среда, 6 февраля 2013 г.

Глава 1

Вопрос 16. Являются ли каналы необходимой функцией операционной системы? Какая основная функциональность утрачивается при отсутствии каналов?

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

Глава 1

Вопрос 15. Что случится, если в MINIX 3 пользователь 2 создаст ссылку на файл, которым владеет пользователь 1, затем пользователь 1 удалит файл, и, наконец, пользователь попытается прочитать файл?

В тот момент, когда пользователь 2 создаст ссылку на файл (скажем с именем файл1 и номером индексного узла* скажем индекс1), которым владеет пользователь 1, он  добавить новый элемент каталога, имя которого, возможно, будет являться новым (скажем файл2), а номер индексного узла будет равен номеру индексного узла файла пользователя 1 (индекс1), получив запись** (индекс1 файл2). Таким образом даже после удаления из своего каталога пользователем 1 файла с именем файл1 и номером индексного узла индекс1 в каталоге пользователя 2 останется запись (индекс1 файл2), ссылающаяся на данный файл и MINIX 3 не станет удалять его с диска.

*Каждый файл в UNIX имеет уникальный номер, который идентифицирует файл. Этот номер представляет собой индекс в таблице индексных узлов (index nodes), или i-узлов 
(i-nodes), содержащей по одному индексному узлу на файл. Каждый индексный узел включает в себя информацию о владельце файла, о том, какие блоки на диске он занимает и т. д. [1].

** Каталог представляет собой просто файл, содержащий набор пар из номера индексного узла и ASCII- имени[1].

Используемые источники:

  1. "Операционные системы. Разработка и реализация." Э. Таненбаум А. Вудхалл;
  

Глава 1

Вопрос 14. В чем заключается существенная разница между  блочным специальным файлом и символьным специальным файлом?

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

Устройства ввода-вывода, в свою очередь делятся на блочные (состоящие из набора произвольно адресуемых блоков, как, например, жесткий диск) и символьные (которые принимают или выдают поток символов, как, например, клавиатура, модем, принтер). 

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

Используемые источники:

  1. "Операционные системы. Разработка и реализация." Э. Таненбаум А. Вудхалл;

Глава 1

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

Давайте сначала разберемся с тем, что представляет собой таблица процессов.
Во многих операционных системах вся информация каждого процесса, дополняющая содержимое его собственного адресного пространства, хранится в таблице операционной системы. Эта таблица называется таблицей процессов и представляет собой массив (или связанный список) структур, по одной на каждый существующий в данный момент процесс. Таким образом, приостановленный процесс состоит из собственного адресного пространства, обычно называемого образом памяти (core image), и компонентов таблицы процесса, содержащей, помимо других величин, значения его регистров[1]. 

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

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

Используемые источники:

  1. "Операционные системы. Разработка и реализация." Э. Таненбаум А. Вудхалл;

Глава 1

Вопрос 12. Все версии UNIX поддерживают именование файлов с использованием двух путей - абсолютных (относительно корня) и относительных (относительно рабочего каталога). Можно ли отказаться от одного из типов, сохранив при этом лишь другой? Если да, какой из них следует сохранить?

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

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

Используемые источники:

  1. "Операционные системы. Разработка и реализация." Э. Таненбаум А. Вудхалл;

Глава 1

Вопрос 11. Как в свете того, что существование суперпользователя может привести к множеству проблем безопасности, объяснить сам факт существования концепции суперпользователя?

Для того чтобы ответить на этот вопрос, нужно сначала понять кто такой суперпользователь, и чем он отличается от обычных пользователей. В книге Таненбаума-Вудхалла об этом сказано немного. Каждому пользователю, которому разрешено работать с системой MINIX 3, систем- 
ный администратор присваивает идентификатор пользователя (User IDentification, UID). Укаждого работающего процесса есть идентификатор пользователя, запустившего процесс. Дочерний процесс получает тот же самый идентификатор пользователя, что и его родитель. Пользователи могут являться членами групп, каждой из которых присваивается идентификатор группы (Group IDentification, GID). Пользователь с особым идентификатором пользователя, называемый в UNIX суперпользователем (superuser), имеет особые полномочия и может игнорировать множество правил защиты. В больших системах только системный администра-тор знает пароль, необходимый для того, чтобы стать суперпользователем[1].

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

Используемые источники:

  1. "Операционные системы. Разработка и реализация." Э. Таненбаум А. Вудхалл;

вторник, 5 февраля 2013 г.

Глава 1

Вопрос 10. У файла в MINIX идентификатор владельца равен 12 и идентификатор группы равен 1. Файлу присвоены следующие разрешения: rwxr-x---. К этому файлу пытается обратиться другой пользователь, у которого идентификатор пользователя равен 6, а идентификатор группы - 1. Что произойдет?

Давайте сначала разберемся что означает запись rwxr-x---. Это последовательность образована rwx-битами (r - read, чтение; w - write, запись; x - eXecute, выполнение), определяющими права доступа для разных пользователей.С лева на право идут: три бита владельца, далее три бита группы, и наконец три бита всех остальных пользователей. Соответственно эта запись означает, что: владелец может читать, изменять и выполнять файл, члены группы с тем же идентификатором что и у владельца могут читать и выполнять файл, а все остальные не могут ничего. Отсюда получается, что т.к. пользователь состоит в той же группе, что и владелец, он может читать и выполнять, но не изменять файл.

Глава 1

Вопрос 9. Приведите причину, по которой фирменная операционная система с исходным закрытым кодом (к примеру, Windows) должна быть лучше по качеству по сравнению с операционной системой, имеющей открытый исходный код (например, Linux). Приведите причину, по которой, напротив, операционная система с открытым исходным кодом должна быть лучше по качеству, чем фирменная операционная система с закрытым кодом.

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

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

Глава 1

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

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

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

В отличие от других систем, мэйнфрейм специально предназначен для автоматического решения бизнес-задач с разнообразными рабочими нагрузками в соответствии с заданным уровнем сервиса. Мэйнфреймы IBM – это серверы высочайшего класса, которые используются различными компаниями для хостинга коммерческих баз данных, обработки транзакций и выполнения комплексных приложений, требующих непревзойденных показателей по устойчивости, целостности, безопасности и степени готовности. Мэйнфреймы беспрепятственно поддерживают тысячи одновременно выполняемых операций ввода/вывода, обслуживают пользователей в глобальном масштабе и обрабатывают до миллиарда транзакций в день. Мощь мэйнфреймов в условиях современного динамичного бизнеса используется для выполнения самых требовательных к ресурсам задач. [1]

Отсюда можно выделить следующие основные особенности архитектуры мэйнфрейм:

  • Бесперебойное использование, надежность **, отказоустойчивость *;
  • Высокий коэффициент использования системы - все составляющие должны быть нагружены максимально и равномерно;
  • Повышенные требования к безопасности;
  • Обслуживание тысяч одновременно выполняемых операций ввода-вывода;
  • Обслуживание пользователей в глобальном масштабе - разделение времени;
  • Обработка до миллиарда транзакций в день.

* Отказоустойчивость - это свойство сохранять свою работоспособность после отказа одного или нескольких составных компонентов. Отказоустойчивость определяется количеством любых последовательных единичных отказов компонентов, после которого сохраняется работоспособность системы в целом. Базовый уровень отказоустойчивости подразумевает защиту от отказа одного любого элемента - исключение единой точки отказа. Основной способ повышения отказоустойчивости — избыточность. Наиболее эффективный метод избыточности — аппаратная избыточность, достигается путем резервирования. [3]

** Надёжность — свойство объекта сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, хранения и транспортирования. [4]

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

Таким образом для персонального компьютера характерно:

  • Малый размер и цена;
  • Графический интерфейс *;
  • Однопользовательский режим работы;
  • Простота в использовании;
  • Небольшой объем операций ввода-вывода.

* Это относится скорей к операционной системе.

Подводя итог составим сводную таблицу для сравнения операционных систем для мэйнфреймов и персональных компьютеров:


Используемые источники:


  1. http://www.ibm.com/developerworks/ru/edu/mainframe/index.html
  2. http://en.wikipedia.org/wiki/Personal_computer
  3. http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D0%B0%D0%B7%D0%BE%D1%83%D1%81%D1%82%D0%BE%D0%B9%D1%87%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%8C
  4. http://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B4%D1%91%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C


понедельник, 4 февраля 2013 г.

Глава 1

Вопрос 7.       Какая из следующих команд должна быть разрешена только в режиме ядра:

  1. отключение всех прерываний;
  2. чтение счетчика даты/времени;
  3. изменение счетчика даты/времени;
  4. изменение схемы распределения памяти.

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

Глава 1

Вопрос 6.       Почему системы разделения времени не были широко распространены на компьютерах второго поколения?

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

Глава 1

Вопрос 5.       На ранних компьютерах чтение или запись каждого байта данных управлялись напрямую центральным процессором (то есть тогда не было прямого доступа к памяти). Какой смысл имеет это понятие для многозадачности?

Т.к. во время ввода-вывода (при условии наличия прямого доступа к памяти) процессор может обслуживать другой процесс (который не использует устройства ввода-вывода и память), то отсутствие данного механизма отрицательно скажется на многозадачности.

Глава 1

Вопрос 4.       Что такое подкачка? Как вы считаете, будут ли передовые персональные компьютеры будущего поддерживать подкачку данных в качестве стандартной функции?

Подкачка или спулинг (англ. spooling, Simultaneous Peripheral Operation On Line – совместные периферийные операции в режиме подключения) – это технический прием, при котором в оперативную память загружаются новые задания (процессы) автоматически, при освобождении в ней места. Данный прием нужен в системах пакетной обработки заданий, но не в персональных компьютерах. Однако в персональных компьютерах широко используется подкачка страниц (или swapping), которая является одним из механизмов виртуальной памяти и имеет несколько иную природу.

Глава 1

Вопрос 3.       Что такое многозадачность?

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

Глава 1

Вопрос 2.       В чем различие между режимом ядра и пользовательским режимом? Почему это различие представляет важность для операционной системы?

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

Глава 1

Вопрос 1.       Каковы две главные функции операционной системы?

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