Запуск unix v6 в эмуляторе pdp 11 в windows 7

PDP-11 emulator in Python 3, running Unix V6. Contribute to amakukha/PyPDP11 development by creating an account on GitHub.

PyPDP11

PDP-11 emulator in Python 3 with GUI.

It runs the Version 6 Unix operating system (1975), the code of which was famously covered by A Commentary on the Unix Operating System (1976) by John Lions.

This project is based on Julius Schmidt’s PDP-11 emulator in JavaScript, which you can run in a browser.

Example screenshots:

PDP-11 emulator for Python 3. Playing with Ken Thompson's chess implementation in Version 6 Unix (1975).
PDP-11 emulator for Python 3. Syncing directory between Unix V6 and local filesystems.
PDP-11 emulator for Python 3. Viewing code of Doug McIlroy's TMG in TMGL for Unix V6.

Prerequisites

  • Python 3.5+

Make sure Python 3 is installed with Tcl version 8.6 or later (especially if you are using MacOS).
To check:

python3 -c 'import tkinter; print(tkinter.TclVersion)'

Usage

  1. Run the file pdp11.py with Python.
  2. Press button Start routine to run the OS. This will start the Unix shell.

Additional usage notes:

  • Instead of cd, Unix V6 shell used chdir command.
  • Issuing command stty -lcase is needed to enable lowercase output. (In case you are wondering.)
  • Instead of Ctrl+C, press Backspace button if you want to halt execution of a program.
  • If you want to export the disk image for whatever reason, don’t forget to execute the sync command first (it flushes the delayed I/O to disk).

What’s new

Compared to the original JavaScript code, this implementation has the following benefits:

  • pasting text into the terminal from clipboard is allowed (making it much more usable)
  • resource friendlier WAIT instruction (not overheating the physical CPU)
  • syncing a directory between Unix V6 and your machine
  • saving and loading the disk state
  • faster output
  • some commands were backported and included into the image (see tools directory)

Where are the manuals?

The disk image included into this repository misses on most
sources,
man pages and
documentation.
It is unsurprising, knowing that RK05 disk could only contain around 2.5 MB of data, while the
Unix V6 sources alone measure beyond that capacity.

Complete Unix V6 manual in somewhat searchable PDF can be found
here.

How does syncing work?

The syncing feature allows you to synchronize a folder between your host OS and the emulated Unix V6. For this purpose, modification time of files is used to track changes between synchronized directories.

Because Unix V6 does not support modern dates, lower 24 bits of modtime in Unix V6 filesystem are used for current local time. Higher 8 bits are used to mark that files were synced. Files are considered in sync if their modification time (24 bits of it) match within 1 minute. Any synced files within Unix V6 filesystem will appear as having modification year of 1983.

To perform syncing, the emulator compares local directory with a Unix V6 directory finding pairs of files with the same name. When a file or subdirectory exists in one filesystem, but not in the other, it is simply created where it is absent. When an unsynchronized pair of files is observed, the following actions are taken:

  • if the files were never synchronized before, they are downloaded: copied from Unix V6 into local directory
  • if the files were modified inside Unix V6, they are also downloaded
  • if the files were modified locally and were synced to Unix V6 more than a minute ago, they are uploaded: copied from local directory to Unix V6

The emulator can synchronize files both before Unix V6 is loaded and after. When Unix V6 is not running (in the boot screen), the RK05 disk image is accessed and manipulated directly.

When Unix V6 is running, at first, the GUI issues a sync command to Unix, forcing the OS to flush any delayed I/O to disk. After that, the synchronized Unix directory is compared to a local directory via direct access to the disk image. All necessary changes on the Unix side are then performed via executing commands in the Unix terminal. This can be time-consuming, so be patient and don’t press any buttons until syncing completes.

Why did I write this project?

This emulator was used to restore Doug McIlroy’s TMG compiler-compiler. I ported TMG from PDP-11 assembly to modern C. I used this emulator to compile the original assembly code and run it, making sure my port functions the same way as the original.

Wishlist

