= Обзор. Введение

<NAME>

`<EMAIL>`

Оценка:
$ О_"теор"  (О_"кр" + О_"экз") / 2 $

$ О_"итог"  (2 * О_"практ" * О_"теор") / (О_"практ" + O_"теор") $

0 за $O_"теор"$ или $O_"практ"$ обнулит $O_"итог"$

== Структура вычислительной системы

- Пользователь (человек или устройство)
- Программное обеспечение
    - Прикладные программы
    - Системные программы
    	- Прочие системные программы
	- Операционная система
- Техническое обеспечение

Границы между прикладным и системными программами условны

== Определение операционной системы. Основные точки зрения

- Распорядитель ресурсов
- Защитник (разграничитель) пользователей и программ
- Виртуальная машина (создание абстракций для работы с файлами, памятью и тд)
- "Кот в мешке"
- Постоянно функционирующее ядро (программа, которая поддерживает работу других программ)
- ...

== Эволюция вычислительных систем

Факторы отбора эволюции выч. систем:
- Удобство пользования
- Стоимость
- Производительность

Развитие hard- и software нужно рассматривать совокупно

Периоды развития:

=== 1-ый период (1945 -- 1955)

- Ламповые машины
    - Огромные
    - Часто перегорали
- Нет разделения персонала
- Ввод программы коммутацией или перфокартами
- Одновременное выполнение только одной операции (те только либо
  программирование, либо расчеты, либо счет перфокарты и тд)
- Появление прообразов первых компиляторов
- Нет операционных систем

<NAME> имеет минимальное отношение к принципам <NAME>

ENIAC работал в 10-ой ссч

=== 2-ой период (1955 -- начало 60-ых)

- Полупроводниковые компьютеры
- Разделение персонала
- Бурное развитии алгоритмических языков
- Ввод задания колодой перфокарт
- Вывод результатов на печать
- Пакеты заданий и системы пакетной обработки (прообраз операционных систем)

Начало использования ЭВМ в коммерческих и исследовательских целях

=== 3-период (начало 60-ых -- 1980)

- Микросхемы, машины на интегральных схемах
    - Машины меньше
    - Сигнал идет быстрее, можно повысить тактовую частоту
    - Считыватели и принтеры становятся bottleneck
- Использование спулинга (отдельные процессоры для ввода, вывода и счета)
- Планирование заданий (из-за создания магнитных дисков)
- Мультипрограммные пакетные системы
- Системы разделения времени (time-sharing)

Изменения из-за мультипрограммирования:
#figure(table(
    columns: 2,
    table.header("Software", "Hardware"),
    [
        - Планирование заданий
        - Управление памятью
        - Сохранение контекста
        - Планирование использования процессора
        - Системные вызовы
        - Средства коммуникации между программами
        - Средства синхронизации
    ],
    [
        - Защита памяти
        - Сохранение контекста
        - Механизм прерываний
        - Привилегированные команды (в тч команды ввода/ вывода)
    ]
))
