Operating System Kernel and the boot process Nick Urbanik Copyright Conditions: GNU FDL (see http://www.gnu.org/licenses/fdl.html) Department of Information and Communications Technology Operating System: Kernel and boot process . Role of OS What is an operating system?. . . . . . . . . . The os is the kernel. . . . . . . . . . . . . . . . . Kernel in Linux . . . . . . . . . . . . . . . . . . . . Kernel in Windows xp, 2000, Win nt . . . What does an os do? . . . . . . . . . . . . . . . . Is there a User Friendly os? . . . . . . . . . . . Example: mac os X . . . . . . . . . . . . . . . . IE part of Windows? . . . . . . . . . . . . . . . . What resources? . . . . . . . . . . . . . . . . . . . . . . Allocated to who/what?. . . . . . . . . . . . Kernel mode and user mode . . . . . . . . . . . Access Hardware? . . . . . . . . . . . . . . . . . . System Calls System calls . . . . . . . . . . . . . . . . . . . . . . System Call. . . . . . . . . . . . . . . . . . . . . . . System Calls — Linux . . . . . . . . . . . . . . . Windows System Calls . . . . . . . . . . . . . . . Types of OS Types of Operating System . . . . . . . . . . . Types of OS? . . . . . . . . . . . . . . . . . . . . . Monolithic Kernel Monolithic Kernel . . . . . . . . . . . . . . . . . . Monolithic kernel — 2 . . . . . . . . . . . . . . . Structure in a Monolithic Kernel. . . . . . . . Monolithic kernel: loadable modules . . . . . Monolithic kernel: Loadable Modules . . . . Layered Kernel Layered kernel . . . . . . . . . . . . . . . . . . . . . Layered Kernel — 2 . . . . . . . . . . . . . . . . . Microkernel Microkernel with Client-Server Arch.. . . . . Microkernel Architecture — 2 . . . . . . . . . . Microkernel Architecture — 3 . . . . . . . . . . Microkernel Architecture — Examples. . . . Windows 2000 Architecture . . . . . . . . . . . . . . . . . . . . . . . . slide 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . slide 3 slide 4 slide 5 slide 6 slide 7 slide 8 slide 9 slide 10 slide 11 slide 12 slide 13 slide 14 slide slide slide slide 15 16 17 18 . . . . . . . . . . . . slide 19 . . . . . . . . . . . . slide 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . slide slide slide slide slide 21 22 23 24 25 . . . . . . . . . . . . slide 26 . . . . . . . . . . . . slide 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . slide slide slide slide slide 28 29 30 31 32 Windows 2000 Architecture — 2 . . . . . . Virtual machine Virtual machine. . . . . . . . . . . . . . . . . . Virtual Machine os Examples. . . . . . . . Linux on zVM on ZSeries Mainframe. . . Many Individual Machines . . . . . . . . . . Many Virtual Machines, one Mainframe In Kernels, “small is beautiful” . . . . . . . Boot Process Booting an Operating System . . . . . . . . Booting a pc . . . . . . . . . . . . . . . . . . . Boot Loader . . . . . . . . . . . . . . . . . . . . Boot Process . . . . . . . . . . . . . . . . . . . . BIOS . . . . . . . . . . . . . . . . . . . . . . . . . VMWare Boot Screen . . . . . . . . . . . . . Boot Loaders: what they do . . . . . . . . . The kernel is loaded. . . . . . . . . . . . . . . Real and Protected mode . . . . . . . . . . . init. . . . . . . . . . . . . . . . . . . . . . . . . . . Runlevels Runlevels . . . . . . . . . . . . . . . . . . . . . . Directories for each runlevel . . . . . . . . . Runlevel directories . . . . . . . . . . . . . . . Example of service: yum . . . . . . . . . . . . Turning yum off . . . . . . . . . . . . . . . . . Turning yum on . . . . . . . . . . . . . . . . . References References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . slide 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide slide 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 Operating System: Kernel and boot process What is it? What does it do? How does it start up? OSSI — ver. 1.3 Operating System Kernel and Booting — slide 2 What is an operating system? Is it what you get when you install Linux, Windows xp or Windows 2000? Does it include such things as (g)notepad, g++ or Visual C++? How about bash, cmd.exe or command.com? Operating System Kernel and Booting — slide 3   OSSI — ver. 1.3 . . . . . . . . . . . . . . slide 56 The os is the kernel The operating system is the kernel When the computer boots the operating system, it loads the kernel into memory. Operating System Kernel and Booting — slide 4     OSSI — ver. 1.3     Kernel in Linux In Linux, kernel can be loaded by lilo or grub Kernel is in /boot In RH 9, it is ◦ /boot/vmlinuz-2.4.20-20.9, ◦ or if you build your /boot/vmlinuz-2.4.22-ac6 It is a monolithic kernel Operating System Kernel and Booting — slide 5     Is there a User Friendly os? Some people have said that the Windows oss are more user friendly than Linux Can this be the case? ◦ Are the system calls more user friendly? own, something like – (see slides 15– 18 for more about system calls) ¡         ◦ Does Windows manage the hardware in a more user friendly way? No! The user interface is not an operating system issue. See your subject Human Computer Interfaces (hci) Do you want a more user friendly interface for Linux? ◦ Then write one! Contribute to the Gnome or kde projects. OSSI — ver. 1.3 Operating System Kernel and Booting — slide 8   OSSI — ver. 1.3 Kernel in Windows xp, 2000, Win nt In %SystemRoot%\System32 ◦ %SystemRoot% = C:\winnt, or D:\winnt,. . . Called ntoskrnl.exe Microsoft call it a layered kernel or microkernel. sometimes called the “Executive services” and the “nt executive” Bottom layer is the hardware abstraction layer Operating System Kernel and Booting — slide 6           Example: mac os X The Mac has a deserved reputation for a great user interface os X is the latest os from Apple Very beautiful, easy to use But it is Unix, built on Freebsd! ◦ The Unix that till now has mostly been used on servers; ◦ considered by some to be less user friendly than Linux The User Interface is not part of the os Operating System Kernel and Booting — slide 9 OSSI — ver. 1.3     OSSI — ver. 1.3   What does an os do? Provides a “government” to share out the hardware resources fairly Provides a way for the programmer to easily work with the hardware and software through a set of system calls — see slides 15– 18. ◦ Sometimes also called supervisor calls OSSI — ver. 1.3 Operating System Kernel and Booting — slide 7 ¡     ¡         ¡ Is ie part of Windows oss? Is Internet Explorer part of the Windows operating systems? Please discuss this question with your neighbour.   Kernel mode and user mode Kernel means “central part” The kernel is the central part of os It is a program running at all times Application programs run in “user mode” ◦ Cannot access hardware directly Kernel runs in “kernel mode” (or “supervisor mode”) ◦ Can access hardware, special cpu registers OSSI — ver. 1.3 Operating System Kernel and Booting — slide 13                   See http://news.com.com/2100-1001-219029.html?legacy=cnet OSSI — ver. 1.3 Operating System Kernel and Booting — slide 10     What resources does os manage? The os manages resources such as: ◦ Use of cpu ◦ Memory ◦ Files and disk access ◦ Printing ◦ Network access ◦ i/o devices such as keyboard, mouse, display, usb devices, . . . OSSI — ver. 1.3 Operating System Kernel and Booting — slide 11   How does user program access hardware? A program that writes to the disk accesses hardware How? Standard library call, e.g., fprintf() Library contains system calls ◦ see slides 15– 18 ¡ ¡ . . . Allocated to who/what? An operating system can be multiuser ◦ In this case, resources must be allocated to the users fairly “Proper” operating systems are multitasking ◦ Resources must be allocated fairly to the processes Users, processes must be protected from each other. Operating System Kernel and Booting — slide 12       A system call passes the request to the kernel The kernel, (executing in kernel mode always) writes to the disk Returns telling user program that it was successful or not Operating System Kernel and Booting — slide 14 OSSI — ver. 1.3 OSSI — ver. 1.3       Kernel: programmers’ standard interface This is the second important function of the operating system Provides a standard set of system calls, used by the libraries User programs usually use the system calls indirectly ◦ since libraries give higher level interface OSSI — ver. 1.3 Operating System Kernel and Booting — slide 15   System Calls — Linux posix specifies particular function calls that usually map directly to system calls — see man section 2 Provide a higher level interface to system calls Less than 300 of them. Examples: Description Create a child process identical to parent process Terminate process and return status Open a file for reading, writing or both Close an open file Read data from file into a buffer Write data from buffer into a file Change working directory of process       Call pid = fork() exit( status ) fd = open( file, O RDONLY ) status = close( fd ) n = read( fd, buffer, nbytes ) n = write( fd, buffer, nbytes ) System Call Low level details: ◦ cpu provides a trap instruction which puts the cpu into a priveleged mode, i.e., kernel mode – On Intel ix86 architecture, the trap instruction is the int 0x80 instruction – See include/asm-i386/unistd.h and arch/i386/kernel/entry.S in Linux source code. See also http://en.tldp.org/LDP/khg/HyperNews/get/syscall/syscall86.html ◦ Sometimes called a software interrupt ◦ put parameters into cpu registers before the call ◦ save values of many registers on a stack High level: all this buried in external library interface Operating System Kernel and Booting — slide 16 OSSI — ver. 1.3     status = chdir( dirname ) OSSI — ver. 1.3     Operating System Kernel and Booting — slide 17 System Calls — Windows and Win32 api Win32 api provides many thousands of calls No one-one mapping to system calls Not all make a system call On some versions of Windows oss, graphics calls are system calls, on others they are not Win32 api documented on msdn. Examples: Win32 CreateProcess ExitProcess CreateFile CloseHandle ReadFile WriteFile Description create a new process Terminate execution Create a file or open existing file Close a file Read data from a file Write data to a file Operating System Kernel and Booting — slide 18   What types of operating systems are there? There are four main categories; depends on organisation of the kernel Monolithic operating systems ◦ Linux is a monolithic os Layered operating systems ◦ Windows nt/2000/xp/2003 is described as a layered architecture Microkernel with client server architecture ◦ The qnx real-time os is truly a microkernel; the kernel is said to be only eight kilobytes in size! ◦ Andrew Tanenbaum wrote the minix operating system as an example microkernel os for students to study ◦ The gnu Hurd os has a microkernel architecture ◦ Windows 2000 is described as having a hybrid layeredmicrokernel architecture, although Andrew Tanenbaum disagrees: http://www.cs.vu.nl/∼ast/brown/ Virtual machine architecture Operating System Kernel and Booting — slide 20 OSSI — ver. 1.3             POSIX fork exit open close read write OSSI — ver. 1.3         Types of Operating System Monolithic Kernel A monolithic kernel has all procedures in the same address space. ◦ This means that all the code can see the same global variables, same functions calls, and ◦ there is only one set of addresses for all the kernel A rough breakdown of the types of os OSSI — ver. 1.3 Operating System Kernel and Booting — slide 19 Purpose is speed: ◦ to reduce overhead of communication between layers Operating System Kernel and Booting — slide 21 OSSI — ver. 1.3   Monolithic kernel — 2 client process n client process 1 Monolithic kernel: Loadable Modules Loadable modules in Linux kernel support: Dynamic Linking: modules can be loaded and linked with the kernel, or unloaded, while kernel is executing Stackable Modules: Modules can provide support for each other, so many modules can be stacked on a lower level module. Reduces replication of code Hierarchical structure ensures that modules will remain loaded while required View loaded modules by typing lsmod Operating System Kernel and Booting — slide 25 ..... user mode Monolithic kernel includes: virtual memory, I/O, file handling scheduling, device drivers,... Hardware OSSI — ver. 1.3 kernel mode                     Operating System Kernel and Booting — slide 22 Structure in a Monolithic Kernel To avoid chaos, a monolithic kernel must be well structured Linux kernel uses loadable modules, which support hardware and various software features Such as raid, Logical Volume Managers, various file systems, support for various networking protocols, firewalling and packet filtering,. . . Operating System Kernel and Booting — slide 23   OSSI — ver. 1.3 OSSI — ver. 1.3     Layered kernel Monolithic kernel: loadable modules dynamically loadable modules to support hardware, device drivers Monolithic kernel client process n client process 1       Has different levels; example: Lowest level manages hardware Next level up manages, e.g., memory and disks Next level up manages i/o,. . . . Each layer may have its own address space Communication between layers requires overhead Advantage is different layers cannot interfere with each other. Operating System Kernel and Booting — slide 26 ..... user mode ... kernel mode Hardware OSSI — ver. 1.3 Operating System Kernel and Booting — slide 24 OSSI — ver. 1.3 Layered Kernel — 2 5 4 3 2 1 0 User Programs File Systems Interprocess Communication I/O and device management Virtual memory Primative process management Hardware OSSI — ver. 1.3 Operating System Kernel and Booting — slide 27 Microkernel Architecture — 3 Most of operating system is a set of user processes the server processes do most of the work The microkernel mostly just passes requests from client processes to server processes virtual memory process server       Microkernel with Client-Server Arch. Microkernel architecture keeps the kernel as small as possible, for the sake of reliability and security As much is done in the user space as possible User space provides servers, such as memory server, file server, terminal server, process server Kernel directs requests from user programs to user servers Operating System Kernel and Booting — slide 28     Microkernel OSSI — ver. 1.3 Operating System Kernel and Booting — slide 30   Microkernel Architecture — Examples Mach kernel used as core for many Unix os ◦ including the mac os X gnu Hurd os, initiated by Richard Stallman for the gnu project The qnx distributed real-time Unix-like os ◦ kernel only 8 KB in size!   OSSI — ver. 1.3 Microkernel Architecture — 2       file server ..... virtual memory process server device drivers client process It can be debated whether Windows nt/2000/xp/2003 operating systems are microkernels: “With all the security problems Windows has now, it is increasingly obvious to everyone that tiny microkernels, like that of minix, are a better base for operating systems than huge monolithic systems.” — Prof. Andrew Tanenbaum, http://www.cs.vu.nl/∼ast/brown/ user mode Microkernel Hardware OSSI — ver. 1.3 kernel mode Operating System Kernel and Booting — slide 29 OSSI — ver. 1.3   Operating System Kernel and Booting — slide 31 file server Client obtains service by sending messages to server process device drivers client process ..... Windows 2000 Architecture Windows 2000 is described as a hybrid between a layered architecture and microkernel architecture. hal provides an abstract machine—aim to make porting to other hardware architectures easier hal + Microkernel ≈ normal microkernel   Virtual machine Virtual hardware Many operating systems run independently on same computer ibm now selling mainframes running many instances of Linux to Telecom companies — see next slides VMWare allows something http://www.VMWare.com similar on pc:                 Environment subsystem I/O Manager Executive Microkernel Hardware Abstraction Layer (HAL) Hardware http://www.connectix.com/ used to sell Virtual PC and Virtual Server, but they have been bought out by Microsoft, who of course, have dropped Linux support: http://www.msfn.org/comments.php?id=5516&catid=1 Java Virtual machine also provides virtual hardware that all programs can execute on. Operating System Kernel and Booting — slide 34 OSSI — ver. 1.3 Operating System Kernel and Booting — slide 32 OSSI — ver. 1.3 Windows 2000 Architecture — 2 Environment subsystem aims to support DOS, Win32, OS/2 applications ◦ each environment subsystem uses a dll (dynamic link library) to convert system calls to Windows 2000 calls The i/o manager contains file system and device drivers Microkernel, hal and “many functions of the executive” execute in kernel mode. ◦ Sacrifice advantage of microkernel of reduced code executing in kernel mode OSSI — ver. 1.3     Virtual Machine os Examples ibm designed the cp/cms virtual os for their S/360 mainframe. Later called vm/370 to run on their S/370 mainframes Later called vm/esa on the S/390 hardware Now sold as zvm ¢       running on zSeries mainframes   ◦ Supports running many different os, particularly Linux ◦ See http://www.vm.ibm.com/ See how mit run Linux on vm/esa on their S/390 mainframe: http://mitvma.mit.edu/system/vm.html Search the web for articles on Linux running on mainframes. Operating System Kernel and Booting — slide 35     ◦ to reduce communication overhead Operating System Kernel and Booting — slide 33 OSSI — ver. 1.3   Linux on zVM on ZSeries Mainframe Virtual zSeries 900 machines OS executes I/O instruction here: User apps Linux 1 Linux 2 trap here Linux n Application makes a system call here: Many Virtual Machines, one Mainframe Can replace many individual servers with one mainframe running many instances of an os such as Linux ◦ The demand spread out among all the virtual machines, ◦ total utilisation high — demand shared ◦ busy virtual machines get more cpu power to meet peak demand ◦ Much lower power requirements ◦ Much less air conditioning cost ◦ Much less floor space required Virtual machines partitioned from each other, like the individual machines in data centre Operating System Kernel and Booting — slide 38     trap here: zVM Operating System Kernel and Booting — slide 36 zSeries 900 Hardware OSSI — ver. 1.3 OSSI — ver. 1.3 Many Individual Machines A data centre may have many servers ◦ Each must be powerful enough to meet peak demand ◦ Most are not at peak demand most of the time ◦ . . . so most are underused ◦ . . . but must pay for electricity for cooling, and for powering all that reserve capacity OSSI — ver. 1.3 Operating System Kernel and Booting — slide 37   With Kernels, “small is beautiful” The reliable operation of any computer depends on its operating system, i.e., it’s kernel. More complex software has higher chance of bugs, security problems, vulnerability to worms and viruses Linus Torvalds imposes a strict discipline on kernel developers to carefully restrict code that will increase size of kernel Linux does not suffer from “kernel bloat” ◦ Compare the size of the Windows 2000 “microkernel:” several megabytes, cannot be booted from floppy ◦ Linux: small enough to fit on one floppy together with many useful tools: http://www.toms.net/rb/ Movies: ◦ Linus discusses Monolithic, Microkernel design, ETU, avi, avi2 OSSI — ver. 1.3 Operating System Kernel and Booting — slide 39     Booting a pc The process of starting the computer ready for use How does a computer boot? Involves: bios (“basic input output system”) finding the boot loader The boot loader starting the kernel For Linux: The kernel starting init init starting everything else Operating System Kernel and Booting — slide 41                               OSSI — ver. 1.3 Boot Loader A boot loader is a piece of software that runs before any operating system, and is responsible for loading an operating system kernel, and transferring control to it Microsoft os provides a boot loader that starts their os from the first active primary partition We use the grub (Grand Unified Boot Loader) boot loader that can start any operating system from almost any hard disk, floppy or network. Operating System Kernel and Booting — slide 42 Booting an Operating System The os manages the hard disks. How can the system read the hard disk to start the os? OSSI — ver. 1.3 Operating System Kernel and Booting — slide 40 OSSI — ver. 1.3 The boot process for a pc the bios performs a power on self-test (post) the bios initialises pci (Peripheral Component Interconnect) devices the bootloader loads the first part of the kernel into system ram the kernel identifies and initialises the hardware in the computer the kernel changes the cpu to protected mode init starts and reads the file /etc/inittab the system executes the script /etc/rc.d/rc.sysinit the system executes scripts in /etc/rc.d/init.d to start services (daemons) Operating System Kernel and Booting — slide 43   VMWare Boot Screen             OSSI — ver. 1.3 Operating System Kernel and Booting — slide 45 OSSI — ver. 1.3 Before the bootloader: The bios The bios runs in real mode (like old 8086) bios tests hardware with basic Power On Self Test (post) bios then initialises the hardware. Very important for the pci devices, to ensure no conflicts with interrupts. See a list of pci devices. bios settings determine order of boot devices; when finds one, loads first sector into ram, starts executing that code. Operating System Kernel and Booting — slide 44     Boot Loaders: what they do Syslinux is the simplest, grub has the most features, lilo in between Grub provides many interactive commands that allow: ◦ Reading many different file systems ◦ Interactively choosing what to boot ◦ Many, many more things (do pinfo grub) ◦ All before any operating system started!! Grub and lilo let you choose what os to boot Operating System Kernel and Booting — slide 46 OSSI — ver. 1.3       OSSI — ver. 1.3           The kernel is loaded Boot loader reads first part of the kernel into ram, executes the code This initial kernel code loads the rest of the kernel into ram The kernel checks the hardware again The kernel switches from real mode to protected mode Operating System Kernel and Booting — slide 47   Kernel in Protected Mode:   , pid 1 ¤ ¥£ £¦ The kernel then starts the first process, process 1: /sbin/init /sbin/init reads the /etc/inittab Init starts reading the script /etc/rc.d/rc.sysinit /etc/inittab tells init to do this init then executes scripts in /etc/rc.d/init.d to start services Operating System Kernel and Booting — slide 49       OSSI — ver. 1.3 OSSI — ver. 1.3 Real and Protected mode Real mode exists for booting, and so that can run old dos programs Uses only bottom 16 bits of registers Can only access the bottom 1 mb ram bios only supports real mode Protected mode uses all 32 bits of address registers Allows access to all ram Allows use of memory management unit Normal mode of operation for modern oses on Intel platform. Cannot call bios functions in protected mode Operating System Kernel and Booting — slide 48     Runlevels A standard Linux system has 7 modes called runlevels: 0: halt (shut down the machine) 1: single user mode 2: multiuser with no network services 3: full mulituser mode 4: can be customised; default same as 3 5: multiuser with graphical login 6: reboot OSSI — ver. 1.3 Operating System Kernel and Booting — slide 50   OSSI — ver. 1.3                       Directories for each runlevel If you look in /etc/rc.d, you see one directory for each runlevel, and a directory called init.d:  ©   Example of service:   )0 6$ ( In the laboratory, you set up the yum service to automatically install software updates You used the chkconfig program to enable the service. ◦ For a complete manual on chkconfig, type: $ ( 6$ 2 &3 % % 45 3 $ init.d rc ¨§    ©  rc0.d rc1.d    rc2.d rc3.d rc4.d rc5.d rc6.d rc.local rc.sysinit init.d contains one script for each service. You execute these scripts with the service command, i.e., $ %$  ' ( '  ! "# ! &   & " '   ◦ For a brief summary of options, type: 7 $   % 97 3$ 8 45 1 !4 @ @ OSSI — ver. 1.3 Operating System Kernel and Booting — slide 51 Here we use the program find (covered in detail later) to see the links before and after Operating System Kernel and Booting — slide 53 OSSI — ver. 1.3 Runlevel directories Each of /etc/rc.d/rc[0-6].d contains symbolic links to scripts in /etc/rc.d/init.d ◦ A symbolic link is a bit like a shortcut in Windows (but more fundamental) ◦ We cover symbolic links in detail later If name of link begins with K, the script will stop (kill) the service If name of link begins with S, will start the service The chkconfig program creates these symbolic links Operating System Kernel and Booting — slide 52       Turning   G CD EF C G QG RS H PI C aG T PI E `Q Service Off UV I T DW Y X X )0 $ $ yum 0:off $ /etc/rc.d/init.d/yum /etc/rc.d/rc0.d/K01yum /etc/rc.d/rc1.d/K01yum /etc/rc.d/rc2.d/K01yum /etc/rc.d/rc3.d/K01yum /etc/rc.d/rc4.d/K01yum /etc/rc.d/rc5.d/K01yum /etc/rc.d/rc6.d/K01yum H PI Q F P T UV I Q F P DW bG E cQ X Pd W a QG RS 1 1:off fe DW e C ` I F T T 2:off 3:off 4:off BA  % 3 5:off 6:off   After turning the service off, all the links start with ‘K’ in all runlevels: 0, 1, 2, 3, 4, 5 and 6. Operating System Kernel and Booting — slide 54 OSSI — ver. 1.3   OSSI — ver. 1.3 V Turning   G CD EF C G QG RS H PI C aG T PI E `Q Service On T UV I DW Y X X )0 QG RS Q F P $ $ yum 0:off $ /etc/rc.d/init.d/yum /etc/rc.d/rc0.d/K01yum /etc/rc.d/rc1.d/K01yum /etc/rc.d/rc2.d/S50yum /etc/rc.d/rc3.d/S50yum /etc/rc.d/rc4.d/S50yum /etc/rc.d/rc5.d/S50yum /etc/rc.d/rc6.d/K01yum H PI T UV I Q F P DW bG E cQ X Pd W a 1 1:off fe DW e C ` I F P 2:on 3:on 4:on 5:on 6:off Notice that after turning the service on, there are links that start with ‘S’ in runlevels 2, 3, 4 and 5. Operating System Kernel and Booting — slide 55 OSSI — ver. 1.3 References Modern Operating Systems, Second Edition, Andrew S. Tanenbaum, Prentice Hall, 2001, Chapter 1. Good discussion of system calls. Operating Systems, Fourth Edition, William Stallings, Prentice Hall, 2001, chapter 2 particularly pp 85–91 and 98-99, chapter 4, pp 172–178 Operating Systems: A Concept Based Approach, D. M. Dhamdhere, McGraw Hill, 2002 Operating System Kernel and Booting — slide 56   OSSI — ver. 1.3       V