This project was used successfully, but only on MacOS. If you are willing to help, please, let me know if it runs on Linux and/or Windows.

  1. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    asavepic.net_8565535.png

    Эмулятор PDP-11 с поддержкой устройств ДВК для MS DOS !!!

    В архиве PDPRUN.rar находится эмулятор,
    в архиве PDP_BC.rar — исходники.

    Вложения:

    Последнее редактирование: 20 ноя 2016

  2. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    SIMH — портируемый мультисистемный эмулятор, работающий под Microsoft Windows, GNU/Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD, OpenVMS, OpenSolaris и другими операционными системами. Его поддерживает Боб Супник, бывший инженер и вице-президент DEC. Эмулятор основан на более старом эмуляторе MIMIC, написанном в Applied Data Research в конце 1960-х годов. Разработка SIMH была начата в 1993 году, с целью сохранения аппаратного и программного обеспечения компьютеров, которые постепенно стали забываться.

    astorage9.static.itmages.ru_i_16_1125_s_1480114601_6369423_83f1b8fbaf.png

    К сообщению приложены два архива
    SIMH.rar — Версия эмулятора — v3.9 от 3 мая 2012 года.
    SIMH39_ishodniki.rar
    Исходный код эмулятора написан на Си и доступен под модифицированной лицензией MIT.​

    Официальная страница эмулятора — http://simh.trailing-edge.com/
    All future versions can be found in a public source repository Software Kits

    Вложения:

    • SIMH.rar
      Размер файла:
      2,7 МБ
      Просмотров:
      171
  3. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    astorage2.static.itmages.ru_i_16_1126_h_1480176294_2717779_d41d8cd98f.jpg

    Зачем и откуда появилась потребность в эмуляции работы PDP-11 на PC ?
    Это производственная необходимость — представьте, что оборудование вашего
    предприятия (станки например), под управлением RT-11 успешно делают «заготовки» или
    более сложные «готовые детали». Или в обслуживании узла система охлаждения
    когда-то была поручена мощным PDP машинам, или расход по трубопроводу(любой
    категории), снятие и анализ показаний разнотипных датчиков все это и много другое — это PDP!

    Но время неумолимо. И старые, проверенные машины ветшают (особенно носители информации), требуют всё больших издержек по ремонту и зачастую просто переработали
    свой лимит эксплуатации в 2-3-5 раз. Но как быть, если при этом — само оборудование которым управляют могучие и проверенные PDP ещё пригодно ? Тут и приходит очередь
    эмулятора, грамотно установленного и настроенного под конкретную задачу подменить,
    своего реального родителя на боевом посту.

    Последнее редактирование: 27 ноя 2016

  4. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    axhomer.isani.org_xhomer_screen1.gif

    The Xhomer Project — эмулятор DEC PRO 350,
    ПК от DEC начала 80-х годов XX-века.

    Местная ОСь P/OS

    axhomer.isani.org_xhomer_screen2.gif

    axhomer.isani.org_xhomer_screen3.gif

    Игрушки на «прошке» то же есть! А как же!
    Во первых ШАХМАТЫ !!!

    axhomer.isani.org_xhomer_screen5.gif

    LODE RUNNER (в нашем варианте = «Пещера«!)

    astorage6.static.itmages.ru_i_16_1126_h_1480201544_6904660_7fdc636afd.png

    В Отечественной промышленности берётся на вооружение,
    клон этой машинки Электроника МС 0585. (кратко Э85).

    Тема посвящённая реальным машинкам этой серии

    Домашняя страничка «The Xhomer Project» http://xhomer.isani.org/xhomer/

    Последнее редактирование: 27 ноя 2016

  5. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    Конечно о эмуляторах PDP можно рассуждать, обсуждать и рассказывать бесконечно.
    К ним 100% относятся и эмуляторы отечественных PDPlike машинок (процессоров),
    такие как БК11М, УК-НЦ, ДВК, СМ ЭВМ, Немига, наверное и Э-0515 можно по критерию
    ОС основной отнести к PDP-совместимым компьютерам.

    По поводу эмулятора ДВК — скоро будет ровно неделя непрерывной работы эмулятора в HECnet.

  6. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    Эмулятор PDP 11/70.
    Этот экспонат очень научный и серьёзный!!! Специально для
    ветеранов движения. Работает под управлением DOS/Win9x.

    Не буду пока выкладывать тут скриншоты из чёрных экранчиков
    и белых буковок, вкратце отмечу некоторые особенности:
    1. Рабочая среда настроена на работу с Модулой-2 (что редкость!)
    2. Похоже в комплекте есть программы для чтениязаписи MY дискет в образ XY и обратно.
    3. Конечно несмотря ни на что в комплект входит несколько игр.

    И не совмневайтесь — это отечественная разработка начала 90-х.

    Источник публикация на форуме и ссылка на сайт
    http://michurinsk.org/modules.php?name=Downloads&d_op=viewdownload&cid=16&orderby=dateA

    Вложения:

    • RT11.rar
      Размер файла:
      1 МБ
      Просмотров:
      174

    Последнее редактирование: 18 дек 2016

  7. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    От скуки, ради эксперимента и разнообразия досуга профессионалы
    способны на многое, например запустить в эмуляторе PDP-11/94 под управлением RSX-11M-PLUS V4.6 с установленным DECnet и BQTCP/IP, Web сервер, написанным на BASIC.

    Баловство?
    Пока видимо да, будем поглядеть )

    as.rimg.info_ee73e4b1e42b9dfa4242fd34f5057a26.gif

  8. Bato-San
    Чеширский волк-киборг


    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136

    не, ну здорово, кто ж спорит… но где сам то исходник сервера на ознакомление ? А то так можно написать что то в стиле «сервер написан русским по белому — работает, фиг ли !»

  9. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

  10. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

  11. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    PDPii
    PDP-11 совместимая машинка на К1801ВМ2 в mini-ITX форм-факторе by Shaos (Colorado, US):

    PDP-11 compatible motherboard in mini-ITX form factor

    PDPii Gallery => Gallery | PDPii

  12. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777


    id0 и AndyFox нравится это.
  13. hobot
    Оператор ДВК.


    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777

    PDP-11/83 с AZ * контроллером + драйвер устройства + носитель (устройство).

    pdp11-83-az.jpg

    AZ контроллер
    успешно прошел все тесты под
    XXDP/RT-11/TSX-Plus/RSX-11M-PLUS
    на PDP-11/83.

    Последнее редактирование: 16 апр 2021


