Dana Vrajitoru
C151 Multi-User Operating Systems
Linux History
Open Source Programming
- Open source programming: 1983, Richard Stallman started the GNU Project (GNU = Gnu is not Unix), a software movement to provide free and quality software.
- 1984 - Stallman started to write the GNU C compiler (gcc), considered as one of the most efficient and robust compilers ever created.
- Open source programs are released under the GNU General Public License.
Linux History
- Minix, the first open source operating system, written by Andrew S. Tanenbaum in C, about 12000 lines of code.
- 1991, first Linux kernel written in C by Linus Torvalds, University of Helsinki, Finland. First message about it posted on August 25, first release in September.
- It was developed with the contribution of many programmers around the world.
- It is functionally similar to Unix (a clone).
Linux Development
- 1993 - FreeBSD 1.0 (Berkley Unix)
- 1994 - RedHat Linux is introduced.
- 1999 - Linux available for PowerPC (Apple)
- Now - adopted by many companies and most universities, third world countries.
- Standard for parallel and high performance computing (Beowulf clusters).
- Available for most computers, including PDA, supports graphical user interfaces, networking, and has many applications.
Why Linux
- It's free! - the source code is also available and anybody can write their own
Linux as long as they include the source code in the distribution.
- Most users consider it a more stable and reliable OS than Windows.
- It's an alternative to Microsoft's dominance of the software market.
- It is multi-tasking, multi-user. Good support of multiple CPUs.
- Many utilities and APIs are now included in most distributions, like the g++
compiler, OpenGL, MPI, pthreads, etc.
- MacOS has now an integrated shell (terminal) and can run X11 applications
which are Unix and Linux specific.
Linux Components
- The kernel - the core of the OS that controls the resources.
- A hierarchical file system (FHS)
- Shells - applications that interpret the commands from the user. They are active in the textual mode or terminal mode. Shells can also execute script files. Examples: bash, tcsh, zsh, sh, etc.
- Graphical interfaces - the X window system. Desktop interfaces: Gnome, KDE, fvwm, etc. Specific libraries: X11, gtk-glib-gnome, Qte, etc.