Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dokument_Microsoft_Word_2.docx
Скачиваний:
8
Добавлен:
23.03.2015
Размер:
200.53 Кб
Скачать

Состояние процессов

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

Состояние процессов

В многозадачной (многопроцессорной) системе процесс может находиться в одном из четырех основных состояний (рис. 4.14):

Планирование процессов включает в себя решение следующих задач:

  1. определение момента времени для смены выполняемого процесса;

  2. выбор процесса на выполнение из очереди готовых процессов;

  3. переключение контекстов "старого" и "нового" процессов.

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

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

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

  • процесс завершился и покинул систему,

  • произошла ошибка,

  • процесс перешел в состояние ожидание,

  • исчерпан квант процессорного времени, отведенный данному процессу.

1. Позиционные и непозиционные системы исчисления

В позиционных системах счисления один и тот же числовой знак (цифра) в записи числа имеет различные значения в зависимости от того места (разряда), где он расположен. Изобретение позиционной нумерации, основанной на поместном значении цифр, приписывается шумерам и вавилонянам; развита была такая нумерация индусами и имела неоценимые последствия в истории человеческой цивилизации. К числу таких систем относится современная десятичная система счисления, возникновение которой связано со счётом на пальцах. В средневековой Европе она появилась через итальянских купцов, в свою очередь заимствовавших её у мусульман.

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

2. Перевод чисел из одной системы в другую

 Как мы уже отмечали, человек привык работать в десятичной системе счисления, а ЭВМ ориентирована на двоичную систему.

Поэтому общение человека с машиной невозможно без создания простых и надёжных алгоритмов перевода чисел из одной

системы в другую и наоборот. Итак, как осуществить перевод чисел из десятичной системы в двоичную?      Допустим, надо перевести число 11 в двоичную систему счисления. Разделим 11 на 2. Получим частное 5 и остаток 1. Следовательно,

в двоичной записи числа 11 последняя цифра равна 1. Для нахождения второй цифры разделим найденное нами частное 5 снова на 2.

Получим частное 2 и остаток 1. Следовательно, вторая цифра с конца в двоичной записи числа 11 тоже равна 1. Частное 2 снова делим на 2.

Получим 1 и 0 в остатке. Полученная 1 и есть первая цифра в двоичной записи числа 11. Остаток от последнего деления 0 - вторая цифра.

    Если необходимо преобразовать нецелое число - десятичную дробь, то производим следующие действия:      1. Целую часть числа преобразовываем в двоичную систему способом, описанным выше.      2. Дробную часть необходимо преобразовывать умножением на основание системы, в которую мы переводим число.

    В результате умножения дробной части - числа 0,7 на основание системы - число 2 получим 1,4. Целую часть данного числа (цифру 1)

выделяем, а дробную часть - число 0,4 снова умножаем на 2.      Очевидно, что процесс перевода числа 0,7 может продолжаться бесконечно. Действительно, за шесть шагов мы можем получить число 0,101100,

а за семь шагов получили бы 0,1011001, которое является более точным представлением числа 0,7 в двоичной системе. Такой бесконечный

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

    Для перевода десятичных чисел в другие позиционные системы счисления пользуются теми же правилами, лишь меняется лишь

основание системы, в которую надо перевести числа.

 

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