Форум Old-Games.RU. Всё о старых играх

May 15 2013, 15:42

Categories:

  • Компьютеры
  • IT
  • Cancel

Мне нравится смотреть, что было раньше, до современных компьютеров и систем. И если статей о старых компьютерах очень много, то статей о старых ОС (таких как UNIX V7) не очень. Я попытался запустить и поработать на одной из первых UNIX-систем. Для начала потребуется эмулятор.

Эмулятор SIMH

Проект SIMH задумывался с целью «сохранения аппаратного и программного обеспечения компьютеров, которые постепенно стали забываться» (http://ru.wikipedia.org/wiki/SIMH). В рамках проекта реализовано множество старых машин, в том числе PDP-11, для которых создавались первые версии UNIX. Скачать эмулятор можно по ссылке http://simh.trailing-edge.com/.

UNIX Version 7 (V7)

UNIX V7 вышла в 1979 году, через несколько лет после UNIX V6 (1975). Сейчас UNIX V7 может быть очень полезным пособием для изучающих язык C. Эта система очень проста и при этом хорошо описана (точнее, описана UNIX V6 Джоном Лайонсом, но этот трактат вполне может служить пособием к V7). Код ее программ (таких как cat, ls и др.) не очень сложен и их можно сравнить с примерами из классической книги по C Кернигана и Ритчи. Можно даже скомпилировать их на современных системах (исходный код хранится в /usr/src). Образ системы для эмулятора SIMH можно скачать по ссылке http://simh.trailing-edge.com/software.html (PDP-11 UNIX V7 with sources).

Запускаем

Запускаем

Лучше всего распаковать образ системы и эмулятор в один каталог. Последовательность команд для запуска UNIX:

pdp11

PDP-11 simulator V3.9-0
sim> set cpu u18
Disabling XQ
sim> set cpu idle
sim> set tto 7b
sim> attach rl unix_v7_rl.dsk
sim> boot rl
@boot
New Boot, known devices are hp ht rk rl rp tm vt
: rl(0,0)rl2unix
mem = 177856
#

Мы загрузили UNIX V7. Выход из эмулятора осуществляется комбинацией Ctrl+E. Какие можно отметить интересные особенности по сравнению с современными системами?

Например, символ # и символ @ — это символы забоя: # удаляет один символ, @ удаляет все слово. Зачем это нужно? Дело в том, что клавиши backspace и del не работают так как сейчас: поэтому для удаления неправильно набранного символа нужно использовать символы забоя. Кстати, тогда и сейчас комбинация Ctrl+M может служить заменой Return (Enter).

Привычных сейчас вещей, таких как автодополнение или редакторов вроде vi или emacs, тогда не было. С автодополнением все понятно (не реализовали), а вот стандартным редактором был ed. Например, напишем программу на C «hello, world»:
# ed hello.c
?hello.c
a
#include <stdio.h>
main()
{
  printf(«hello, worldn»);
}
.
w
51
q
# cc hello.c -o hello
# hello
hello, world
#
Зачем писать «#include» вместо «#include»? Дело в том, что # — это символ забоя и он будет распознан редактором как удаление предыдущего символа. Запись ‘#’  означает символ ‘#’. Современный shell воспринимает символ # как символ и экранировать его не нужно. Кстати, последовательность ‘#’ будет воспринята как ‘#’. Подробнее о редакторе ed можно прочитать в The Unix Programming Environment.

После ввода команды man man мне стало понятно, почему тогда в качестве устройства вывода использовались печатающие устройства. Вывод man man не умещается на экране. Сейчас для хранения используют экранный буфер, но тогда размеры памяти были ограничены и для вывода всего текста приходилось использовать другое устройство. Видимо, для этого и разделили stdin, stdout и stderr. В современных системах чаще всего ввод и вывод осуществляется на одну и ту же консоль, но тогда разделение ввода/вывода имело смысл.

Нет поддержки сети. Вообще. В 1979 году ее просто изобрели. Насколько я понимаю, связь ограничивалась телефонными линиями.

В упоминавшейся книге «UNIX. Программное окружение» Кернигана и Пайка чувствуются все эти отличия: она писалась под старые системы UNIX. После знакомства с UNIX V7 можно осознать, насколько далеко вперед ушли современные UNIX-системы: прежде всего GNU/Linux и семейство BSD (Windows не UNIX-система).

Еще один способ

Еще один способ

Благодаря Nordier & Associates система UNIX V7 была портирована на платформу x86. Текущая версия V7/x86 может быть загружена в виде загрузочного iso-диска или образа виртуальной машины VMware (можно запустить и в VirtualBox). Образ немного отличается от образа для SIMH: в нем нет man, клавиши del и backspace отрабатываются, но не дают ожидаемого эффекта, каталог /usr почему-то пуст (нет самого интересного: /usr/src). Поэтому эту версию я бы рекомендовал только для ознакомительного просмотра. Я посвятил статью UNIX V7 именно из-за этого порта (чтобы было что сравнивать или были разные способы запуска), но никто не мешает запустить другие системы для SIMH (например, описанную UNIX V6), их там много.

Слайд 1

Операционные системы Обзор Unix -операционных систем различных производителей Департамент образования, науки и молодежной политики Воронежской области ГБПОУ ВО «Острогожский многопрофильный техникум»

Слайд 2

ЧТО ТАКОЕ Unix ? Unix («UNIX» является зарегистрированной торговой маркой организации The Open Group ) — семейство переносимых, многозадачных и многопользовательских операционных систем, которые основаны на идеях оригинального проекта AT&T Unix , разработанного в 1970-х годах в исследовательском центре Bell Labs Кеном Томпсоном, Деннисом Ритчи и другими. Операционные системы семейства Unix характеризуются модульным дизайном, в котором каждая задача выполняется отдельной утилитой, взаимодействие осуществляется через единую файловую систему, а для работы с утилитами используется командная оболочка. Идеи, заложенные в основу Unix , оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время Unix -системы признаны одними из самых исторически важных ОС.

Слайд 3

Первая система Unix была разработана в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных Unix -систем. Юридически право называться «UNIX» имеют лишь те операционные системы, которые прошли сертификацию на соответствие стандарту Single UNIX Specification . Остальные же, хотя и используют сходные концепции и технологии, называются Unix -подобными операционными системами (англ. Unix-like ). Для краткости в данной статье под Unix -системами подразумеваются как истинные Unix , так и Unix -подобные ОС. Запуск UNIX V6 в эмуляторе pdp-11 в Windows 7

Слайд 4

BSD BSD (англ. Berkeley Software Distribution ) — система распространения программного обеспечения в исходных кодах, созданная для обмена опытом между учебными заведениями. Особенностью пакетов ПО BSD была специальная лицензия BSD, которую кратко можно охарактеризовать так: весь исходный код — собственность BSD, все правки — собственность их авторов. В данный момент термин BSD чаще всего употребляется как синоним BSD-UNIX — общего названия вариантов UNIX, восходящих к дистрибутивам университета Беркли. Упрощённое генеалогическое дерево UNIX и его клонов К семейству BSD относятся: NetBSD , FreeBSD , OpenBSD , ClosedBSD , MirBSD , DragonFly BSD, PC-BSD, DesktopBSD , SunOS , TrueBSD , Frenzy , Ultrix и частично XNU (ядро macOS , IOS, tvOS , watchOS , CarPlay , Darwin ). Отличия от «классической» системы UNIX заключены в системе печати, файловой системе, отсутствии переключения уровней выполнения и командной оболочке. Пользовательские команды практически идентичны.

Слайд 5

Sun os SunOS — версия операционной системы UNIX, разработанная компанией Sun Microsystems для рабочих станций и серверов собственного производства. Название SunOS обычно используется для обозначения версий с 1.0 по 4.1.4. Эти версии были основаны на BSD варианте UNIX, тогда как SunOS версии 5.0 и далее основана на UNIX System V четвёртого выпуска (SVR4) и фигурирует под названием Solaris .

Слайд 6

minix Minix — свободная Unix -подобная микроядерная операционная система, распространяемая по лицензии BSD. Эндрю Таненбаум создал первую версию Minix в 1987 в качестве «иллюстрации» учебника «Операционные системы: Разработка и реализация». Среди студентов, изучающих теорию операционных систем по исходникам Minix , наибольшей известности достиг Линус Торвальдс , разработчик Linux . Изначально целью Minix являлось обучение студентов строению компьютеров и основ операционных систем. Исходные коды Minix совершенно отличны от кодов ОС Linux , но как и Linux , Minix является Unix -подобной операционной системой с аналогичным набором команд. Исходный код MINIX 3 с переведёнными на русский язык комментариями можно получить на CD вместе с книгой «Операционные системы: разработка и реализация» ( Таненбаум Э. С., Вудхалл А. С., 3-е издание опубликовано в России в 2007 году), в которой детально расписано строение ОС на примере Minix .

Слайд 7

xenix Xenix — Unix -подобная операционная система, лицензированная фирмой Microsoft у AT&T в конце 1970-х. Первые версии работали на мини-компьютерах DEC PDP-7, затем была введена возможность работы на плафторме Intel 80386. Santa Cruz Operationruen (SCO) приобрела эксклюзивные права на Xenix и с некоторого момента стала распространять систему как SCO UNIX. Xenix никогда не была «настоящей» Unix -системой, следовавшей выработанным Unix -сообществом стандартам System V, но Microsoft её никогда и не позиционировала как Unix , лишь как Unix -подобную ОС. Впоследствии, решив не тратить усилия на дальнейшую разработку Xenix , фирма Microsoft продала все права и исходный код Xenix компании SCO. SCO некоторое время поддерживала Xenix , затем прекратила её разработку и поддержку. Некоторая часть кода Xenix перекочевала в SCO Unix (впоследствии SCO OpenServer и OpenDesktop ).

Слайд 8

Unix ware UnixWare — POSIX-совместимая операционная система, разрабатываемая с начала 1990-х годов компанией Novell на основе UNIX System V, которая в свою очередь была разработана UNIX Systems Laboratories . В 1995 году Novell продала права на существующие лицензии и дальнейшую разработку UnixWare компании Santa Cruz Operationruen . Система обладает многопоточностью , реализацией вытесняющей многозадачности и портирована на несколько платформ . В SCO UnixWare используется файловая система VxFS , разработанная компанией Veritas . UnixWare 7.1 распространяется в 7 вариантах различной комплектации: Base Business Datacenter Department Enterprise Free unix Издание « Free unix » является shareware и может использоваться в течение 60 дней.

Слайд 9

HP-ux HP-UX (произносится эйч -пи- юкс ) — проприетарная версия операционной системы UNIX фирмы Hewlett-Packard (HP). Работает на архитектурах PA-RISC, Intel Itanium и Apollo / Domain . Ранние версии также работали на процессорах HP 9000 Series 200, 300 и 400, основанных на семействе процессоров Motorola 68000, и HP 9000 Series 500 собственной архитектуры HP FOCUS. В HP-UX впервые была представлена система списков контроля доступа для контроля доступа к файлам вместо традиционной системы разрешений UNIX. HP-UX была среди первых UNIX-систем со встроенным менеджером логических дисков.

Слайд 10

AIX AIX ( аббр . от англ. Advanced Interactive eXecutive ) — разновидность операционной системы UNIX производства компании IBM. Первая версия AIX — AIX/RT 2 вышла в 1986 году и была построена на базе UNIX System V Release 2 и версий 4.2 и 4.3 BSD UNIX для первых RISC-компьютеров IBM RT Personal Computer (последняя версия — AIX/RT 2.2.1, 1987 год). Существовала версия для запуска в среде VM для мейнфреймов IBM S/370 под названием AIX/370 (последняя версия — AIX/370 1.2.1, 1991 год). В 1989 году была выпущена AIX/6000 V3, предназначенная для нового семейства RISC-компьютеров IBM RS/6000, выпущенных в 1990 году. Эта ОС в 1990 году вместе с выпуском версии 3.1 была переименована просто в AIX.

Слайд 11

Спасибо за внимание!

Рубрика:

Администрирование / 
Продукты и решения

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

АЛЕКСАНДР БАЙРАК

Настоящий UNIX в наши дни

В этой статье я рассмотрю один из вариантов запуска настоящего UNIX на современных компьютерах.

Я думаю, любой юниксоид хотя бы один раз читал историю возникновения UNIX, как он развивался и какие метаморфозы пережил, чтобы дойти до нас в виде множества своих «детей». Глядя на генеалогическое древо UNIX, диву даешься, какое большое количество ответвлений и версий системы было выпущено в прошлом. Некоторые уже давно умерли, иные просто в спячке, но большинство из них выросли и дожили до наших дней. Ну как тут не загореться желанием посмотреть на тот самый настоящий, легендарный AT&T UNIX, с которого все и началось? Конечно, в наши дни достаточно затруднительно найти PDP11 и родной дистрибутив. Так что единственной возможностью погрузиться во времена использования настоящего UNIX на PDP11 нам помогут эмуляторы. Точнее, один из них – simh (Simulator History). Начало данному проекту было положено в 1993 году. Главный разработчик проекта – Robert M Supnik. В настоящее время simh можно запустить почти на всех современных ОС, а именно:

  • OpenVMS/VAX
  • OpenVMS/Alpha
  • Windows 9x/2k/XP
  • MacOS X
  • Linux

Классический pdp 11/45 был выпущен в 1970 году. Из pdp-серии это был единственный 16-битный компьютер. Хотя были и 24- и 18-битные машины. При рекордно низкой цене (~ 10800$) pdp 11 получил широчайшее распространение. Всего было продано около 600000 (!) экземпляров. Некоторые из них работают и по сей день.

Все свои эксперименты я проводил на P3-550 МГц/320 Мб RAM под управлением FreeBSD 5.3.

Для начала нашего путешествия во времени нам нужен дистрибутив, который можно взять с http://simh.trailing-edge.com/sources/simhv33-0.zip.

Также понадобится дамп диска с установленным UNIX. Его мы берем с http://simh.trailing-edge.com/kits/uv7swve.zip.

Распакуем и установим программу:

# mkdir unixemul

# cd unixemul

# unzip ../simhv33-0.zip

# unzip ../uv7swve.zip

# mkdir BIN

# gmake

Симулятор помещает все свои исполняемые файлы в каталог BIN. Но так как по умолчанию он не существует, создаем его:

# mkdir BIN

# gmake

Если процесс компиляции прошел гладко, приступаем непосредственно к запуску:

# BIN/pdp11

На экране появится приглашение программы.

// Указываем, какой тип процессора мы будем эмулировать:

sim> set cpu 18

// u18 соответствует процессору, установленному на классической pdp 11/45.

// Указываем, что будем использовать консольный терминал DL11. Вывод информации будет производиться в режиме 7 бит на символ.

sim> set tto 7b

// Указываем, что ввод будет также исключительно 7-битный.

sim> set tti 7b

// Присоединяем дамп диска с UNIX к rl. В качестве rl выступает контроллер диска RLV12/RL01.

sim> attach rl unix_v7_rl.dsk

// Указываем, откуда производить загрузку:

sim> boot rl

Начинается загрузка:

@boot

New Boot, known devices are hp ht rk rl rp tm vt

Указываем, что именно запускать:

: rl(0,0)rl2unix

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

Далее нам показывают объем доступной памяти, он равен целым 177 856 байтам! После чего мы попадаем в shell. В принципе можно начинать работу с настоящим UNIX 7-ой версии. По умолчанию мы попадаем в систему с правами root. В документации к эмулятору в качестве примера работы были приведены следующие действия:

// Создадим каталог dmr

# mkdir /usr/dmr

// Сделаем владельцем каталога dmr пользователя dmr

# chown dmr /usr/dmr

// Изменим группу владения каталога на третью

# chgrp 3 /usr/dmr

// Создадим каталог для временных файлов

# mkdir /tmp

// Поставим для него полный доступ для всех

# chmod 777 /tmp

// Нажимаем

# ^D

После чего на экране появляется приглашение к вводу логина.

Restricted rights: Use, duplication, or disclosure is subject to restrictions stated

in your contract with Western Electric Company, Inc.

Thu Sep 22 05:51:05 EDT 1988

Идем дальше.

// Вводим логин dmr:

login: dmr

// С помощью редактора ed начинаем редактировать файл hello.c:

$ ed hello.c

?hello.c

a

main()

{

printf(«Hello World!n»);

}

.

w

40

q

// Скомпилируем написанный нами файл:

$ cc hello.c

// Запустим:

$ a.out

Видим результат:

Кстати, вы еще не догадались, кому принадлежит имя пользователя dmr? Человеку – живой легенде современности – Деннису Ритчи, отцу и основоположнику Юникса!

Согласитесь, что очень неудобно при каждом запуске ОС каждый раз вводить все команды инициализации. Тут нам на помощь приходят команды save и restore. Для «сохранения» ввода команд, необходимых для запуска ОС, нам нужно набрать команду:

sim> save filename

В качестве filename введите имя файла, в который вы хотите сохранить текущий образ эмулятора.

Для «восстановления» состояния набираем:

sim> restore filename

После чего будут актуальны ранее введенные и сохраненные настройки.

Также следует отметить одну очень досадную недоработку по части удобства использования. В оболочке эмулятора нет возможности редактировать вводимые команды.

Про возможность автодополнения команд я вообще молчу. Хотя должен заметить, можно использовать заранее определенные алиасы. Например, для команды attach синонимом будет команда at. Более подробно про алиасы можно прочитать в документации.

Simh поддерживает работу через сеть. Например, у вас нет возможности работать с ОС, запущенной через эмулятор, находясь непосредственно перед монитором компьютера, на котором включен simh. Или вы хотите дать возможность своим знакомым или друзьям поэкспериментировать на запущенной через эмулятор ОС.

Воспользуемся опцией, определяющей консоль:

sim> set console telnet=12345

Назначаем доступ к консоли через порт 12345.

На что эмулятор ответит:

Проверить, действительно ли нас ожидает соединение на указанном порту, мы можем с помощью команд netstat -na или sockstat -4.

Работать по сети мы сможем после ввода на локальной машине параметров, указывающих, откуда нам запускать ОС. В нашем случае это boot rl. После вывода которой мы видим на экране:

Waiting for console Telnet connection.

После чего мы можем получить доступ к эмулятору через telnet. Пример сессии:

[01mer@darkthrone]:~> telnet marduk 12345

Trying 192.168.1.22

Connected to marduk

Escape charset is ‘^]’

