This website uses cookies and similar technologies to understand visitors' experiences. By continuing to use this website, you accept our use of cookies and similar technologies,Terms of Use, and Privacy Policy.

Sep 21 2009 - 10:49 AM
OS Call
OS Class ----------- CPU <---> INTR <----> APIC (Programmable Interrupt Caller) - SCSI, NET, Keyboard There is always a process running called idle which keeps on checking if there is any application program running. given an interrupt occurs the OS runs OS init () process which is the first one to run. Init() is not always running and is the first process which initializes the OS. x86 - Fixed no. of interrupts - 0-31 are special types of interrupts (called EXCEPTIONS) and also called (NONMASKABLE Interrupts) [TRAPS] e.g. divide by zero The exceptions happen in the middle of the instruction and represent catastrophic failure. There is a separate line called NMI (Non MASKABLE INTERRUPT) is there for bringing it to the CPU's notice that a EXCEPTION has occurred - 32-47 - IRQ (Interrupt Requests) [MASKABLE] - 48-255 - Software Interrupts [MASKABLE] SYSTEM CALL - has some corresponding code for kernel. software calls corresponds to system call -> x80 goes off which is like a software system call and then it goes to the 128 interrupt handler call. system call number corresponds to system call number which corresponds to the entree inside the system call table. To find out which routines it needs to run. Linux Source Code Navigator http://lxr.linux.no/linux+v2.6.31/ arch - architecture (mostly looking at the x86) fs -filesystem init - initialization mm - memory management kernel - stuff which corresponds to Linux Kernel include - header files to be include (LINUX) scheduler.h (sched.h) System calls are architecture dependent and they are located in the ARCHITECTURE\KERNEL\SYSCALL TABLE AND THE CODE IS IN ENTRY_32.S(linux/arch/x86/kernel/entry_32.S)
|By: Pranav Garg|10760 Reads