Minix 3
Minix was originated from the system UNIX. Andrew S. Tanenbaum created it for academic purposes to be taught in universities with the aim of illustrating the concepts of his book Operating Systems(Tanenbaum and Woodhull 2006), Design and Implementation. With his first appearance, many schools began to have laboratory courses in which students examined a real operating system to see how it worked inside (Tanenbaum and Woodhull 2006) .
The original code of Minix was designed for an IBM PC with two-diskette drive and no hard disk. Also was based in UNIX version 7, evolving to support 32-bit protected mode machines with large memory capacity and hard disks. However, in its first 10 years Minix underwent many changes to being based on the international POSIX standard and many others features were added, leading to the creation of LINUX. Minix was ported to others platforms, such as Macintosh, Amiga, Atari and SPARC, becoming widely used at universities.
Organization of the Source Code
The MINIX 3 was implemented for an IBM PC- type machine that uses Intel 32-bit processors.
The file named Makefile is present in every directory of source tree.
The function of it is direct the operation of the UNIX-standard make utility. For summarize the main function of Makefile is to control compilation of files in its directory and may also direct compilation of files in one or more subdirectories.
The main source code directory can be observed below:
src/include/ contains a number of POSIX standard header files src/include/sys/ - contain aditional POSIX headers src/include/minix/ - header files used by the MINIX 3 operating system src/include/ibm/ - header files with IBM PC-specific definitions
src/kernel/ – layer 1 (scheduling, messages, clock and system tasks)
src/drivers/ - layer 2 (device drivers for disk, console, printer, etc.)
src/servers/ - layer 3 (process manager, file system, other services) src/servers/init/ - fisrt user