- •1Принцип программного управления
- •2. Принцип Тьюринга.
- •5. Поколения эвм
- •8. Классификация типов памяти
- •9. Принцип действия нжмд, флеш-памяти.
- •12. Методы адресации данных
- •17. Классификация Флинна
- •18. Способы перевода программы в машинный код
- •19. Классификация ос
- •20. Эволюция ос
- •Состояние процессов
- •Состояние процессов
- •1. Позиционные и непозиционные системы исчисления
- •2. Перевод чисел из одной системы в другую
- •3. Естественная, нормальная и нормализованная формы представления числа.
- •6. Правило сложения чисел, заданных в нормальной форме.
- •8. Правило деления двоичных чисел
- •9. Элементарные логические действия
- •12. Представление переключательных функций в дизюнктивной нормальной форме.
- •13. Замена элементов «или» на элементы «и» и наоборот.
Состояние процессов
В многозадачной (многопроцессорной) системе процесс может находиться в одном из четырех основных состояний (рис. 4.14): Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу [1,34]. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает их необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
Состояние процессов
В многозадачной (многопроцессорной) системе процесс может находиться в одном из четырех основных состояний (рис. 4.14):
Планирование процессов включает в себя решение следующих задач:
-
определение момента времени для смены выполняемого процесса;
-
выбор процесса на выполнение из очереди готовых процессов;
-
переключение контекстов "старого" и "нового" процессов.
Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно.
Существует множество различных алгоритмов планирования процессов, по-разному решающих вышеперечисленные задачи, преследующих различные цели и обеспечивающих различное качество мультипрограммирования. Среди этого множества алгоритмов рассмотрим подробнее две группы наиболее часто встречающихся алгоритмов: алгоритмы, основанные на квантовании, и алгоритмы, основанные на приоритетах.
В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:
-
процесс завершился и покинул систему,
-
произошла ошибка,
-
процесс перешел в состояние ожидание,
-
исчерпан квант процессорного времени, отведенный данному процессу.
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 в двоичной системе. Такой бесконечный процесс обрывают на некотором шаге, когда считают, что получена требуемая точность представления числа. В результате перевода получим ответ:
Для перевода десятичных чисел в другие позиционные системы счисления пользуются теми же правилами, лишь меняется лишь основание системы, в которую надо перевести числа.
|