Connected to PDP11 simulator

@

Я не буду описывать здесь все свои эксперименты которые проводил в UNIX, чтобы не лишать читателя удовольствия самому заняться исследованием этой ОС. А море различных открытий и удивительных находок я вам обещаю.

Для корректного завершения работы с UNIX надо два раза произвести синхронизацию диска с помощью команды sync. После чего нажать , и вы снова попадете в оболочку эмулятора. Выход из которой осуществляется с помощью команд exit, quit, bye, на выбор.

В конце хотел бы добавить, что рассмотренный эмулятор кроме PDP11 поддерживает еще достаточно большое количество различных компьютеров:

  • Data General Nova, Eclipse
  • Digital Equipment Corporation PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10, PDP-11, PDP-15, VAX
  • GRI Corporation GRI-909
  • IBM 1401, 1620, 1130, System 3
  • Interdata (Perkin-Elmer) 16b and 32b systems
  • Hewlett-Packard 2116, 2100, 21MX
  • Honeywell H316/H516
  • MITS Altair 8800, with both 8080 and Z80
  • Royal-Mcbee LGP-30, LGP-21
  • Scientific Data Systems SDS 940

Соответственно, если мы найдем ОС для данных компьютеров и приложим немного смекалки и настойчивости, получим в собственное распоряжение целый полигон для изучения истории компьютеров и ОС. Особый интерес (по крайней мере для меня) представляет эмуляция VAX. Особенно при учете того, что на VAX можно запустить OpenBSD, NetBSD, и другие менее известные в настоящее время ОС. Но этому вопросу я намерен посвятить отдельную статью.

