GithubHelp home page GithubHelp logo

anthrax3 / bkunix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sergev/bkunix

0.0 0.0 0.0 928 KB

Unix V6 operating system for Soviet personal computer BK-0010/0011M

License: GNU General Public License v2.0

Makefile 2.17% C 86.75% Yacc 1.52% Assembly 8.80% C++ 0.74% Shell 0.01%

bkunix's Introduction

		BKUNIX - what could have been...

Starting from the mid-1980s in the USSR a home microcomputer BK-0010
was produced that used the instruction set of DEC LSI-11.
Its first version, released in 1985, had 32 Kb of RAM, out of which
up to 16 Kb had to be reserved for the video memory.
A tape recorder was the external storage device. A great variety of games,
educational and text processing software, as well as a few programming
systems have been written for it.

Later, a floppy controller with an extra 16 Kb of RAM became available,
and a flurry of "operating systems" (pseudographic file managers a la
Norton Commander), some of them supporting the MS-DOS and the RT-11 file
systems, achieved popularity.

When an improved version (BK-0011M, featuring 128 Kb of RAM, switchable
video buffers, a timer, and a VT-100 compatible terminal emulator)
got released, RT-11 (SJ - single job) had been ported to it,
and it was the only "real" operating system available on the BK
family of computers.

			*	*	*

After learning about the existence of Mini-Unix and LSX - the minimalistic
Unix kernels derived from Unix V6, and reviving the latter from an incomplete
floppy image dump, I realized that it could have been possible to run a real
Unix on BK-0010! Indeed, LSX in its minimal configuration required only 40 Kb
of RAM, and a BK with a floppy controller could provide up to 44 Kb.

As all the LSX and Mini-Unix sources were written in an ancient dialect of the
C language (no unsigned, void, long; weird - by today's standards - syntax
of assignment operators and initializations), the first step was to patch
the source to conform to the newer style of C. An initial attempt to use
GCC for cross-development failed: it produced a buggy and size-inefficient
code. We have settled on using the Ritchie C compiler from a BSD distribution
and the Johnson Portable C compiler (PCC). In the process, quite a few bugs
in PCC got fixed.

Due to a peculiarity of the BK-0010 memory mapping we had to bring the
kernel up into the 120000-160000 range of addresses. This, and the fact that
the better compilers caused a noticeable reduction in code size, allowed us
to squeeze back the mount/umount system calls.

Before we proceed with the development of a purely BK-specific kernel,
we would like to release the code in a state when it still can work on
an LSI-11 (e.g. in the SIMH simulator).

Leonid Broukhis, Serge Vakulenko

The source files of the V6 Unix operating system have been
released under the BSD license by Caldera International, Inc.
See the accompanying file "Caldera-license" for details.

bkunix's People

Contributors

leobru avatar sergev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.