Pull to refresh

Опубликованы исходники ОС Multics, прародительницы UNIX

Reading time 1 min
Views 3.6K
Software
Через сорок лет после выхода легендарной операционной системы Multics (Multiplexed Information and Computing Service) её исходные тексты всё-таки опубликованы в свободном доступе на официальном сайте Массачусетского технологического института (MIT). Правда, вряд ли вы найдёте ПК, где можно установить эту ОС, поэтому исходные тексты вызывают исключительно академический интерес.

Система Multics является прародительницей UNIX и всех современных операционных систем. Это одна из первых ОС, в которой реализовано разделение времени исполнения программ (time-sharing operating system), а также ряд других ключевых технологий, в том числе динамическая подгрузка библиотек для программы (dynamic linking), виртуальная память и иерархическая файловая система. Операционная система поддерживала полную переконфигурацию оборудования «на лету», позволяя подключать, отключать и настраивать центральные процессоры, блоки памяти, жёсткие диски и другие устройства, не останавливая при этом всю систему. Эти инновации оказали критическое влияние на развитие компьютерной индустрии. Кстати, некоторые передовые идеи из Multics до сих пор ждут своей реализации в современных ОС.

К настоящему моменту действующая ОС Multics ни сохранилась ни на одном компьютере. Последняя машина под Multics была остановлена 31 октября 2000 года.

via Slashdot
Total votes 26: ↑22 and ↓4 +18
Comments 11

Метапрограммирование с примерами на JavaScript

Reading time 15 min
Views 40K
JavaScript *Programming *System Analysis and Design *
Эта статья, еще одна попытка переосмысления метапрограммирования, которые я периодически предпринимаю. Идея каждый раз уточняется, но в этот раз удалось подобрать достаточно простых и понятных примеров, которые одновременно очень компактны и иллюстративны, имеют реальное полезное применение и не тянут за собой библиотек и зависимостей. В момент публикации я буду докладывать эту тему на ОдессаJS, поэтому, статью можно использовать, как место для вопросов и комментариев к докладу. Формат статьи дает возможность более полно изложить материал, чем в докладе, слушатели которого, не освобождаются от прочтения.

UPD: Обновленная видеоверсия статьи на Youtube (лекция записана в Киевском политехническом институте 18 апреля 2019 года в рамках курса «100 видео-лекций по программированию»):

Читать дальше →
Total votes 52: ↑39 and ↓13 +26
Comments 23

Оберон умер, да здравствует Оберон! Часть 2. Модули

Reading time 4 min
Views 11K
Programming *System Programming *
О нужности/ненужности, достоинствах/недостатках концепции модулей в языках программирования есть очень много публикаций и обсуждений, поэтому я просто расскажу о реализации системы модулей в языках Оберон-семейства.

Модуль в Оберонах — это не только единица компиляции, загрузки и связывания, это ещё и механизм инкапсуляции. При обращении к сущностям подключенного( импортированного ) модуля, требуется обязательная квалификация этого модуля. Например, если модуль A импортирует модуль B, и использует его переменную v, то обращение к этой переменной должно иметь форму B.v, что снижает количество трудноотcлеживаемых ошибок использования совершенно других сущностей с тем же именем в немодульных языках, зависящих от последовательности подключения файлов и поведения компилятора.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 60