Я был бы очень рад всем вашим отзывам c описанием экспериментов, поставленных с помощью этого эмулятора.

Ссылки:

  1. http://simh.trailing-edge.com/software.html – небольшая коллекция программ и ОС, подходящих для использования под эмулятором simh.
  2. http://simh.trailing-edge.com/photos.html – фотогалерея различных старых компьютеров.
  3. http://www.cs.bell-labs.com/who/dmr – домашняя страничка Денниса Ритчи.

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Сегодня мы собираемся запустить Unix 1-ой редакции, которая была выпущена в 1972. Да! вы правильно прочитали. Мы собираемся попробовать Unix, как это было в 1972 г. Вам не нужно покупать старое оборудование, чтобы запустить его, и вам не нужно строить из источника. Профессионал в UNIX по имени Брайан Беннет создал образ Docker, который основан на источнике хранилища Unix 1 – е издания июня 1972. Таким образом, мы можем легко запустить старый добрый Unix 1-го издания, как это было в 1972 году в течение нескольких минут.

В этом кратком руководстве мы покажем вам, как запустить Unix 1-го издания в любой Unix-подобной операционной системе.

Запуск 1-ой редакции Unix (1972) с использованием Docker

Во-первых, вам нужно установить Docker в вашей системе. Обратитесь в следующие руководства по установке Docker на RPM и систем на основе DEB.

  • Установить Docker В CentOS
  • Установите Docker в Ubuntu

