3 разных вида ОС:

· Binary interface.

· Program interface.

· Command interface.

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

ОС – это такое программное обеспечение или программный комплекс, которое обеспечивает при функции связанные с ресурсами нашего компьютера:

1. Унификация.

2. Разделение.

3. Учет ресурсов (честная ресурсов компьютера).

Ресурсы компьютер:

1. Оперативная память.

2. Процессорное время.

3. Все внешние устройства.

История:

· Пакетный режим выполнения программ – в течении какого-то промежутка время выполняется ровно одна задача, полностью занимая все ресурсы и всю память.

· Замещающая многозадачность: разделение времени, блокировка устройств (диск, мышь, клавиатура) .

· Многопользовательский режим: разделение доступа (в т.ч. памяти).

Классическая монолитная архитектура ОС:

· Ядро – главная часть ОС. Оно обеспечивает механизм реализации задач ОС (унификации, разделение, учёт).

· Пространство пользователя: логика унификации, разделения, учета и решение пользовательских подзадач, реализация логики раздачи ресурсов.

· Приложения: необязательный компонент ОС для решения пользовательской задачи.

Недостатки языка ассемблера:

· Соглашения по вызову подпрограмм.

· Планирование регистров:

3 разных видов переменных:

1. Статические (которые лежат в памяти и доступны по метке).

2. Переменные (которые лежат на стеке).

3. Регистр.

· Обертка вокруг системных вызовов (номера, различные параметры и тп).

· Арифметические выражения.

· Циклы и условные операторы.

· Составные типы данных.

Что должно остаться от ассемблера:

· Модель памяти соответствует аппаратной(адреса).

· Скалярные типы данных соответствуют аппаратным.

· Порядок байтов в машинном слове и его разрядность.

HSE/ProgrammingOS/00_ProgrammingOSIntro/Conspect (последним исправлял пользователь Lecture_Uploads 2020-03-31 09:46:12)