Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфрм отв.rtf
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
11.08 Mб
Скачать
  1. Операционная система — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения. Компоненты операционной системы: загрузчик, ядро, командный процессор (интерпретатор), драйверы устройств, интерфейс.  Современные универсальные ОС можно охарактеризовать, прежде всего, как использующие файловые системы (с универсальным механизмом доступа к данным), многопользовательские (с разделением полномочий), многозадачные (с разделением времени).  Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой ОС. В составе ОС различают три группы компонентов:  - ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;  - системные библиотеки;  - оболочка с утилитами.

  1. Dn * P^n + D(n-1) * P^(n - 1) + .+D(1) * P^1 + D(0) * P^0  Где Dn - цифра на позиции N, P -- основание системы счисления; ^ -- возведение в степень

Сложение, вычитание и умножение двоичных чисел

Таблица сложения

+

0

1

0

0

1

1

1

10

1

+

1

1

1

0

1

0

1

1

0

0

1

1

Пример сложения «столбиком» (14 + 5 = 19):

Таблица вычитания

-

0

1

0

0

1

1

(заём из старшего разряда) 1

0

Таблица умножения

×

0

1

0

0

0

1

0

1

Пример умножения «столбиком» (14 × 5 = 70):

×

1

1

1

0

1

0

1

+

1

1

1

0

1

1

1

0

1

0

0

0

1

1

0

Преобразование чисел

Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:

512

256

128

64

32

16

8

4

2

1

Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой.

[править]Преобразование двоичных чисел в десятичные

Допустим, вам дано двоичное число 110001. Для перевода в десятичное просто запишите его справа налево как сумму по разрядам следующим образом:

.

Можно записать это в виде таблицы следующим образом:

512

256

128

64

32

16

8

4

2

1

1

1

0

0

0

1

+32

+16

+1

Точно так же, начиная с двоичной точки, двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110001 равнозначно десятичному 49.

Таблица перевода чисел

0hex

=

0dec

=

0oct

0

0

0

0

1hex

=

1dec

=

1oct

0

0

0

1

2hex

=

2dec

=

2oct

0

0

1

0

3hex

=

3dec

=

3oct

0

0

1

1

4hex

=

4dec

=

4oct

0

1

0

0

5hex

=

5dec

=

5oct

0

1

0

1

6hex

=

6dec

=

6oct

0

1

1

0

7hex

=

7dec

=

7oct

0

1

1

1

8hex

=

8dec

=

10oct

1

0

0

0

9hex

=

9dec

=

11oct

1

0

0

1

Ahex

=

10dec

=

12oct

1

0

1

0

Bhex

=

11dec

=

13oct

1

0

1

1

Chex

=

12dec

=

14oct

1

1

0

0

Dhex

=

13dec

=

15oct

1

1

0

1

Ehex

=

14dec

=

16oct

1

1

1

0

Fhex

=

15dec

=

17oct

1

1

1

1

08 = 0002

18 = 0012

28 = 0102

38 = 0112

48 = 1002

58 = 1012

68 = 1102

78 = 1112

  1. Дополнительный код для представления целых чисел со знаком Числа без знака

Представление положительных чисел в ЭВМ основано на выражении числа в виде суммы степеней двойки с коэффициентами, равными нулю или единице:

Ã=an2n+an-12n-1+...+a121+a020,

где коэффициенты  a0, an,... an могут принимать только два значения: 0 или 1.

Этот [конечный] ряд может быть однозначно определён набором коэффициентов ak={1|0}, k=0,1,... n (с соблюдением порядка их следования). Записывая набор коэффициентов в двоичное "слово", получаем традиционное "двоичное число", например, число 89  представляется в восьмиразрядном слове (байте) в виде двоичного числа так:

старшие <-----                         разряды слова                     -----> младшие

7

6

5

4

3

2

1

0

Представляемая разрядом степень двойки

27

26

25

24

23

22

21

20

89

=

0

1

0

1

1

0

0

1

В одном байте (в современной терминологии байт -- это 8-разрядное слово), используя все разряды, можно записать 256 целых чисел от 0 до 255. 