После установки Docker, выполните следующую команду, чтобы загрузить и запустить образ Docker.

docker run --rm -it bahamat/unix-1st-ed

Эта команда будет тянуть образ Docker, в котором будет работать UNIX 1 – го выпуска на PDP-11 тренажере. Для тех, кому интересно, PDP-11 был 16-битным миникомпьютером проданным Digital Equipment Corporation (DEC) с 1970 – х до 1990 – х годов. Вот фотография мини – компьютера PDP-11.

Как запустить Unix 1-ой редакции (1972)

На рисунке выше,  Деннис Ритчи  и Кен Томпсон  (сидя) совместно работают на мини – ЭВМ PDP-11. Несмотря на то, он был передан в качестве мини – компьютера, фактический вес этого компьютера был около 45 кг.

Через несколько минут, вы попадёте в приглашение: login: . При авторизации строке введите «root» без кавычек и нажмите клавишу ENTER.

Unable to find image 'bahamat/unix-1st-ed:latest' locally
latest: Pulling from bahamat/unix-1st-ed
bbe1c4256df3: Pull complete 
911d09728ffd: Pull complete 
615765bc0d9f: Pull complete 
a3ed95caeb02: Pull complete 
c3fdfa5622d0: Pull complete 
Digest: sha256:ea44c2f898c3a35cb31fec9f6ebe3caf15ca51ae156b38ec6d68cbd703d40d0e
Status: Downloaded newer image for bahamat/unix-1st-ed:latest

