

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This document provides an overview of operating systems (OS), defining them from user and system perspectives. It outlines computer system components: hardware, OS, applications, and users. It discusses batch, multi-programmed batch, time-sharing, multiprocessing, and real-time systems. OS design challenges due to system variety and complexity are highlighted, focusing on uniprocessor, time-sharing systems while addressing multicore/multiprocessor effects. The document covers OS-managed resources like CPU, memory, disk, I/O, processes, and files. Core OS components are discussed from resource and user perspectives, including process, memory, and file management, I/O, security, system calls, and the command interpreter. OS responsibilities in process, memory, file, I/O, and storage management are detailed, along with security, protection, system calls, and the command interpreter's role.
Typology: Summaries
1 / 3
This page cannot be seen from the preview
Don't miss anything!


From a user-centric perspective, an operating system is a program that acts as an intermediary between a user and the computer hardware. It defines an interface for the user to access system services, providing a specific "view" of the system. This view converts hardware outputs into user- friendly formats and can hide unnecessary hardware details, even presenting a different operating environment than what physically exists.
From a system-centric perspective, an operating system efficiently manages and allocates resources to users. It controls the execution of user programs and the operations of I/O devices, providing isolation and protection between different user programs.
A computer system consists of four main components:
Hardware: Provides basic computing resources like the CPU, memory, and I/O devices. Operating System: Controls and coordinates the use of hardware among various application programs for different users. Application Programs: Define how system resources are used to solve computing problems for users, including compilers, databases, and games. Users: People, machines, or other computers that interact with the system.
Different types of operating systems exist, each designed for specific purposes:
i. Batch Systems: Process multiple jobs, but only one job resides in memory and executes to completion before the next one starts. ii. Multi-programmed Batch Systems: Multiple jobs reside in memory, and the CPU is multiplexed between them, considering CPU-bound versus I/O-bound jobs. iii. Time- sharing Systems: Multiple jobs reside in memory and on disk, with the CPU multiplexed among jobs in memory. Jobs are swapped between disk and memory, allowing user interaction. iv. Multiprocessing Systems: Utilize more than one CPU in a single machine to allocate jobs, including Symmetric Multiprocessing and NUMA machines. Other parallel systems include multicore processors, distributed systems, and clusters. v. Real- Time Systems: Designed to run jobs with time guarantees. vi. Other Types: Include embedded systems and mobile/smartphone operating systems.
OS design is dependent on the type of system it is designed for.
Current challenges in OS design include:
A wide variety of systems, ranging from small embedded systems to large distributed systems like clouds and clusters. An increasing number of cores per processor and processors per machine. Virtualization.
The course primarily focuses on uniprocessor, time-sharing systems running general-purpose jobs from users, addressing core OS design issues. It also evaluates the effects of multicore/multiprocessors, considering the additional issues they introduce.
Operating systems manage both physical and logical resources. Physical resources include the CPU, memory, disk, and I/O devices. Logical resources include processes and files.
From a resource-centric view, the main components of an OS are:
Process Management Main Memory Management File Management I/O System Management Secondary Storage Management Security and Protection System Networking (often integrated but covered separately)
From a user-centric view, the main components are:
System Calls Command Interpreter (Shell)
A process is a program in execution that requires resources like CPU time, memory, files, and I/O devices. The OS is responsible for process creation, deletion, suspension, and resumption. It also provides mechanisms for process synchronization and inter-process communication.