1. What is linux?
Linux is a completely free reimplementation of the POSIX spec, with
SYSV and BSD extensions (which means it looks like Unix, but does not
come from the same source code base)
- Linux is not public domain
- runs on intel, motorola (Alpha, MIPS, PowerPC, and PowerMAC)
1.1 Who is Linus?
Linus Thorwalds
2. Linux features
- multitasking: several programs running at once.
- multiuser: several users on the same machine at once (and no two-
user licenses!).
- runs in 386 protected mode.
has memory protection between processes, so that one program can't
bring the whole system down.
- demand loads executables: Linux only reads from disk those parts of
a program that are actually used.
- shared copy-on-write pages among executables. This means that
multiple process can use the same memory to run in. When one tries
to write to that memory, that page (4KB piece of memory) is copied
somewhere else. Copy-on-write has two benefits: increasing speed
and decreasing memory use.
- virtual memory using paging (not swapping whole processes) to disk:
to a separate partition or a file in the filesystem, or both, with
the possibility of adding more swapping areas during runtime (yes,
they're still called swapping areas). A total of 16 of these 128
MB swapping areas can be used at once, for a theoretical total of 2
GB of useable swap space.
- a unified memory pool for user programs and disk cache, so that all
free memory can be used for caching, and the cache can be reduced
when running large programs.
- dynamically linked shared libraries (DLL's), and static libraries
too, of course.
- does core dumps for post-mortem analysis, allowing the use of a
debugger on a program not only while it is running but also after
it has crashed.
- mostly compatible with POSIX, System V, and BSD at the source
level.
- through an iBCS2-compliant emulation module, mostly compatible with
SCO, SVR3, and SVR4 at the binary level.
- all source code is available, including the whole kernel and all
drivers, the development tools and all user programs; also, all of
it is freely distributable. There are some commercial programs
being provided for Linux now without source, but everything that
has been free is still free.
- POSIX job control.
- pseudoterminals (pty's).
- 387-emulation in the kernel so that programs don't need to do their
own math emulation. Every computer running Linux appears to have a
math coprocessor. Of course, if your computer already contains an
FPU, it will be used instead of the emulation, and you can even
compile your own kernel with math emulation removed, for a small
memory gain.
- support for many national or customized keyboards, and it is fairly
easy to add new ones dynamically.
- multiple virtual consoles: several independent login sessions
through the console, you switch by pressing a hot-key combination
(not dependent on video hardware). These are dynamically
allocated; you can use up to 64.
- Supports several common filesystems, including minix-1, Xenix, and
all the common system V filesystems, and has an advanced filesystem
of its own, which offers filesystems of up to 4 TB, and names up to
255 characters long.
- transparent access to MS-DOS partitions (or OS/2 FAT partitions)
via a special filesystem: you don't need any special commands to
use the MS-DOS partition, it looks just like a normal Unix
filesystem (except for funny restrictions on filenames,
permissions, and so on). MS-DOS 6 compressed partitions do not
work at this time, and are not expected to. VFAT (WNT, Windows 95)
support is being tested.
- special filesystem called UMSDOS which allows Linux to be installed
on a DOS filesystem.
- read-only HPFS-2 support for OS/2 2.1
- CD-ROM filesystem which reads all standard formats of CD-ROMs.
- TCP/IP networking, including ftp, telnet, NFS, etc.
3. Requirement to run Linux
386SX/16, 2 MB RAM
10MB
4. Support
- [345]86{sx,dx}
- 2MB-1024MB
- IDE, MFM, RLL, SCSI
- tapes
- Many networki adapters
- Many videoadapters
- others
5. Software to run
- all unix programs
- many "just for linux"
6. How to get
ftp, cd, mail, floppy, nfs.
7. Future
- new unix features
- new linux features
- bug(?) fixes
- ports to other platforms