<aside> 🦞 спасибо чудесным людям за конспект, приложенный ниже (я его буду порой (первые 2 лекции так точно написаны по ним) переписывать со своими пометками, ресурсами и гуглами, чтобы усвоить самой, потому что по несчастным случаям я пропустила уже две лекции уважаемого коллеги…..)
https://my-study-st.readthedocs.io/OS/articles/what_is_os.html
</aside>
На данном этапе появляется ряд функций, которые стали в последствии функциями ОС. Термин “операционная система” еще не существует.
Проблема:
Увеличение сложности программы → необходимость повторного использования кода. Например, переиспользование тригонометрических функций.
Идея решения:
В RAM фиксируется область, в которую помещаются часто используемые программы. В основной программе - вызов программы из упомянутой области.
Для этого необходима система управления для идентификации адресов внутри фиксированной области, для передачи параметров в программе и корректной обработки результатов при возвращении из области в основную программу.
Проблема:
Загрузка всех данных в RAM невыгодна, т.к. часть данных может быть никогда не использована.
Идея решения:
Циклический подход: загрузка части данных, их обработка и последующая выгрузка.
Для этого необходимо участие CPU (центрального процессора) как посредника для синхронизации этапов циклического подхода. Тогда, к классической архитектуре Фон Неймана (че та из ЭВМ) необходимо добавить контроллер, который позволял бы совершать эти действия параллельно (например, контроллер отвечал бы за перемещение данных из хранилища в RAM, а CPU обрабатывал бы другие данные из RAM, а не простаивал в ожидании)
Для избежания обработки CPU неготовых данных или замены контроллером еще не обработанных или обрабатываемых данных (избежание коллизий), необходима синхронизация контроллера и CPU. Для этого был создан механизм прерывания (interrupts)
<aside> 🐊 SPOOL — Simultaneous Peripheral Operation OnLine — обеспечение взаимодействия с периферийным устройством (флешка, дисковод, клава) параллельно с работой основного вычислительного узла.
Операции ввода, вывода. Появление прерываний - в первичном смысле – прерывания вычислительного блока для сообщения о выводе/вводе данных.
</aside>