Служба поддержки:
Реквизиты оплаты:





Голосование
Реклама от Google:
24 Часть I. Идеи и концепции
06.06.2012 00:24
|
составлять, например, одну секунду. UNIX выполняет один процесс в течение временного кванта, а затем приостанавливает этот процесс и переключается на другой. Этот второй процесс выполняется в течение одного временного кванта, а затем UNIX переключается на третий процесс. По прошествии нескольких временных квантов вновь подходит очередь первого процесса, и он будет возобновлен с того места, где был приостановлен. Алгоритм внутри операционной системы, в соответствии с которым выбирается для выполнения очередной процесс, называется алгоритмом планирования. Простейший алгоритм планирования — циклический, при котором каждая задача выбирается строго по очереди. Этот алгоритм в точности напоминает работу жонглера — если только жонглер не исполнит сенсационный трюк, при котором один шар обгонит другой. Алгоритмам планирования были посвящены годы исследований. Были изобретены алгоритмы, значительно более сложные, чем циклический алгоритм. Современные алгоритмы планирования часто пытаются наказывать алчных пользователей путем сокращения их доли. Большинство реализаций UNIX пытается наказывать алчных пользователей и минимизировать время ответа. Тем не менее, если на ЭВМ работает двенадцать пользователей и каждый одновременно запустит процесс, требующий пяти минут на проведение вычислений, даже наиумнейший алгоритм планирования не сможет сократить временной промежуток длительностью в один час до момента завершения последнего процесса. В действительности это время будет больше часа, поскольку системе потребуется дополнительное время на переключение между процессами. Таким образом, ЭВМ будет решать задачу пользователя по крайней мере в двенадцать раз медленнее, чем если бы он был единственным пользователем. (В книге принято соглашение, что пользователи — это мужчины, а суперпользователь — персонаж, который еще появится,— женщина. Хотя кажется невозможным ввести какое-либо соглашение, которое было бы для всех хорошим и никого не обидело, мы надеемся, что это соглашение по крайней мере предотвратит марши протеста, направленные в сторону Кентербери.) Хотя мы только что сослались на случай, в котором процесс выполняется в двенадцать раз медленнее, чем он мог бы выполняться, мы настаиваем на нашем утверждении, что в большинстве случаев одному пользователю не доставляют беспокойства другие пользователи. Это объясняется тем, что чрезвычайно редко процессы всех пользователей выполняются в одно и то же время. Для этого есть две причины. Первая — просто житейское наблюдение. Если вы сделаете моментальный снимок системы UNIX, обслуживающей дюжину пользователей, то увидите, что шесть из них думают, трое наби- |