While (1) : Privileged Instructions Can Be Executed Only in Kernel Mode
The document discusses kernel mode and how it is implemented using CPU hardware. Kernel mode allows the operating system to have privileged access to hardware and perform sensitive operations like system calls, CPU scheduling, and protecting memory. The CPU has a mode bit to distinguish kernel mode from user mode. Interrupts and exceptions cause the CPU to switch to kernel mode so the operating system can service the request. There are three classes of interrupts: hardware failures, external events from devices, and exceptions from instruction execution. Each process has a process control block that stores its state, memory, and other information to manage its execution.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
104 views7 pages
While (1) : Privileged Instructions Can Be Executed Only in Kernel Mode
The document discusses kernel mode and how it is implemented using CPU hardware. Kernel mode allows the operating system to have privileged access to hardware and perform sensitive operations like system calls, CPU scheduling, and protecting memory. The CPU has a mode bit to distinguish kernel mode from user mode. Interrupts and exceptions cause the CPU to switch to kernel mode so the operating system can service the request. There are three classes of interrupts: hardware failures, external events from devices, and exceptions from instruction execution. Each process has a process control block that stores its state, memory, and other information to manage its execution.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7
1
1 CSE660: Introduction to Operating Systems
Why Kernel Mode? Services that need to be provided at kernel level System calls: file open, close, read and write Control the CPU so that users wont stuck by running while ( 1 ) ; Protection: Keep user programs from crashing OS Keep user programs from crashing each other How ? 2 CSE660: Introduction to Operating Systems How to Provide Kernel Mode? CPU mode bit added to computer hardware to indicate the current CPU mode: 0 (=kernel) or 1 (=user). When an interrupt occurs, CPU hardware switches to the kernel mode. Switching to user mode (from kernel mode) done by setting CPU mode bit (by an instruction). kernel user Exception/Interrupt/Fault Set user mode Privileged instructions can be executed only in kernel mode. 2 3 CSE660: Introduction to Operating Systems Three Interrupt Classes Interrupts caused by hardware failures Power outage Memory parity error Interrupts caused by external events: Reset I/O devices Interrupts caused by executed instructions Exceptions System calls 4 CSE660: Introduction to Operating Systems Interrupts by External Events Reset IRQ 0 Timer IRQ 1 3 5 CSE660: Introduction to Operating Systems Exceptions: caused by errors during instruction execution: Address Error: a reference to a nonexistent or illegal memory address; Reserved Instruction: An instruction with undefined opcode field or a privileged instruction in User mode; Integer Overflow: An integer instruction results in a 2s complement overflow; Floating Point Error: e.g. divide by zero, overflow, and underflow; Special instructions: MIPS processors: Syscall instruction executed Intel processors: INT n instruction executed Interrupts Caused by Instruction Execution 6 CSE660: Introduction to Operating Systems Hardware Handling of Interrupts Save the addresses of the interrupted instruction Transfer control to the appropriate interrupt service routine (software) Sets CPU to kernel mode May do some security checks here 4 7 CSE660: Introduction to Operating Systems System Call Steps Example: read (fd, buffer,nbytes) 8 CSE660: Introduction to Operating Systems Users, Programs, Processes Users have accounts on the system Users launch programs Many users may launch same program One user may launch many instances of the same program Processes: an executing program Question: Real life analogy? 5 9 CSE660: Introduction to Operating Systems Windows Task Manager 10 CSE660: Introduction to Operating Systems Unix Processes: ps 6 11 CSE660: Introduction to Operating Systems So What Is A Process? Its one executing instance of a "program Its separated from other instances It can start ("launch) other processes It can be launched by other processes 12 CSE660: Introduction to Operating Systems The Process Model Multiprogramming of four programs Conceptual model of 4 independent, sequential processes Only one program active at any instant 7 13 CSE660: Introduction to Operating Systems PCB contains information associated with a given process: Process state Process identification (Pid) Program counter CPU registers CPU scheduling information Memory-management information Accounting information I/O status information Pid of parent process Process Control Block (PCB), Why? 14 CSE660: Introduction to Operating Systems As a process executes, it changes its state: new: The process is being created. running: Instructions are being executed. waiting (blocked): The process is waiting for some event to occur. ready: The process is waiting to be assigned to a CPU. terminated: The process has finished execution. Process States