10-14-2002
The history of UNIX and the ideas behind it
Hi. I am new here, and this is my first post at the UNIX.com forums. I have read the book Fire in the Valley: The Making of the Personal Computer, and I noticed that neither UNIX nor Linux was mentioned once in the book. Why is this? What was UNIX's place in the early days of personal computers?
I realize that mainframes probably had proprietary operating systems specific to the manufacturer, or even the model of the computer. And it is also true that personal computers either had homebrewed operating systems or basic operating systems like Q-DOS or CP/M.
But what about UNIX? Where does that fit in? I've given it some thought, and it seems sensible that minicomputers (note that I refer to minicomputers as computers such as the PDP-8) might have used UNIX. It sounds like that would fit. Mainframe computers have their own proprietary operating system, minicomputers have a good operating system, such as UNIX, and UNIX probably won't fit on personal computers, so developers made homebrewed operating systems. Am I right?
Also, I have another question about the structure and basic ideas of UNIX. A small portion of the book Just for Fun, of which my copy is signed by Linus Torvalds, states that UNIX was a small-is-beautiful operating system. So I thought about how that would work. I would have the operating system take care of tasks such as the filesystem and the management of processes. But if thats roughly what UNIX does, what is Unix then? Is it just a central control station of the computer that manages processes, and manages the file system?
I also gave some thought about the notion of processes. Say I was making an operating system. I would either make a process for or integrate into the shell something like saving files and opening them. This process would take care of all of the stuff having to do with files. Maybe the file system itself would be embedded into the operating system, but this would not. Since it would be a modern operating system, it would seem sensible and convenient to not only add support for the hard drive, but for the floppy disk and the CD-ROM drive and CD-RW. I would want to have the desired effect of something like this:
> write E: doc1.txt, doc2.txt, doc3.tga, doc5.pdf
Even if this was a CD-RW, it would write the files to the E: drive. Would this be what a file i/o process would do, or would it have a special process for the floppy disk, the hard drive, and the CD-RW?
One last thing: in the shell sample I wrote above, write would be a command of the shell, and the word write would signal to start the process FILEio.exe with the parameters of E:, doc1.txt..., right?
I am sorry if I have bored you with my endless post. Thanks!
10 More Discussions You Might Find Interesting
1. News, Links, Events and Announcements
Link describe the Step by step formation of Unix
http://perso.wanadoo.fr/levenez/unix/
Also:
- History
- Author of First Unix C Language
- Unix Family research Tree
- BSD and Sun History chart
- Technical Comparison between Unix Diffrences (4 Replies)
Discussion started by: killerserv
4 Replies
2. UNIX for Dummies Questions & Answers
I tried looking for the answer online and came up with only a few semi-answers as to why file and directory names are case sensitive in Unix. Right off the bat, I'll say this doesn't bother me. But I run into tons of Windows and OpenVMS admins in my day job who go batty when they have to deal... (3 Replies)
Discussion started by: deckard
3 Replies
3. UNIX and Linux Applications
Hi everybody Im Megadrink!!!
This is my first thred.
Ive recently been introduced to Unix and i was interested in Unix's History. Can anyone give me a breif History On Unix. Just when it was invented/released. Maybe someother cool things about it.
Thx for the information in advance!! :D (2 Replies)
Discussion started by: Megadrink
2 Replies
4. Hardware
Dear all,
i am in last year of electronics department in engineering faculty
i need suggestions for a graduation project based on unix or free bsd or linux and electronics "embedded linux "
i think about embedded unix for example or device drivers
please i need helps (1 Reply)
Discussion started by: MOHA-1
1 Replies
5. UNIX and Linux Applications
Dear all,
i am in last year of electronics department in engineering faculty
i need suggestions for a graduation project based on unix or free bsd or linux and electronics "embedded linux "
i think about embedded unix for example or device drivers
please i need helps (1 Reply)
Discussion started by: MOHA-1
1 Replies
6. UNIX for Advanced & Expert Users
Dear all,
i am in last year of electronics department in engineering faculty
i need suggestions for a graduation project based on unix or free bsd or linux and electronics "embedded linux "
i think about embedded unix for example or device drivers
please i need helps (1 Reply)
Discussion started by: MOHA-1
1 Replies
7. Homework & Coursework Questions
Dear all,
i am in last year of electronics department in engineering faculty
i need suggestions for a graduation project based on unix or free bsd or linux and electronics "embedded linux "
i think about embedded unix for example or device drivers
please i need helps (1 Reply)
Discussion started by: MOHA-1
1 Replies
8. Shell Programming and Scripting
Hi guys,
I am currently working as a system administration engineer, administering telecom applications on linux/unix platforms.
I want to learn new things and improve the ones that i have and for this i though to really work on some project or something but i lack of ideas.
I want to be... (2 Replies)
Discussion started by: capitanui
2 Replies
9. Shell Programming and Scripting
commands to view the history file in unix.
I am not sure whether it is bash_history.sh (1 Reply)
Discussion started by: ramkumar15
1 Replies
10. What is on Your Mind?
I am pleased to announce this new video in 1080 HD for UNIX lovers honoring thirty years of UNIX history spanning from 1969 to 1999 presented in 150 seconds (two and a half minutes) in 1080 HD, celebrating the 50th anniversary of UNIX.
The Great History of UNIX (1969-1999) | 30 Years of UNIX... (8 Replies)
Discussion started by: Neo
8 Replies
C(7) BSD Miscellaneous Information Manual C(7)
NAME
c, c78, c89, c90, c99 -- The C programming language
DESCRIPTION
C is a general purpose programming language, which has a strong connection with the UNIX operating system and its derivatives, since the vast
majority of those systems were written in the C language. The C language contains some basic ideas from the BCPL language through the B lan-
guage written by Ken Thompson in 1970 for the DEC PDP-7 machines. The development of the UNIX operating system was started on a PDP-7
machine in assembly language, but it made very difficult to port the existing code to other systems.
In 1972 Dennis M. Ritchie worked out the C programming language for further development of the UNIX operating system. The idea was to imple-
ment only the C compiler for different platforms, and implement most part of the operating system in the new programming language to simplify
the portability between different architectures. It follows that C is very eligible for (but not limited to) writing operating systems and
low-level applications.
The C language did not have a specification or standardized version for a long time. It went through a lot of changes and improvements for
ages. In 1978, Brian W. Kernighan and Dennis M. Ritchie published the first book about C under the title "The C Programming Language". We
can think of this book as the first specification of the language. This version is often referred as K&R C after the names of the authors.
Sometimes it is referred as C78, as well, after the publishing year of the first edition of the book.
It is important to notice, that the instruction set of the language is limited to the most fundamental elements for simplicity. Handling of
the standard I/O and such common functions are implemented in the libraries shipped with the compiler. As these functions are also widely
used, it was demanded to include into the description what requisites the library should conform to, not just strictly the language itself.
Accordingly, the aforementioned standards cover the library elements, as well. The elements of this standard library is still not enough for
more complicated tasks. In this case the provided system calls of the given operating system can be used. To not lose the portability by
using these system calls, the POSIX (Portable Operating System Interface) standard evolved. It describes what functions should be available
to keep portability. Note, that POSIX is not a C standard, but an operating system standard and thus is beyond the scope of this manual.
The standards discussed below are all C standards and only cover the C programming language and the accompanying library.
After the publication of the book mentioned before, the American National Standards Institute (ANSI) started to work on standardizing the
language, and they announced ANSI X3.159-1989 in 1989. It is usually referred as ANSI C or C89. The main difference in this standard were
the function prototypes, which is a new way of declaring functions. With the old-style function declarations, the compiler was unable to
check the sanity of the actual parameters at a function call. The old syntax was highly error-prone because incompatible parameters were
hard to detect in the program code and the problem only showed up at run-time.
In 1990, the International Organization for Standardization (ISO) adopted the ANSI standard as ISO/IEC 9899:1990 in 1990. This is also
referred as ISO C or C90. It only contains negligible minor modifications against ANSI C, so the two standards often considered to be fully
equivalent. This was a very important milestone in the history of the C language, but the development of the language did not stop.
The ISO C standard was later extended with an amendment as ISO/IEC 9899 AM1 in 1995. This contained, for example, the wide-character support
in wchar.h and wctype.h. Two corrigenda were also published: Technical Corrigendum 1 as ISO/IEC 9899 TCOR1 in 1995 and Technical Corrigendum
2 as ISO/IEC 9899 TCOR1 in 1996. The continuous development and growth made it necessary to work out a new standard, which contains the new
features and fixes the known defects and deficiencies of the language. As a result, ISO/IEC 9899:1999 was born in 1999. Similarly to the
other standards, this is referred after the publication year as C99. The improvements include the following:
o Inline functions
o Support for variable length arrays
o New high-precision integer type named long long int, and other integer types defined in stdint.h
o New boolean data type implemented in stdbool.h
o One line comments taken from the C++ language
o Some new preprocessor features
o New variables can be declared anywhere, not just in the beginning of the program or program blocks
o No implicit int type
Since then new standards have not been published, but the C language is still evolving. New and useful features have been showed up in the
most famous C compiler: GNU C. Most of the UNIX-like operating systems use GNU C as a system compiler, but those addition in GNU C should
not be considered as standard features.
SEE ALSO
c89(1), c99(1), cc(1)
STANDARDS
ANSI, X3.159-1989.
ISO/IEC, 9899:1990, Programming languages -- C.
ISO/IEC, 9899 AM1.
ISO/IEC, 9899 TCOR1, Programming languages -- C, Technical Corrigendum 1.
ISO/IEC, 9899 TCOR2, Programming languages -- C, Technical Corrigendum 2.
ISO/IEC, 9899:1999, Programming languages -- C.
HISTORY
This manual page first appeared in FreeBSD 9.0.
AUTHORS
This manual page was originally written by Gabor Kovesdan <gabor@FreeBSD.org>.
BSD
May 30, 2011 BSD