260 likes | 468 Views
Operating Systems. Definition. An operating system is a collection of programs that manage the resources of the system, and provides a interface between the user, the hardware, and the applications. Types of Operating Systems. Simple device control embedded on a ROM chip Complex Windows
E N D
Definition • An operating system is a collection of programs that manage the resources of the system, and provides a interface between the user, the hardware, and the applications.
Types of Operating Systems • Simple • device control • embedded on a ROM chip • Complex • Windows • NT • Unix, Etc.
Complex Operating Systems • Consist of multiple programs • The Kernel is the core of the operating systems.
Kernel • The kernel is responsible for: • Device control • Memory management • Scheduling • Inter-process communication • Processing of interrupts and exceptions.
Single vs. Multiple Processor • Single Processor can only run one instruction at a time. • It gives the appearance of multi-tasking with switching.
2 Types of Switching • Co-Operative Switching • Pre-Emptive Switching
Co-Operative Switching • In co-operative switching the task which is currently running must voluntarily give up the processor for the next process to run.
Problem with Co-Operative Switching • If first process “hangs up” and does not give up control the computer freezes. No other task can run.
Pre-Emptive Switching • In pre-emptive switching the task that is currently running is forced to give up control after a certain period of time. If a task “hangs” it does not stop subsequent task from running.
Pre-Emptive Switching is“Better” than Co-Operative Switching
16-Bit vs. 32-bit • 32-bit programs use pre-emptive switching. • 16-bit program use co-operative switching and are more susceptible to “freezing”.
Context Switching • The process of switching from one task to another is called “Context Switching”.
Scheduling • Scheduling is the process of deciding which task should run next.
Time Slice • The amount of time that a process runs before giving up control is called time slice or quantum period.
Co-Operative Processing • In co-operative processing the processes are generally arranged such that as the top process is completed each task moves up one place.
Pre-Emptive Scheduling • Pre-emptive scheduling uses a real-time clock, which generates interrupts at regular intervals. Each time an interrupt occurs the processor is switched to another task. • Generally tasked are assigned a priority in pre-emptive scheduling.
Multiprocessor vs. Multiprocessing • A multi-processor computer is a computer with more than one processor.
Categories of Multi-Processor Computers • Shared memory multi-processor • Distributed memory multi-processor
Shared Memory Multi-processor • Shared memory multi-processors have multiply CPUs, and they all share the same memory. • Communication between the processors is easy to implement, but care must be taken to synchronize memory access.
Distributed Memory Multi-Processors • Also has multiple CPUs, but each CPU has its own memory. • In distributed memory multi-processor memory synchronization is not a problem, • but communication between the processors is often slow and complicated.
Related to Multi-Processors • Networked Systems • Distributed Systems
Networked Systems • Networked systems consist of multiple computers, networked together. Users are aware of the different computers that make up the system.
Distributed Systems • Distributed systems also consist of multiple computer but unlike the networked system the various computers are transparent to the user.
Operating System • A computer is a set of resources for the movement, storage, and processing of data. • The operating system is responsible for • managing these resources • scheduling the other programs • and providing the user interface.