Такие числа в программировании называют "целое число без знака" или "слово" (Byte (1 байт), Word (2 байта)).

Числа со знаком

Если возникает необходимость выражать как положительные, так и отрицательные целые числа, то обычно прибегают к записи целых чисел в так называемом дополнительном коде. Смысл слова "дополнительный" станет ясен из дальнейшего. Такие числа в программировании называют "целое число со знаком" (Integer (2 байта), LongInt (4 байта), ShortInt (1 байт)).

Основной смысл использования дополнительного кода -- это одинаковость операций сложения и вычитания с положительными и отрицательными числами, что упрощает аппаратную реализацию и программирование ЭВМ. Более того, использование дополнительного кода также делает и сами операции сложения и вычитания одинаковыми.

Свойства дополнительного кода

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

1) отрицательные числа имеют значение старшего разряда слова ("знаковый разряд") 1, а положительные -- 0

2) целое число 0 (ноль) представляется словом, все разряды которого равны нулю ("машинный ноль"), причём существует только один "машинный ноль"

3) сложение чисел со знаком в дополнительном коде выполняется так же, как сложение чисел без знака, включая знаковый разряд, который при сложении ничем не отличается от других разрядов

4) сумма положительного и равного ему по абсолютному значению отрицательного числа равна машинному нулю. 

Ещё свойства>>>

Свойства 2 и 4 можно рассматривать как определение дополнительного кода.

Таблица сложения одноразрядных двоичных чисел

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

+

0

1

0

0

1

1

1

10*)

*) 10 означает единицу в переносе ("в уме"), то есть количество разрядов  в сумме стало на один разряд больше, чем в каждом из слагаемых

Таблица сложения двухразрядных двоичных чисел

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

Двухразрядных чисел всего четыре. Забегая вперёд, ранжируем все двухразрядные числа по нарастанию:

 

Отрицательные

Ноль

Поло- житель- ные

Двоичная запись

10

11

00

01

Значение в десятичной записи

-2 (минус два)

-1(минус один)

0(ноль)

+1(плюс один)

Из двух разрядов слова старший разряд "является знаком", а младший -- отображает "значение числа". На самом деле, в дополнительном коде знак не может быть отделён от абсолютной величины., Именно всё слово целиком отображает в дополнительном коде одновременно и знак и абсолютную величину числа. Просто у отрицательных чисел старший (знаковый) разряд непременно равен единице.

На основе таблицы сложения одноразрядных чисел составим полную таблицу сложения двухразрядных двоичных чисел:

+

00

01

10

11

00

00

01

10

11

01

01

10***)

11

100**)

10

10

11

100*)

100*)

11

11

100**)

100*)

100**)

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

**) Подчёркнутый старший (знаковый) разряд означает перенос в этот разряд в пределах двухразрядной сетки

***)Перечёркнутое число означает переполнение

 

Рассматривая полученные результаты можно сделать вывод, что проведённое чуть выше ранжирование двухразрядных чисел, сделано правильно, то есть:

  • 00 -- это машинный ноль

  • 01 -- "плюс один", единственное положительное число среди двухразрядных чисел со знаком

  • 11 и 10 -- два отрицательных двухразрядных числа, "минус один" и "минус два".

Можно также убедиться в выполнении заявленных выше свойств дополнительного кода.

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

Здравый смысл 

Получено по таблице

Перенос в знаковый разряд

Перенос за пределы разрядной сетки

Переполнение

"ноль"+"ноль"="ноль"

00+00=00

-

-

-

"ноль"+"один"="один"

00+01=01

-

-

-

"ноль"+"минус один"="минус один"

00+11=11

-

-

"ноль"+"минус два"="минус два"

00+10=10

-

-

-

"один"+"один"="два"

01+01=1

+

-

!

"один"+"минус один"="ноль"

01+11=100

+

+

-

"один"+"минус два"="минус один"

01+10=11

-

-

-

"минус один"+"минус один"="минус два"

11+11=110

+

+

-

"минус один"+"минус два"="минус три"

11+10=101

-

+

!

"минус два"+"минус два"="минус четыре"

10+10=100

-

+

!