PDP-11 simulator V3.9-0
./simh.cfg> #!tools/pdp11
Unknown command
Disabling CR
Disabling XQ
RF: buffering file in memory
TC: creating new file
TC0: 16b format, buffering file in memory
Listening on port 5555 (socket 7)

:login: root
root
#

Готово! Сейчас мы находимся в 1972-эре операционной системы Unix. Круто, да? Теперь вы можете изучить некоторые команды Unix. Обратите внимание, что BASH не существовала до 1989 года, поэтому он не имеет BASH или любые другие современные оболочки. Так, некоторые из функционалов BASH не будут работать в 1-ом издании Unix. Например, команда автозавершения нажатием клавиши TAB не будет работать. Вы не можете использовать Backspace для удаления опечатки команды, или вы не можете использовать клавиши со стрелками, чтобы увидеть предыдущие команды.

Тем не менее, некоторые команды, которые мы используем сегодня, будут работать. Например, мы можем использовать ls, date, find, chmod, du, echo, mail, rm, rmdir, и more. Чтобы узнать список доступных команд, введите:

ls bin

Введите Ls -l, чтобы увидеть список доступных каталогов в этом издании.

Для перехода в каталог, используйте команду chdir.

chdir /bin

Кроме того, обратитесь к руководству по эксплуатации Unix первого издания в ссылке, приведенной в конце данного руководства, чтобы узнать больше о командах Unix.

Для того, чтобы остановить моделирование, введите CTRL+E . А затем введите «Q», чтобы вернуться обратно в хост-терминал ОС.

Simulation stopped, PC: 007332 (MOV (SP)+,25244)
sim> q
Goodbye
RF: writing buffer to file

Конечно, вы можете использовать «SIMH тренажер» для запуска первого издания Unix и других старых операционных систем без помощи Docker. Мы рассмотрим его в отдельном руководстве.

Ресурсы:

  • Репозиторий docker-unix-1st-ed GitHub
  • Руководство по Unix первого издания
  • Запуск первого издания Unix (1972) с Docker
  • PDP-11

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сегодня рассмотрим Эмулятор 16 битного компьютера PDP-11, познакомимся с отечественным ДВК и маленько по программируем на моем любимом Бэйсике.

❶ Что же такое ДВК? ДВК — это Отечественный Диалоговый вычислительный комплекс.

Как я узнал, ДВК — семейство советских ЭВМ середины 80-x и начала 90-x годов 20-го века. Первая модель разработана в 1981 году, но началась выпускаться с 82-го.

Архитектура ДВК повторяет мини-ЭВМ фирмы DEC PDC-11 и PDP-11, но на более современной элементной базе.

Как вы уже поняли, ДВК без проблем умещалась на письменном столе:

090829 1055503 300x200 Эмулятор PDP 11 или просто о ДВК

На фотографии изображен ДВК-2

