Unix v6 on SIMH PDP-11
@ -44,7 +44,7 @@ Now open a terminal and move to the VM folder. Run the following command to star
|
||||
pdp11
|
||||
```
|
||||
|
||||
![pdp11](unix-v5-SIMH-2.webp)
|
||||
![pdp11](./unix-v5-SIMH-2.webp)
|
||||
|
||||
After the emulator starts, you will get a `@` prompt. Type `unix` and press enter to run the `unix` kernel.
|
||||
|
||||
@ -81,7 +81,6 @@ See the [manuals section](/1970s/1974/unix-v5/#manuals) on the [main ! Unix-v5 p
|
||||
|
||||
### Windows
|
||||
|
||||
|
||||
Create a file called `unix-v5.bat` with the following content:
|
||||
|
||||
```bash
|
||||
|
BIN
docs/1970s/1975/1975.webp
Normal file
After Width: | Height: | Size: 23 KiB |
16
docs/1970s/1975/index.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
keywords: [1970s, 1975]
|
||||
image: ./1975.webp
|
||||
description: "There was one operating system of our interest which was released in the year 1975. It was:"
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import DocCardList from '@theme/DocCardList';
|
||||
|
||||
# 1975
|
||||
|
||||
![! Unix v6 from 1975](./1975.webp)
|
||||
|
||||
There was one operating system of our interest which was released in the year 1975. It was:
|
||||
|
||||
<DocCardList />
|
77
docs/1970s/1975/unix-v6/index.md
Normal file
@ -0,0 +1,77 @@
|
||||
---
|
||||
keywords: ["Unix v6", "Unix", "PDP-11", "Interdata 7/32", "1970s", "1975"]
|
||||
image: ./unix-v6.webp
|
||||
description: "! Unix v6 was an operating system for the DEC PDP-11 computer. It was later ported to Interdata 7/32 computer."
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import DocCardList from '@theme/DocCardList';
|
||||
|
||||
# ! Unix v6
|
||||
|
||||
![! Unix v6](./unix-v6.webp)
|
||||
|
||||
! Unix v6 was an operating system for the DEC PDP-11 computer. It was later ported to Interdata 7/32 computer. It was developed by Bell Labs. It can be used on SIMH PDP-11 and Interdata 7/32 emulators.
|
||||
|
||||
<DocCardList />
|
||||
|
||||
## Manuals
|
||||
|
||||
Here is the manual for ! Unix v6:
|
||||
|
||||
- [! Unix Programmer's Manual, 6th Edition](http://squoze.net/UNIX/v6man/all.pdf)
|
||||
|
||||
There were a bunch of short documents for use with ! Unix v6. Some of them are available today:
|
||||
|
||||
- [Unix for Beginners](http://squoze.net/UNIX/v6/files/doc/beg.pdf)
|
||||
- [A Tutorial Introduction to the Unix Text Editor](http://squoze.net/UNIX/v6/files/doc/ed.pdf)
|
||||
- [Programming in C − A Tutorial](http://squoze.net/UNIX/v6/files/doc/ctut.pdf)
|
||||
- [C Reference Manual](http://squoze.net/UNIX/v6/files/doc/c.pdf)
|
||||
- [Unix Assembler Reference Manual](http://squoze.net/UNIX/v6/files/doc/as.pdf)
|
||||
- [The Unix I/O System](http://squoze.net/UNIX/v6/files/doc/iosys.pdf)
|
||||
- [YACC − Yet Another Compiler-Compiler](http://squoze.net/UNIX/v6/files/doc/yacc.pdf)
|
||||
- [Setting Up Unix - Sixth Edition](http://squoze.net/UNIX/v6/files/doc/start.pdf)
|
||||
- [The Unix Time-Sharing System](http://squoze.net/UNIX/v6/files/doc/unix.pdf)
|
||||
|
||||
Many of the other short documents are not available today, but they are available in the volume 2A and 2B of ! Unix v7 manual. While the manual is for v7, most of the information included there applies to every version of Unix.
|
||||
|
||||
- [! Unix Programmer's Manual, 7th Edition, Volume 2A](https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/v7vol2a.pdf)
|
||||
- [! Unix Programmer's Manual, 7th Edition, Volume 2B](https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/v7vol2b.pdf)
|
||||
|
||||
You may also be interested in the PDP-11 manuals. It was the computer on which ! Unix v6 was supposed to run. You can download them from Bitsavers:
|
||||
|
||||
- [PDP-11 Manuals](http://bitsavers.org/pdf/dec/pdp11/)
|
||||
|
||||
A famous book about the ! Unix v6 source code is "A Commentary on the Sixth Edition Unix Operating System" by J. Lions. You can download the book and the associated source code booklet from here:
|
||||
|
||||
- [A Commentary on the Sixth Edition Unix Operating System](http://www.lemis.com/grog/Documentation/Lions/book.pdf)
|
||||
- [Source Code Booklet](http://v6.cuzuco.com/v6.pdf)
|
||||
|
||||
### Interdata 7/32-specific Documentation
|
||||
|
||||
These documents were extracted from the Interdata 7/32 Unix port's installation, and converted to PDF. They only cover the differences in the Interdata 7/32 port. For the full manuals, see above.
|
||||
|
||||
- [! Unix Programmer's Manual, 6th Edition](https://archive.org/download/unix_v6_id32_docs/man.pdf)
|
||||
- [Programming in C − A Tutorial](https://archive.org/download/unix_v6_id32_docs/ctut.pdf)
|
||||
- [C Reference Manual](https://archive.org/download/unix_v6_id32_docs/cman.pdf)
|
||||
- [A tour through the Unix C compiler](https://archive.org/download/unix_v6_id32_docs/cdoc.pdf)
|
||||
- [A new Input-Output package](https://archive.org/download/unix_v6_id32_docs/ios.pdf)
|
||||
- [New C Compiler Features](https://archive.org/download/unix_v6_id32_docs/newstuff.pdf)
|
||||
|
||||
## Related Pages
|
||||
|
||||
- [VirtualHub Screenshots](https://screenshots.virtualhub.eu.org/1970s/1975/unix-v6/)
|
||||
- [Run ! Unix v6 in your web browser](http://takahirox.github.io/pdp11-js/unixv6.html) (Instructions on page)
|
||||
- [Wikipedia](https://en.wikipedia.org/wiki/Version_6_Unix)
|
||||
- [Wikipedia PDP-11 page](https://en.wikipedia.org/wiki/PDP-11)
|
||||
- [Computer History Wiki ! Unix v6 page](https://gunkies.org/wiki/UNIX_Sixth_Edition)
|
||||
- [Computer History Wiki PDP-11 page](https://gunkies.org/wiki/PDP-11)
|
||||
- [The Unix Heritage Society (TUHS) wiki page on ! Unix v6](https://wiki.tuhs.org/doku.php?id=systems:6th_edition)
|
||||
- [Computer History Wiki tutorial on running ! Unix v6 on SIMH](https://gunkies.org/wiki/Installing_UNIX_v6_(PDP-11)_on_SIMH)
|
||||
- [Tutorial from squoze.net on running ! Unix v6 on SIMH](http://squoze.net/UNIX/v6/installation)
|
||||
|
||||
## Credits
|
||||
|
||||
- The manuals were taken from [http://squoze.net](http://squoze.net/), [this page from Bell Labs](https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/bswv7.html) and [Bitsavers](http://bitsavers.org).
|
||||
|
||||
- The Lions book is available from [http://www.lemis.com/](http://www.lemis.com/) and the associated source code booklet from [http://v6.cuzuco.com/](http://v6.cuzuco.com/).
|
323
docs/1970s/1975/unix-v6/simh-pdp11/index.md
Normal file
@ -0,0 +1,323 @@
|
||||
---
|
||||
keywords: ["Unix v6", "Unix", "PDP-11", "SIMH", "1970s", "1975"]
|
||||
image: ./unix-v6-SIMH-PDP-11-23.webp
|
||||
description: 'We can run ! Unix v6 on the SIMH PDP-11 emulator. First, we need to download the ! Unix v6 tape. You can download the tape needed to run it on the SIMH PDP-11 emulator from the squoze.net website.'
|
||||
sidebar_position: 1
|
||||
sidebar_label: "! Unix v6 on SIMH PDP-11"
|
||||
---
|
||||
|
||||
# How to install ! Unix v6 on SIMH PDP-11 emulator?
|
||||
|
||||
![SIMH PDP-11 emulator with ! Unix v6](./unix-v6-SIMH-PDP-11-23.webp)
|
||||
|
||||
We can run ! Unix v6 on the SIMH PDP-11 emulator. First, we need to download the ! Unix v6 tape.
|
||||
|
||||
## Downloads
|
||||
|
||||
You can download the tape needed to run ! Unix v6 on the SIMH PDP-11 emulator from the [squoze.net](http://squoze.net/) website:
|
||||
|
||||
- [! Unix v6 tape](http://squoze.net/UNIX/v6/files/dist.tap)
|
||||
|
||||
## Installing ! Unix v6
|
||||
|
||||
:::tip
|
||||
|
||||
If you have not already installed SIMH PDP-11 emulator, see [the VirtualHub Setup tutorial on how to do so](https://setup.virtualhub.eu.org/simh-pdp11/) on Linux and Windows.
|
||||
|
||||
:::
|
||||
|
||||
Create a folder somewhere to store the files for this VM and move the `dist.tap` file into it.
|
||||
|
||||
Now we will create a temporary config file for our VM. Create a text file called `pdp11.ini` with the following content in the VM folder:
|
||||
|
||||
```ini
|
||||
set cpu 11/40
|
||||
set tm0 locked
|
||||
attach tm0 dist.tap
|
||||
attach rk0 rk0
|
||||
attach rk1 rk1
|
||||
attach rk2 rk2
|
||||
d cpu 100000 012700
|
||||
d cpu 100002 172526
|
||||
d cpu 100004 010040
|
||||
d cpu 100006 012740
|
||||
d cpu 100010 060003
|
||||
d cpu 100012 000777
|
||||
g 100000
|
||||
```
|
||||
|
||||
![Copying pdp11.ini](./unix-v6-SIMH-PDP-11-1.webp)
|
||||
|
||||
Now open a terminal and move to the VM folder. Run the following command to start the emulator:
|
||||
|
||||
```bash
|
||||
pdp11
|
||||
```
|
||||
|
||||
![Copying pdp11](./unix-v6-SIMH-PDP-11-2.webp)
|
||||
|
||||
After the emulator starts, press `Ctrl` + `e`. You will get a `sim>` prompt. Type `g 0` to start the emulation.
|
||||
|
||||
![g 0](./unix-v6-SIMH-PDP-11-3.webp)
|
||||
|
||||
You will get an `=` prompt. Type `tmrk` and press enter. When asked for disk offset, type `0` and press enter. For tape offset, enter `100` and for count `1`.
|
||||
|
||||
![tmrk (1)](./unix-v6-SIMH-PDP-11-4.webp)
|
||||
|
||||
You will get back to an `=` prompt. Run `tmrk` again. This time, for disk offset, enter `1`, for tape offset `101` and for count `3999`.
|
||||
|
||||
![tmrk (1)](./unix-v6-SIMH-PDP-11-5.webp)
|
||||
|
||||
We have successfully copied the base ! Unix files to our disk. Now press `Ctrl` + `e` and enter `exit` to quit the emulator.
|
||||
|
||||
![copying to disk finished](./unix-v6-SIMH-PDP-11-6.webp)
|
||||
|
||||
Now we modify the `pdp11.ini` file and make it as follow:
|
||||
|
||||
```ini
|
||||
set cpu 11/40
|
||||
set tto 7b
|
||||
set tm0 locked
|
||||
attach tm0 dist.tap
|
||||
attach rk0 rk0
|
||||
attach rk1 rk1
|
||||
attach rk2 rk2
|
||||
dep system sr 173030
|
||||
boot rk0
|
||||
```
|
||||
|
||||
![Installation pdp11.ini](./unix-v6-SIMH-PDP-11-7.webp)
|
||||
|
||||
Once again, open a terminal and move to the VM folder. Run the following command to start the emulator:
|
||||
|
||||
```bash
|
||||
pdp11
|
||||
```
|
||||
|
||||
![Installation pdp11](./unix-v6-SIMH-PDP-11-8.webp)
|
||||
|
||||
At the `@` prompt, type `rkunix` and press enter. ! Unix will start.
|
||||
|
||||
![Installation unix](./unix-v6-SIMH-PDP-11-9.webp)
|
||||
|
||||
Now we will rebuild the kernel to support the devices supported bu SIMH. First run `STTY -LCASE` to make ! Unix use lowercase. Now run the following commands (pressing enter after each lines) to build the mkconf executable:
|
||||
|
||||
```bash
|
||||
chdir /usr/sys/conf
|
||||
cc mkconf.c
|
||||
mv a.out mkconf
|
||||
```
|
||||
|
||||
![Building mkconf](./unix-v6-SIMH-PDP-11-10.webp)
|
||||
|
||||
Now we will use mkconf. Run `mkconf` and then type the following, pressing enter after each line:
|
||||
|
||||
```bash
|
||||
rk
|
||||
tm
|
||||
tc
|
||||
8dc
|
||||
lp
|
||||
done
|
||||
```
|
||||
|
||||
![mkconf](./unix-v6-SIMH-PDP-11-11.webp)
|
||||
|
||||
We will now build the kernel and move it to root. Run the following commands:
|
||||
|
||||
```bash
|
||||
as m40.s
|
||||
mv a.out m40.o
|
||||
cc -c c.c
|
||||
as l.s
|
||||
ld -x a.out m40.o c.o ../lib1 ../lib2
|
||||
mv a.out /unix
|
||||
```
|
||||
|
||||
![make kernel](./unix-v6-SIMH-PDP-11-12.webp)
|
||||
|
||||
To verify that the kernel is successfully installed in root, run the following command:
|
||||
|
||||
```bash
|
||||
ls -l /unix
|
||||
```
|
||||
|
||||
![verify kernel](./unix-v6-SIMH-PDP-11-13.webp)
|
||||
|
||||
We will configure the device files now. Run the following commands one by one:
|
||||
|
||||
```bash
|
||||
/etc/mknod /dev/rk0 b 0 0
|
||||
/etc/mknod /dev/rk1 b 0 1
|
||||
/etc/mknod /dev/rk2 b 0 2
|
||||
/etc/mknod /dev/mt0 b 3 0
|
||||
/etc/mknod /dev/tap0 b 4 0
|
||||
/etc/mknod /dev/rrk0 c 9 0
|
||||
/etc/mknod /dev/rrk1 c 9 1
|
||||
/etc/mknod /dev/rrk2 c 9 2
|
||||
/etc/mknod /dev/rmt0 c 12 0
|
||||
/etc/mknod /dev/lp0 c 2 0
|
||||
/etc/mknod /dev/tty0 c 3 0
|
||||
/etc/mknod /dev/tty1 c 3 1
|
||||
/etc/mknod /dev/tty2 c 3 2
|
||||
/etc/mknod /dev/tty3 c 3 3
|
||||
/etc/mknod /dev/tty4 c 3 4
|
||||
/etc/mknod /dev/tty5 c 3 5
|
||||
/etc/mknod /dev/tty6 c 3 6
|
||||
/etc/mknod /dev/tty7 c 3 7
|
||||
chmod 640 /dev/*rk*
|
||||
chmod 640 /dev/*mt*
|
||||
chmod 640 /dev/*tap*
|
||||
```
|
||||
|
||||
![configure device files](./unix-v6-SIMH-PDP-11-14.webp)
|
||||
|
||||
We will copy the source and documentation of ! Unix v6 from the tape to disks now. Run the following commands:
|
||||
|
||||
```bash
|
||||
dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100
|
||||
/etc/mount /dev/rk1 /usr/source
|
||||
dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100
|
||||
mkdir /usr/doc
|
||||
```
|
||||
|
||||
![copy doc and source](./unix-v6-SIMH-PDP-11-15.webp)
|
||||
|
||||
We will add configuration to mount the source and doc disk to correct location on each boot. To do so, run `cat >> /etc/rc` and then type the following two lines (pressing enter after each line):
|
||||
|
||||
```bash
|
||||
/etc/mount /dev/rk1 /usr/source
|
||||
/etc/mount /dev/rk2 /usr/doc
|
||||
```
|
||||
|
||||
Then press `Ctrl` + `D`.
|
||||
|
||||
![configure automount of doc and source disks](./unix-v6-SIMH-PDP-11-16.webp)
|
||||
|
||||
Now we will rebuild the `df` command. To configure `df`, run `chdir /usr/source/s1` to change to appropriate directory, and then run `ed df.c`. Then type the following lines, pressing enter after each line (taking care of the whitespace):
|
||||
|
||||
```bash
|
||||
/rp0/d
|
||||
.-2a
|
||||
"/dev/rk0",
|
||||
"/dev/rk1",
|
||||
.
|
||||
w
|
||||
q
|
||||
```
|
||||
|
||||
Then compile `df` by running `cc -s -O df.c`. Then run the following commands to install it in the correct location:
|
||||
|
||||
```bash
|
||||
cp a.out /bin/df
|
||||
rm a.out
|
||||
```
|
||||
|
||||
![recompile df](./unix-v6-SIMH-PDP-11-17.webp)
|
||||
|
||||
You can check the filesystem by running these commands:
|
||||
|
||||
```bash
|
||||
icheck /dev/rrk0
|
||||
dcheck /dev/rrk0
|
||||
icheck /dev/rrk1
|
||||
dcheck /dev/rrk1
|
||||
icheck /dev/rrk2
|
||||
dcheck /dev/rrk2
|
||||
```
|
||||
|
||||
![check filesystem](./unix-v6-SIMH-PDP-11-18.webp)
|
||||
|
||||
At last we will enable multiuser access for ! Unix. Run `ed /etc/ttys`, and type the following lines, pressing enter after each line:
|
||||
|
||||
```bash
|
||||
1,8s/^0/1/p
|
||||
w
|
||||
q
|
||||
```
|
||||
|
||||
![multiuser access](./unix-v6-SIMH-PDP-11-19.webp)
|
||||
|
||||
That's it. Now run `sync` a few times, and then press `Ctrl` + `e` to pause the emulation. Enter `exit` to quit the emulator
|
||||
|
||||
We have successfully installed ! Unix v6. Now you can delete the `pdp11.ini` and `dist.tap` file.
|
||||
|
||||
## Running Unix v6
|
||||
|
||||
Create a fresh `pdp11.ini` file with the following contents:
|
||||
|
||||
```ini
|
||||
set cpu 11/40
|
||||
set cpu idle
|
||||
set tto 7b
|
||||
set tm0 locked
|
||||
attach rk0 rk0
|
||||
attach rk1 rk1
|
||||
attach rk2 rk2
|
||||
attach lpt printer.txt
|
||||
set dci en
|
||||
set dci lines=8
|
||||
set dco 7b
|
||||
att dci 5555
|
||||
boot rk0
|
||||
```
|
||||
|
||||
![pdp11.ini](./unix-v6-SIMH-PDP-11-21.webp)
|
||||
|
||||
Open a terminal and move to the VM folder. Run the following command to start the emulator:
|
||||
|
||||
```bash
|
||||
pdp11
|
||||
```
|
||||
|
||||
At the `@` prompt, type `unix` and press enter. ! Unix v6 will start.
|
||||
|
||||
You will be asked to log in. Type `root` and press enter to log in. There is no password.
|
||||
|
||||
![! Unix v6 login](./unix-v6-SIMH-PDP-11-22.webp)
|
||||
|
||||
You can now run `ls` to see the list of files. To change directory, you need to use the `chdir` command, `cd` is not available.
|
||||
|
||||
![! Unix v6 list of files in root](./unix-v6-SIMH-PDP-11-23.webp)
|
||||
|
||||
That's it! We used ! Unix v6. We can create a shell script to make it easy to launch the VM.
|
||||
|
||||
### Linux
|
||||
|
||||
Create a file called `unix-v6.sh` with the following content:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
pdp11
|
||||
```
|
||||
|
||||
Now make the file executable:
|
||||
|
||||
```bash
|
||||
chmod +x unix-v6.sh
|
||||
```
|
||||
|
||||
Now you can start the VM using the shell script. For example, on KDE you can right-click the file and choose `Run in Konsole` or on GNOME, where you can right-click the file and choose `Run as executable`. The VM will start.
|
||||
|
||||
See the [manuals section](/1970s/1975/unix-v6/#manuals) on the [main ! Unix v6 page](/1970s/1975/unix-v6) to learn how to use it.
|
||||
|
||||
### Windows
|
||||
|
||||
Create a file called `unix-v6.bat` with the following content:
|
||||
|
||||
```bash
|
||||
pdp11
|
||||
```
|
||||
|
||||
Now you can start the VM by double-clicking the shell script. See the [manuals section](/1970s/1975/unix-v6/#manuals) on the [main ! Unix v6 page](/1970s/1975/unix-v6) to learn how to use it.
|
||||
|
||||
## Credits
|
||||
|
||||
- The tape image above are from the [squoze.net](http://squoze.net/) website.
|
||||
- This tutorial is based on [Computer History Wiki tutorial on running ! Unix v6 on SIMH](https://gunkies.org/wiki/Installing_UNIX_v6_(PDP-11)_on_SIMH).
|
||||
|
||||
## Video tutorial
|
||||
|
||||
Do you want to follow the tutorial by watching a video? We will post a video on our [YouTube channel](https://www.youtube.com/@virtua1hub) soon.
|
||||
|
||||
Archives of this tutorial are available on [Wayback Machine](https://web.archive.org/web/*/https://virtualhub.eu.org/1970s/1975/unix-v6/simh/).
|
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-1.webp
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-10.webp
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-11.webp
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-12.webp
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-13.webp
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-14.webp
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-15.webp
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-16.webp
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-17.webp
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-18.webp
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-19.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-2.webp
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-20.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-21.webp
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-22.webp
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-23.webp
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-3.webp
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-4.webp
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-5.webp
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-6.webp
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-7.webp
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-8.webp
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/1970s/1975/unix-v6/simh-pdp11/unix-v6-SIMH-PDP-11-9.webp
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
docs/1970s/1975/unix-v6/unix-v6.webp
Normal file
After Width: | Height: | Size: 53 KiB |
@ -12,3 +12,4 @@ To learn more about Research Unix, see [this Wikipedia page](https://en.wikipedi
|
||||
- [! Unix v1](/1970s/1971/unix-v1/)
|
||||
- [! Unix v4](/1970s/1973/unix-v4/)
|
||||
- [! Unix v5](/1970s/1974/unix-v5/)
|
||||
- [! Unix v6](/1970s/1975/unix-v6/)
|
||||
|
114
package-lock.json
generated
@ -3629,9 +3629,9 @@
|
||||
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
|
||||
},
|
||||
"node_modules/@types/mdast": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz",
|
||||
"integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==",
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
|
||||
"integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
|
||||
"dependencies": {
|
||||
"@types/unist": "*"
|
||||
}
|
||||
@ -3652,9 +3652,9 @@
|
||||
"integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g=="
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.12.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.10.tgz",
|
||||
"integrity": "sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==",
|
||||
"version": "20.12.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
|
||||
"integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
@ -3693,9 +3693,9 @@
|
||||
"integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
|
||||
},
|
||||
"node_modules/@types/react": {
|
||||
"version": "18.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.1.tgz",
|
||||
"integrity": "sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==",
|
||||
"version": "18.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.2.tgz",
|
||||
"integrity": "sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==",
|
||||
"dependencies": {
|
||||
"@types/prop-types": "*",
|
||||
"csstype": "^3.0.2"
|
||||
@ -4665,9 +4665,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001616",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz",
|
||||
"integrity": "sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==",
|
||||
"version": "1.0.30001620",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz",
|
||||
"integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@ -4871,9 +4871,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cli-table3": {
|
||||
"version": "0.6.4",
|
||||
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz",
|
||||
"integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==",
|
||||
"version": "0.6.5",
|
||||
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
|
||||
"integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
|
||||
"dependencies": {
|
||||
"string-width": "^4.2.0"
|
||||
},
|
||||
@ -5204,9 +5204,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/core-js": {
|
||||
"version": "3.37.0",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.0.tgz",
|
||||
"integrity": "sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==",
|
||||
"version": "3.37.1",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz",
|
||||
"integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==",
|
||||
"hasInstallScript": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
@ -5214,9 +5214,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/core-js-compat": {
|
||||
"version": "3.37.0",
|
||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
|
||||
"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
|
||||
"version": "3.37.1",
|
||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
|
||||
"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
|
||||
"dependencies": {
|
||||
"browserslist": "^4.23.0"
|
||||
},
|
||||
@ -5226,9 +5226,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/core-js-pure": {
|
||||
"version": "3.37.0",
|
||||
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz",
|
||||
"integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==",
|
||||
"version": "3.37.1",
|
||||
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz",
|
||||
"integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==",
|
||||
"hasInstallScript": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
@ -5801,9 +5801,9 @@
|
||||
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
|
||||
},
|
||||
"node_modules/detect-port": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz",
|
||||
"integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==",
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz",
|
||||
"integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==",
|
||||
"dependencies": {
|
||||
"address": "^1.0.1",
|
||||
"debug": "4"
|
||||
@ -5811,6 +5811,9 @@
|
||||
"bin": {
|
||||
"detect": "bin/detect-port.js",
|
||||
"detect-port": "bin/detect-port.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/detect-port-alt": {
|
||||
@ -6008,9 +6011,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.757",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.757.tgz",
|
||||
"integrity": "sha512-jftDaCknYSSt/+KKeXzH3LX5E2CvRLm75P3Hj+J/dv3CL0qUYcOt13d5FN1NiL5IJbbhzHrb3BomeG2tkSlZmw=="
|
||||
"version": "1.4.772",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.772.tgz",
|
||||
"integrity": "sha512-jFfEbxR/abTTJA3ci+2ok1NTuOBBtB4jH+UT6PUmRN+DY3WSD4FFRsgoVQ+QNIJ0T7wrXwzsWCI2WKC46b++2A=="
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "9.2.2",
|
||||
@ -6048,9 +6051,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
"version": "5.16.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz",
|
||||
"integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==",
|
||||
"version": "5.16.1",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz",
|
||||
"integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==",
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.4",
|
||||
"tapable": "^2.2.0"
|
||||
@ -11715,9 +11718,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
|
||||
"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.3.1",
|
||||
@ -13590,12 +13593,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
|
||||
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
|
||||
"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
@ -13617,22 +13617,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/semver/node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/semver/node_modules/yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||
},
|
||||
"node_modules/send": {
|
||||
"version": "0.18.0",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
|
||||
@ -14350,9 +14334,9 @@
|
||||
"integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
|
||||
},
|
||||
"node_modules/svgo": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz",
|
||||
"integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==",
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
|
||||
"integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
|
||||
"dependencies": {
|
||||
"@trysound/sax": "0.2.0",
|
||||
"commander": "^7.2.0",
|
||||
@ -15006,9 +14990,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.0.15",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz",
|
||||
"integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==",
|
||||
"version": "1.0.16",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
|
||||
"integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@ -15025,7 +15009,7 @@
|
||||
],
|
||||
"dependencies": {
|
||||
"escalade": "^3.1.2",
|
||||
"picocolors": "^1.0.0"
|
||||
"picocolors": "^1.0.1"
|
||||
},
|
||||
"bin": {
|
||||
"update-browserslist-db": "cli.js"
|
||||
|