Что мы видим? Монитор, клавиатура и «ящик» на котором стоит монитор, на котором еще имеются три переключателя, так называемые «клювики». Переводя на сегодняшний язык можно сказать, что это сам системник или грубо говоря компьютер. Монитор можно было подключать не только к ДВК, как процитировано ниже.

Все компьютеры семейства ДВК были программно и аппаратно (по шине МПИ) совместимы с серией управляющих Микро-ЭВМ Электроника-60, МС 1212 и СМ-1425.

Наш клон не ставил перед собой больших задач, по этому первая модель ДВК имела объем оперативной памяти всего 48 килобайт, в качестве накопителей использовались 5,25 дюймовые дисководы объемом 720 килобайт. Единственным его преимуществом перед Спектрумом был быстрый 16 битный процессор. В дальнейшем объем оперативной памяти компьютеров серии ДВК был увеличен до 265 килобайт, а так же добавлена поддержка жестких дисков MFM объемом до 10 мегабайт, что сделало их довольно серьезными персональными компьютерами для моделирования и разработок.

Главным минусом ДВК было отсутствие нормального графического контроллера. Точка могла иметь только два цвета – либо светиться, либо быть темной, что делало невозможным графически оценить построенную при проектировании модель и увидеть допущенные ошибки, ну и на этом судьба ДВК сразу была предрешена.

❷ Эмулятор PDP-11 — ДВК-1.

Как все это работало?

Пользователь вставлял в дисковод системную дискету, включал питание компьютера, после того, как операционная система RT-11 загружалась, человек вставлял во второй дисковод дискету с программами и начинал работать.

Давайте приступим. Скачиваем, распаковываем и запускаем pdp11.exe

При запуске мы увидим экран компьютера ДВК и процесс загрузки ОС RT-11 SB V05.07. Компьютер не имеет BIOS, то при загрузке попросит ввести дату и время, изменяется она стрелками вверх и вниз, после как установили жмем ввод (Enter). Вводить дату и время  не обязательно. После полной загрузки мы увидим такой экран:

ДВК1 300x225 Эмулятор PDP 11 или просто о ДВК

Приветствие начинается с точки. Команды вводятся после точки.

  • TIME: выводит время или устанавливает время
  • DATE: выводит или устанавливает дату
  • BASIC: вызывает интерпретатор BASIC
  • DELETE: стирает файл с устройства

Команд много, посмотреть можно тут#1 или тут#2

Теперь давайте напишем программу на языке программирования BASIC, который изучали в старших классах или в институтах.

В командную строку напишем команду:  BASIC

При запуске интерпретатора появится вопрос, использовать все функции или только необходимые. В ответ пишем ALL (все функции) и жмем Enter. В ответ мы увидим приглашение: READY

Если кто программировал в QBasic (лично я только там с этим познакомился), то ему будет знакомо, что каждая строка нумеруется с шагом 10 для случая если придется править программу.

Напишем программу, которая запросит ввести три числа. Два числа перемножаться, а третье прибавиться.

10 PRINT "A"
20 INPUT A
30 PRINT "B"
40 INPUT B
50 PRINT "C"
60 INPUT C
70 LET X=A*B+C
80 PRINT "X="; X
90 END

Запустить программу на исполнение можно командой RUN, которую напишем после: 90 END. Она является командой интерпретатора BASIC, а не командой ОС. После ввода команды RUN, нам придется ввести числа. После ввода чисел у нас выполнится вычисление A*B+C (сначала умножение, потом сложение) и результат будет записан в переменную X. После вывода результата появится сообщение READY, говорящее, что можно вводить команды или сохранить программу.

Первая программа при запуске на исполнение и после исполнения:

1111 Эмулятор PDP 11 или просто о ДВК

2222 Эмулятор PDP 11 или просто о ДВК

Разберем команды, которые мы использовали:

  • PRINT: выводит на экран сообщение
  • INPUT: считывает веденные данные с клавиатуры
  • LET: предназначена для арифметических операций
  • END: завершение программы

Список команд и примеры программ можно найти в Интернете.

Для прикола:

10 PRINT "V"
20 INPUT V
30 IF V <= 16 THEN PRINT "BAD"
40 IF V >= 18 THEN PRINT "GOOD"
50 IF V = 17 THEN PRINT "RELEASE ;D"
60 END

3333 Эмулятор PDP 11 или просто о ДВК

Теперь давайте сохраним программу.

После READY, пишем: SAVE ABC.BAS и жмем Enter

Наша программа сохранится, только не понятно где, но при выключении эмулятора — файл не удаляется, то есть, мы сохранили, включили BASIC, прописали OLD ABC.BAS и наша программа будет загружена. После READY остается только написать команду RUN.

4444 Эмулятор PDP 11 или просто о ДВК

Чтобы выйти из Бэйсика, остается только прописать команду BYE и мы снова окажемся в командой строке ОС

Думаю на этом все. Буду дальше разбираться и учиться. Огромное спасибо этой статье.

Понравилась статья? Поделить с друзьями:
  • Запуск tiberian sun на windows 10
  • Запуск thunderbird при запуске windows 10
  • Запуск tftp сервера на windows 10
  • Запуск swf игр на windows 10
  • Запуск steam игр на windows xp 2020