An operating system provides an interface between users and computer hardware. It implements a virtual machine that is easier and safer to program than raw hardware. The key functions of an operating system include resource management, coordination of applications and users, and providing protection between processes. Operating systems abstract away hardware complexity and provide standard services to applications through virtualization layers. They juggle resources to provide the illusion of dedicated hardware and protect users from each other through mechanisms like address translation and dual mode operation.
This document introduces different types of operating systems and computing environments. It discusses mainframe systems including batch, multiprogrammed, and time-sharing systems. It also covers desktop systems, multiprocessor systems including symmetric multiprocessing, distributed systems using client-server and peer-to-peer models, clustered systems, real-time systems, handheld systems, and the migration of operating system concepts across different environments. The document provides definitions and examples to explain the characteristics of each system type.
The document discusses kernel mode and user mode in operating systems. It defines the kernel as the core software that manages computer resources and allows users to share them. The kernel can interact directly with hardware and runs with privileged access, while user applications run in user mode with restrictions to prevent crashes. A process switches from user to kernel mode by making a system call to access privileged resources like hardware, files or memory. Interrupts from devices can also trigger a switch to kernel mode to handle the interrupt.
An operating system acts as an interface between hardware and users, providing abstractions to simplify application design. It performs core functions like process and resource management, protection between processes, and communication between processes. Operating systems have evolved over several phases as hardware has become cheaper and more powerful, moving from single-user batch processing systems to time-sharing systems to personal computing systems and now distributed and cloud-based systems.
Unit I
Computer System Overview-Basic Elements, Instruction Execution, Interrupts, Memory Hierarchy, Cache Memory, Direct Memory Access, Multiprocessor and Multicore Organization. Operating system overview-objectives and functions, Evolution of Operating System.- Computer System OrganizationOperating System Structure and Operations- System Calls, System Programs, OS Generation and System Boot.
The document discusses the role and definition of operating systems. It describes how a computer system can be divided into four main components: hardware, operating system, application programs, and users. The operating system controls and coordinates the hardware resources among applications and users. It acts as an intermediary between the computer hardware and users to make the computer system more efficient and easier to use. Operating systems come in many varieties depending on the type of computer and its intended use.
The key problematic instructions for virtualization on ARM are those that change processor state or mode, access privileged resources, or cause unpredictable behavior when executed in user mode. These must be trapped and emulated by the virtual machine monitor.
Operating Systems FYBSC IT UNIT I- Introduction to Operating SystemsArti Parab Academics
An operating system is an interface between a computer user and the computer hardware. It performs basic tasks like file management, memory management, process management, input/output handling, and controlling peripheral devices. Popular operating systems include Linux, Windows, and OS X. The document then discusses the components of a computer system and provides examples of computer hardware components like the processor, memory, disks, I/O devices, and bus. It also covers operating system concepts like processes, address spaces, files, input/output, and protection.
Operating System Concepts PresentationNitish Jadia
Operating System Concepts was presented by Nitish Jadia in Bhopal null meet, to make people aware of the internal workings of the OS they use.
The contents and explanation of this PPT was inspired and taken from Operating System Concepts by by silberschatz galvin gagne.
This document introduces different types of operating systems and computing environments. It discusses mainframe systems including batch, multiprogrammed, and time-sharing systems. It also covers desktop systems, multiprocessor systems including symmetric multiprocessing, distributed systems using client-server and peer-to-peer models, clustered systems, real-time systems, handheld systems, and the migration of operating system concepts across different environments. The document provides definitions and examples to explain the characteristics of each system type.
The document discusses kernel mode and user mode in operating systems. It defines the kernel as the core software that manages computer resources and allows users to share them. The kernel can interact directly with hardware and runs with privileged access, while user applications run in user mode with restrictions to prevent crashes. A process switches from user to kernel mode by making a system call to access privileged resources like hardware, files or memory. Interrupts from devices can also trigger a switch to kernel mode to handle the interrupt.
An operating system acts as an interface between hardware and users, providing abstractions to simplify application design. It performs core functions like process and resource management, protection between processes, and communication between processes. Operating systems have evolved over several phases as hardware has become cheaper and more powerful, moving from single-user batch processing systems to time-sharing systems to personal computing systems and now distributed and cloud-based systems.
Unit I
Computer System Overview-Basic Elements, Instruction Execution, Interrupts, Memory Hierarchy, Cache Memory, Direct Memory Access, Multiprocessor and Multicore Organization. Operating system overview-objectives and functions, Evolution of Operating System.- Computer System OrganizationOperating System Structure and Operations- System Calls, System Programs, OS Generation and System Boot.
The document discusses the role and definition of operating systems. It describes how a computer system can be divided into four main components: hardware, operating system, application programs, and users. The operating system controls and coordinates the hardware resources among applications and users. It acts as an intermediary between the computer hardware and users to make the computer system more efficient and easier to use. Operating systems come in many varieties depending on the type of computer and its intended use.
The key problematic instructions for virtualization on ARM are those that change processor state or mode, access privileged resources, or cause unpredictable behavior when executed in user mode. These must be trapped and emulated by the virtual machine monitor.
Operating Systems FYBSC IT UNIT I- Introduction to Operating SystemsArti Parab Academics
An operating system is an interface between a computer user and the computer hardware. It performs basic tasks like file management, memory management, process management, input/output handling, and controlling peripheral devices. Popular operating systems include Linux, Windows, and OS X. The document then discusses the components of a computer system and provides examples of computer hardware components like the processor, memory, disks, I/O devices, and bus. It also covers operating system concepts like processes, address spaces, files, input/output, and protection.
Operating System Concepts PresentationNitish Jadia
Operating System Concepts was presented by Nitish Jadia in Bhopal null meet, to make people aware of the internal workings of the OS they use.
The contents and explanation of this PPT was inspired and taken from Operating System Concepts by by silberschatz galvin gagne.
The kernel is the central part of an operating system that manages input/output requests and translates them into instructions for the CPU and other components. It is responsible for memory management, allocating processes to the CPU, and handling input/output from devices. The basic structure of a kernel includes facilities for the CPU, computer memory, and input/output devices. Kernels can take different forms such as monolithic, micro, hybrid, nano, or exokernel depending on their modularity and how they expose hardware resources to other parts of the system.
It is comprised of the five classical components (input, output, processor, memory, and datapath). The processor is divided into an arithmetic logic unit (ALU) and control unit, a method of organization that persists to the present.
This document provides an overview of operating system types and their evolution over time. It begins with early serial processing systems and progresses to modern desktop, parallel, distributed, and real-time systems. Key points covered include the components of a computer system, goals of operating systems, and how features like multiprocessing, time-sharing, spooling, and virtual memory have increased efficiency and enabled new types of systems.
This document provides an overview of operating systems including definitions, classifications, kernel structures, and histories of Microsoft Windows and Unix/Linux. It defines an operating system as software that manages hardware resources and allows other programs and users to access those resources. It classifies operating systems based on services provided (single-user vs multi-user), task/process handling (single-task vs multi-task, single-process vs multi-process), and network capabilities. It describes different kernel structures like monolithic, microkernel, and exokernel. It outlines the origins and key releases of Microsoft Windows and Unix/Linux operating systems from the 1970s to present day.
For Complete Learning: http://www.thelearnet.com/
What is an Operating System?
Mainframe Systems
Desktop Systems
Multiprocessor Systems
Distributed Systems
Clustered System
Real -Time Systems
Handheld Systems
Computing Environments
An operating system manages all hardware and software on a computer system. It has several essential managers like memory, processor, device, and file managers. A networked operating system also includes a network manager. Operating systems are classified as batch, interactive, real-time, hybrid, or embedded based on response time and data entry. Modern operating systems use object-oriented design and multiprocessing for improved performance and flexibility.
This chapter introduces operating system concepts and provides an overview of operating system components and functions. It discusses how operating systems act as an intermediary between the user and computer hardware to manage resources and execute programs. The chapter describes computer system organization with CPUs, memory, and I/O devices. It also outlines operating system structure for multiprogramming and timesharing, and key operating system operations like process management, memory management, storage management, and security.
This is my sort note of operating system.In this note we describe our knowledge for B.Sc level. Student of B.Sc(H) Computer Science this note is good. We describe this note very easy language which the student easily understand.
This document provides an overview of an operating systems course, including its aims, outline, recommended reading, and introductory content. The key points are:
1. The course aims to explain operating system structure and functions, illustrate concepts with examples, and prepare students for future courses. Students will learn about CPU scheduling, processes, memory management, I/O, protection, and case studies of Unix and Windows.
2. The course outline covers introductions to operating systems, processes and scheduling, memory management, I/O and device management, protection, filing systems, and case studies of Unix and Windows NT.
3. The recommended reading includes textbooks on concurrent systems, operating system concepts, and case studies
Operating Systems 1 (3/12) - ArchitecturesPeter Tröger
The document discusses operating system architectures and provides examples of different architectures. It begins by explaining that operating systems provide a layered architecture that hides the complexity of underlying hardware and manages system resources. It then provides examples of monolithic, layered, and microkernel architectures. Specifically, it summarizes Linux as having a layered kernel and user mode, VMS and Windows as having layered designs with executive and kernel layers, and microkernel designs placing most functionality in user-mode servers.
This chapter provides an introduction to operating systems, including their functions and components. It describes how operating systems act as intermediaries between users and computer hardware to manage resources and execute programs. It discusses the structure of computer systems and how they are composed of hardware, operating systems, application programs, and users. It also provides overviews of key operating system concepts like processes, memory management, storage management, and protection and security.
The document provides an overview of operating systems. It begins with definitions of an operating system and its roles in providing resources to users and applications and coordinating access to resources. It then discusses operating system concepts like process management, memory management, file management, I/O management, and protection systems. It outlines the evolution of operating systems from early batch systems to modern networked and distributed systems. It also discusses different operating system structures like kernel-based approaches, layered approaches, and virtual machine approaches.
The document discusses different types of computer system organizations based on the number of general-purpose processors used: single-processor systems which use one main CPU, multiprocessor/multicore systems which contain two or more closely communicating processors, and clustered systems which gather multiple complete computer systems together. Single-processor systems may contain additional special-purpose processors like disk or keyboard controllers. Multiprocessor systems can be symmetric, with all processors performing all tasks, or asymmetric with dedicated tasks. Clustered systems provide high-availability and parallel processing across nodes.
The document discusses the Linux operating system, including its history, design principles, kernel modules, process management, scheduling, memory management, input/output management, file systems, and inter-process communication. It also briefly covers the architectures and frameworks of two popular mobile operating systems, iOS and Android. The document provides details on Linux kernel versions and distributions, and explains concepts like kernel synchronization, interrupt handling, and the Completely Fair Scheduler algorithm used in Linux.
1. An operating system acts as an interface between the user and computer hardware, managing resources and allowing users to execute programs.
2. Key components of a computer system include hardware, operating system, application programs, and users.
3. The main functions of an operating system include memory management, process management, device management, information management, protection, and error handling.
This document provides an introduction to operating systems and covers several key topics:
1. It describes the architecture and evolution of operating systems including monolithic, layered, microkernel, and exokernel designs as well as the progression from batch processing to timesharing, personal computing, and distributed systems.
2. The functions of operating systems are discussed including program execution, input/output, resource allocation, and error detection.
3. Examples of operating systems are given such as Linux, Windows, and mobile phone OSs.
4. Components of a computer system are defined including the hardware, software, system programs, and application programs.
5. Concepts like multiprocessing, multitasking, shells
The operating system is software that enables all programs to run by organizing and controlling the hardware resources and providing interfaces. It manages processes, memory, storage devices, and input/output. Operating systems have evolved from simple batch processing systems to today's multiprogramming, time-sharing, and distributed systems that allow many processes to run concurrently while sharing resources. The operating system acts as an interface between programs, hardware, and users.
The document provides an overview of operating systems and some of their key concepts. It discusses why operating systems are needed, defining them as programs that act as intermediaries between users and computer hardware. It describes the four main components of a computer system - hardware, operating system, application programs, and users. Finally, it outlines some of the main functions and goals of operating systems, such as executing user programs efficiently and making the computer system convenient to use.
The kernel is the central part of an operating system that manages input/output requests and translates them into instructions for the CPU and other components. It is responsible for memory management, allocating processes to the CPU, and handling input/output from devices. The basic structure of a kernel includes facilities for the CPU, computer memory, and input/output devices. Kernels can take different forms such as monolithic, micro, hybrid, nano, or exokernel depending on their modularity and how they expose hardware resources to other parts of the system.
It is comprised of the five classical components (input, output, processor, memory, and datapath). The processor is divided into an arithmetic logic unit (ALU) and control unit, a method of organization that persists to the present.
This document provides an overview of operating system types and their evolution over time. It begins with early serial processing systems and progresses to modern desktop, parallel, distributed, and real-time systems. Key points covered include the components of a computer system, goals of operating systems, and how features like multiprocessing, time-sharing, spooling, and virtual memory have increased efficiency and enabled new types of systems.
This document provides an overview of operating systems including definitions, classifications, kernel structures, and histories of Microsoft Windows and Unix/Linux. It defines an operating system as software that manages hardware resources and allows other programs and users to access those resources. It classifies operating systems based on services provided (single-user vs multi-user), task/process handling (single-task vs multi-task, single-process vs multi-process), and network capabilities. It describes different kernel structures like monolithic, microkernel, and exokernel. It outlines the origins and key releases of Microsoft Windows and Unix/Linux operating systems from the 1970s to present day.
For Complete Learning: http://www.thelearnet.com/
What is an Operating System?
Mainframe Systems
Desktop Systems
Multiprocessor Systems
Distributed Systems
Clustered System
Real -Time Systems
Handheld Systems
Computing Environments
An operating system manages all hardware and software on a computer system. It has several essential managers like memory, processor, device, and file managers. A networked operating system also includes a network manager. Operating systems are classified as batch, interactive, real-time, hybrid, or embedded based on response time and data entry. Modern operating systems use object-oriented design and multiprocessing for improved performance and flexibility.
This chapter introduces operating system concepts and provides an overview of operating system components and functions. It discusses how operating systems act as an intermediary between the user and computer hardware to manage resources and execute programs. The chapter describes computer system organization with CPUs, memory, and I/O devices. It also outlines operating system structure for multiprogramming and timesharing, and key operating system operations like process management, memory management, storage management, and security.
This is my sort note of operating system.In this note we describe our knowledge for B.Sc level. Student of B.Sc(H) Computer Science this note is good. We describe this note very easy language which the student easily understand.
This document provides an overview of an operating systems course, including its aims, outline, recommended reading, and introductory content. The key points are:
1. The course aims to explain operating system structure and functions, illustrate concepts with examples, and prepare students for future courses. Students will learn about CPU scheduling, processes, memory management, I/O, protection, and case studies of Unix and Windows.
2. The course outline covers introductions to operating systems, processes and scheduling, memory management, I/O and device management, protection, filing systems, and case studies of Unix and Windows NT.
3. The recommended reading includes textbooks on concurrent systems, operating system concepts, and case studies
Operating Systems 1 (3/12) - ArchitecturesPeter Tröger
The document discusses operating system architectures and provides examples of different architectures. It begins by explaining that operating systems provide a layered architecture that hides the complexity of underlying hardware and manages system resources. It then provides examples of monolithic, layered, and microkernel architectures. Specifically, it summarizes Linux as having a layered kernel and user mode, VMS and Windows as having layered designs with executive and kernel layers, and microkernel designs placing most functionality in user-mode servers.
This chapter provides an introduction to operating systems, including their functions and components. It describes how operating systems act as intermediaries between users and computer hardware to manage resources and execute programs. It discusses the structure of computer systems and how they are composed of hardware, operating systems, application programs, and users. It also provides overviews of key operating system concepts like processes, memory management, storage management, and protection and security.
The document provides an overview of operating systems. It begins with definitions of an operating system and its roles in providing resources to users and applications and coordinating access to resources. It then discusses operating system concepts like process management, memory management, file management, I/O management, and protection systems. It outlines the evolution of operating systems from early batch systems to modern networked and distributed systems. It also discusses different operating system structures like kernel-based approaches, layered approaches, and virtual machine approaches.
The document discusses different types of computer system organizations based on the number of general-purpose processors used: single-processor systems which use one main CPU, multiprocessor/multicore systems which contain two or more closely communicating processors, and clustered systems which gather multiple complete computer systems together. Single-processor systems may contain additional special-purpose processors like disk or keyboard controllers. Multiprocessor systems can be symmetric, with all processors performing all tasks, or asymmetric with dedicated tasks. Clustered systems provide high-availability and parallel processing across nodes.
The document discusses the Linux operating system, including its history, design principles, kernel modules, process management, scheduling, memory management, input/output management, file systems, and inter-process communication. It also briefly covers the architectures and frameworks of two popular mobile operating systems, iOS and Android. The document provides details on Linux kernel versions and distributions, and explains concepts like kernel synchronization, interrupt handling, and the Completely Fair Scheduler algorithm used in Linux.
1. An operating system acts as an interface between the user and computer hardware, managing resources and allowing users to execute programs.
2. Key components of a computer system include hardware, operating system, application programs, and users.
3. The main functions of an operating system include memory management, process management, device management, information management, protection, and error handling.
This document provides an introduction to operating systems and covers several key topics:
1. It describes the architecture and evolution of operating systems including monolithic, layered, microkernel, and exokernel designs as well as the progression from batch processing to timesharing, personal computing, and distributed systems.
2. The functions of operating systems are discussed including program execution, input/output, resource allocation, and error detection.
3. Examples of operating systems are given such as Linux, Windows, and mobile phone OSs.
4. Components of a computer system are defined including the hardware, software, system programs, and application programs.
5. Concepts like multiprocessing, multitasking, shells
The operating system is software that enables all programs to run by organizing and controlling the hardware resources and providing interfaces. It manages processes, memory, storage devices, and input/output. Operating systems have evolved from simple batch processing systems to today's multiprogramming, time-sharing, and distributed systems that allow many processes to run concurrently while sharing resources. The operating system acts as an interface between programs, hardware, and users.
The document provides an overview of operating systems and some of their key concepts. It discusses why operating systems are needed, defining them as programs that act as intermediaries between users and computer hardware. It describes the four main components of a computer system - hardware, operating system, application programs, and users. Finally, it outlines some of the main functions and goals of operating systems, such as executing user programs efficiently and making the computer system convenient to use.
This lecture discusses inter-process communication and classical problems related to IPC. It covers the concepts of critical regions, mutual exclusion, semaphores, mutexes, and message passing. Classical IPC problems discussed include the dining philosophers problem, readers-writers problem, and producer-consumer problem.
The document provides an overview of operating systems, including processes, threads, interprocess communication, deadlocks, and scheduling. It discusses the evolution of operating systems from first to fourth generation. Key concepts covered include processes, files, system calls, command interpreters, and signals. Operating system structures like monolithic, layered, and client-server models are summarized. Common interprocess communication problems like the bounded buffer, readers-writers, and dining philosophers problems are also briefly outlined. Finally, it discusses process scheduling algorithms, deadlock conditions and strategies to handle deadlocks.
The document discusses operating systems and their functions. It describes how operating systems manage computer hardware, provide security, interface with users and applications, and more. Specifically, it outlines how operating systems manage the CPU, RAM, storage devices, input/output devices. It also discusses how operating systems provide security for single-user and server systems, and interface with users through command line and graphical interfaces. Finally, it notes how operating systems provide an interface for application software to run on specific CPU architectures.
The document discusses operating systems and their functions. It describes how operating systems manage hardware resources like the CPU, RAM, and I/O devices. Operating systems also provide security, a system interface, and an interface for application software. Common functions of operating systems include managing hardware, providing security, interfacing with users and applications, and controlling application development from the CPU to software. The document contrasts different types of operating systems and their features.
The document discusses operating systems and their functions. It defines an operating system as software that manages computer hardware resources and provides interfaces. The key functions of an operating system include managing the CPU, RAM and hardware; providing security; and providing interfaces for users and application software. Common operating systems are described as well as different types like batch processing, real-time processing and time-sharing systems.
The document discusses operating systems and their functions. It defines an operating system as software that manages computer hardware resources and provides interfaces. The key functions of an operating system include managing the CPU, RAM and hardware; providing security; and providing interfaces for users and application software. Common operating systems are described as well as different types like batch processing, real-time processing and time-sharing systems.
Bca i-fundamental of computer-u-3-functions operating systemsRai University
The document discusses operating systems and their functions. It defines an operating system as software that manages computer hardware resources and provides interfaces. The key functions of an operating system include managing the CPU, RAM and hardware; providing security; and providing interfaces for users and application software. Common operating system types include batch processing, real-time processing, time-sharing, and examples of Windows, Linux/Unix, and mobile operating systems.
Mca i-fundamental of computer-u-3-functions operating systemsRai University
The document discusses operating systems and their functions. It describes how operating systems manage hardware resources like the CPU, RAM, and storage devices. It also explains how operating systems provide security, a system interface, and an interface for application software. Common operating system types include batch processing, real-time processing, and time-sharing systems. Key operating system functions are also summarized like multi-tasking, multi-programming, buffering, and spooling.
This document summarizes an introduction to operating systems lecture. It discusses how the operating system acts as middleware between user programs and hardware, managing resources like the CPU, memory, and I/O devices. It describes how the OS loads and runs programs by initializing memory and processor registers. The OS abstracts the hardware for processes and virtualizes resources like CPU time and memory address spaces. It also manages devices through device drivers.
This document provides an overview of hardware and software components. It discusses:
1) The main hardware components of a computer including the CPU, memory, and secondary storage devices. The CPU contains the ALU, control unit, and registers. Memory provides temporary storage and comes in RAM and ROM types.
2) Software includes systems software like operating systems and utility programs, as well as application software. Operating systems manage hardware resources, provide user interfaces, and perform tasks like memory management. Application software interacts with the operating system to help users perform tasks.
3) Emerging trends in technology including multiprocessing, cloud computing, mobile apps, and software as a service. These trends allow for increased processing power, flexible
This document discusses platform technologies and provides information on computing platforms and operating systems. It defines a platform as the combination of hardware, software, and networks. It then summarizes the generations of computing from vacuum tubes to modern mobile computers. It also provides details on operating systems, describing them as software that manages computer resources and provides services for other programs. It discusses operating system concepts such as processes, memory, files, input/output, and protection.
An operating system controls application programs and acts as an interface between applications and hardware. It provides services like program development, execution and resource management. An OS allows for convenient, efficient and evolvable use of computer systems. It masks hardware details from users and programs. An OS manages resources like processors, memory, storage and I/O devices.
Bba i-introduction to computer-u-3-functions operating systemsRai University
The document provides information about operating systems, including their functions and types. It discusses how operating systems manage hardware resources, provide security, interface with users and applications, and more. Specific operating systems are also mentioned like Windows, Linux, Mac OS, and their architectures.
This document provides an overview and agenda for a kernel security workshop. It introduces the speaker Mohit Saxena and his background. The agenda covers OS and kernel overview topics like processes, interrupts, memory management, and multitasking. It discusses kernel architecture approaches like monolithic, layered, and microkernel. It also covers security concepts like DAC, LSM, and SELinux. Specific topics on Linux and BSD kernel security are included. The agenda concludes with a live SDWAN demo and a workshop on building a firewall using FreeBSD.
* Know the reasons why various operating systems exist and how they are functioned for dedicated purposes
* Understand the basic concepts while building system software from scratch
• How can we benefit from cheap ARM boards and the related open source tools?
- Raspberry Pi & STM32F4-Discovery
This document discusses operating system structures and components. It describes four main OS designs: monolithic systems, layered systems, virtual machines, and client-server models. For each design, it provides details on how the system is organized and which components are responsible for which tasks. It also discusses some advantages and disadvantages of the different approaches. The document concludes by explaining how client-server models address issues with distributing OS functions to user space by having some critical servers run in the kernel while still communicating with user processes.
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxEduSkills OECD
Iván Bornacelly, Policy Analyst at the OECD Centre for Skills, OECD, presents at the webinar 'Tackling job market gaps with a skills-first approach' on 12 June 2024
Gender and Mental Health - Counselling and Family Therapy Applications and In...PsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 𝟏)-𝐏𝐫𝐞𝐥𝐢𝐦𝐬
𝐃𝐢𝐬𝐜𝐮𝐬𝐬 𝐭𝐡𝐞 𝐄𝐏𝐏 𝐂𝐮𝐫𝐫𝐢𝐜𝐮𝐥𝐮𝐦 𝐢𝐧 𝐭𝐡𝐞 𝐏𝐡𝐢𝐥𝐢𝐩𝐩𝐢𝐧𝐞𝐬:
- Understand the goals and objectives of the Edukasyong Pantahanan at Pangkabuhayan (EPP) curriculum, recognizing its importance in fostering practical life skills and values among students. Students will also be able to identify the key components and subjects covered, such as agriculture, home economics, industrial arts, and information and communication technology.
𝐄𝐱𝐩𝐥𝐚𝐢𝐧 𝐭𝐡𝐞 𝐍𝐚𝐭𝐮𝐫𝐞 𝐚𝐧𝐝 𝐒𝐜𝐨𝐩𝐞 𝐨𝐟 𝐚𝐧 𝐄𝐧𝐭𝐫𝐞𝐩𝐫𝐞𝐧𝐞𝐮𝐫:
-Define entrepreneurship, distinguishing it from general business activities by emphasizing its focus on innovation, risk-taking, and value creation. Students will describe the characteristics and traits of successful entrepreneurs, including their roles and responsibilities, and discuss the broader economic and social impacts of entrepreneurial activities on both local and global scales.
Temple of Asclepius in Thrace. Excavation resultsKrassimira Luka
The temple and the sanctuary around were dedicated to Asklepios Zmidrenus. This name has been known since 1875 when an inscription dedicated to him was discovered in Rome. The inscription is dated in 227 AD and was left by soldiers originating from the city of Philippopolis (modern Plovdiv).
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.pptHenry Hollis
The History of NZ 1870-1900.
Making of a Nation.
From the NZ Wars to Liberals,
Richard Seddon, George Grey,
Social Laboratory, New Zealand,
Confiscations, Kotahitanga, Kingitanga, Parliament, Suffrage, Repudiation, Economic Change, Agriculture, Gold Mining, Timber, Flax, Sheep, Dairying,
3. Computer System Organization
• Computer-system operation
– One or more CPUs, device controllers connect through
common bus providing access to shared memory
– Concurrent execution of CPUs and devices competing
for memory cycles
3
4. How do we tame complexity?
• Every piece of computer hardware different
– Different CPU
• Pentium, PowerPC, MIPS, …
– Different amounts of memory, disk, …
– Different types of devices
• Mice, Keyboards, Sensors, Cameras, Fingerprint readers
– Different networking environment
• Cable, DSL, Wireless, Firewalls,…
• Questions:
– Does the programmer need to write a single program
that performs many independent activities?
– Does every program have to be altered for every piece
of hardware?
– Does a faulty program crash everything?
– Does every program have access to all hardware?
4
5. Four Components of a Computer System
An operating system is the interface between the user and the hardware.
Definition: An operating system implements a virtual machine that is
(hopefully) easier and safer to program and use than the raw hardware. 5
6. Operating System
Application
Virtual Machine Interface
Operating System
Physical Machine Interface
Hardware
• Services (Resource management): The OS provides standard services
(the interface) which the hardware implements. These services
include the file system, virtual memory, networking, CPU scheduling,
etc.
• Coordination (Control): The OS coordinates multiple applications and
users to achieve fairness and efficiency (throughput). Examples:
concurrency, protection, networking, and security.
• The OS design goal is to make the machine convenient to use (a
software engineering problem) and efficient (a system and
engineering problem).
6
7. Virtual Machines: Layers of OSs
• Useful for OS development
– When OS crashes, restricted to one VM
– Can aid testing programs on other OSs
7
8. Virtual Machines
• Software emulation of an abstract machine
– Make it look like hardware has features you want
– Programs from one hardware & OS work on another one
• Programming simplicity
– Each process thinks it has all memory/CPU time
– Each process thinks it owns all devices
– Different Devices appear to have same interface
– Device Interfaces more powerful than raw hardware
• Bitmapped display ⇒ windowing system
• Ethernet card ⇒ reliable, ordered, networking (TCP/IP)
• Fault Isolation
– Processes unable to directly impact other processes
– Bugs cannot crash whole machine
• Protection and Portability
8
9. Summary of Operating System
Principles
• OS as juggler: providing the illusion of a dedicated machine
with infinite memory and CPU.
• OS as government: protecting users from each other,
allocating resources efficiently and fairly, and providing
secure and safe communication.
• OS as complex system: keeping OS design and
implementation as simple as possible is the key to getting the
OS to work.
• OS as history teacher: learning from past to predict the
future, i.e., OS design tradeoffs change with technology.
9
10. What is an Operating System,… Really?
• Most Likely:
– Memory Management
– I/O Management
– CPU Scheduling
– Communications? (Does Email belong in OS?)
• What about?
– File System?
– Multimedia Support?
– User Interface?
– Internet Browser?
• Is this only interesting to Academics??
10
11. Operating System Definition (cont)
• No universally accepted definition
• “Everything a vendor ships when you order an
operating system” is good approximation
– But varies wildly
• “The one program running at all times on the
computer” is the kernel. Everything else is either a
system program (ships with the operating system)
or an application program
11
12. Why Study Operating Systems?
• Abstraction: How to get the OS to give users an
illusion of infinite memory, CPUs, resources, world
wide computing, etc.
• System Design: How to make tradeoffs between
– performance and the convenience of OS abstractions,
– performance and the simplicity of OS design, and
– putting functionality in hardware or software.
• As systems change the OS must adapt (e.g., new
hardware, software).
12
13. Why Study Operating Systems?
• The operating system makes the computer work - it is a key
abstraction layer for applications.
• Understanding operating systems will enable you to use your
computer more effectively. They are an excellent example of
system design issues whose results and ideas you will apply in
all aspects of experimental computer science.
• Background: To understand this course you must have a solid
basic understanding of hardware (CS 331: CPU instruction
sets, memory hierarchies, I/O systems, etc.) and solid
programming skills (complex data structures, debugging, etc.,
e.g. what you learned in CS 311)
• Obviously, you cannot understand the implications of how
components intersect without understanding the
components.
13
14. What if we didn’t have an Operating
System?
• Source Code⇒Compiler⇒Object Code⇒Hardware
• How do you get object code onto the hardware?
• How do you print out the answer?
• Once upon a time, had to Toggle in program in
binary and read out answer from LED’s!
Altair 8080 14
15. Simple OS: What if only one
application?
• Examples:
– Very early computers
– Early PCs
– Embedded controllers (elevators, cars, etc)
• OS becomes just a library of standard services
– Standard device drivers
– Interrupt handlers
– Math libraries
15
17. More complex OS: Multiple Apps
• Full Coordination and Protection
– Manage interactions between different users
– Multiple programs running simultaneously
– Multiplex and protect Hardware Resources
• CPU, Memory, I/O devices like disks, printers, etc
• Facilitator
– Still provides Standard libraries, facilities
• Would this complexity make sense if there were
only one application that you cared about?
17
18. Interrupt Driven O.S.
• Most modern operating systems are interrupt driven.
– Start-up: 1) Load O.S. (kernel) and start it running.
– 2) O.S. waits for an event (an interrupt).
• Definition of interrupt:
– An interrupt is a method to ensure that the CPU takes note of an
event.
• Types of interrupt:
– Hardware interrupts (e.g. from an I/O device)
– Software interrupt (from an executing process. System Call)
• Also called a trap or an exception
• Generated to signal error (e.g. divide by zero)
• or to request service from OS (e.g. I/O).
19. Interrupt Handling
• The operating system preserves the state of the CPU
by storing registers and the program counter.
• The O.S. determines which type of interrupt has
occurred.
– Separate segments of code determine what action should
be taken for each type of interrupt.
• The OS executes the sequence of commands
associated with the given interrupt.
• The OS recovers the stored information from the
original process and continues execution.
20. Example: Protecting Processes from
Each Other
• Problem: Run multiple applications in such a way that
they are protected from one another
• Goal:
– Keep User Programs from Crashing OS
– Keep User Programs from Crashing each other
– [Keep Parts of OS from crashing other parts?]
• (Some of the required) Mechanisms:
– Address Translation
– Dual Mode Operation
• Simple Policy:
– Programs are not allowed to read/write memory of other
Programs or of Operating System
20
21. Address Translation
• Address Space
– A group of memory addresses usable by something
– Each program (process) and kernel has potentially different
address spaces.
• Address Translation:
– Translate from Virtual Addresses (emitted by CPU) into Physical
Addresses (of memory)
– Mapping often performed in Hardware by Memory Management
Unit (MMU)
Virtual Physical
Addresses Addresses
CPU MMU
21
22. Example of Address Translation
Code Data 2
Code
Stack 1
Data Data
Heap 1
Heap Heap
Code 1
Stack Stack
Stack 2
Prog 1 Data 1 Prog 2
Virtual Virtual
Address Heap 2
Address
Space 1 Code 2 Space 2
OS code
OS data
Translation Map 1 Translation Map 2
OS heap &
Stacks
Physical Address Space 22
23. Dual Mode Operation
• Hardware provides at least two modes:
– “Kernel” mode (or “supervisor” or “protected”)
– “User” mode: Normal programs executed
• Some instructions/ops prohibited in user mode:
– Example: cannot modify page tables in user mode
• Attempt to modify ⇒ Exception generated
• Transitions from user mode to kernel mode:
– System Calls, Interrupts, Other exceptions
24
25. “In conclusion…”
• Operating systems provide a virtual machine
abstraction to handle diverse hardware
• Operating systems simplify application
development by providing standard services
• Operating systems coordinate resources and
protect users from each other
• Operating systems can provide an array of fault
containment, fault tolerance, and fault recovery
26
26. Moore’s Law Change Drives OS
Change
1981 2006 Factor
CPU MHz, 10 3200x4 1,280
Cycles/inst 3—10 0.25—0.5 6—40
DRAM capacity 128KB 4GB 32,768
Disk capacity 10MB 1TB 100,000
Net bandwidth 9600 b/s 1 Gb/s 110,000
# addr bits 16 32 2
#users/machine 10s ≤ 1 ≤ 0.1
Price $25,000 $4,000 0.2
Typical academic computer 1981 vs 2006
27
27. Moore’s law effects
• Nothing like this in any other area of business
• Transportation in over 200 years:
– 2 orders of magnitude from horseback @10mph to Concorde
@1000mph
– Computers do this every decade!
• What does this mean for us?
– Techniques have to vary over time to adapt to changing tradeoffs
• I place a lot more emphasis on principles
– The key concepts underlying computer systems
– Less emphasis on facts that are likely to change over the next few
years…
• Let’s examine the way changes in $/MIPS has radically
changed how OS’s work
28
28. Dawn of time
ENIAC: (1945—1955)
• “The machine designed by Drs. Eckert and Mauchly was
a monstrosity. When it was finished, the ENIAC filled an
entire room, weighed thirty tons, and consumed two
hundred kilowatts of power.”
• http://ei.cs.vt.edu/~history/ENIAC.Richey.HTML
29
29. History Phase 1 (1948—1970)
Hardware Expensive, Humans Cheap
• When computers cost millions of $’s, optimize for
more efficient use of the hardware!
– Lack of interaction between user and computer
• User at console: one user at a time
• Batch monitor: load program, run, print
• Optimize to better use hardware
– When user thinking at console, computer idle⇒BAD!
– Feed computer batches and make users wait
• No protection: what if batch program has bug?
30
30. History Phase 1½ (late 60s/early 70s)
• Data channels, Interrupts: overlap I/O and compute
– DMA – Direct Memory Access for I/O devices
– I/O can be completed asynchronously
• Multiprogramming: several programs run simultaneously
– Small jobs not delayed by large jobs
– More overlap between I/O and CPU
– Need memory protection between programs and/or OS
• Complexity gets out of hand:
– Multics: announced in 1963, ran in 1969
• 1777 people “contributed to Multics” (30-40 core dev)
• Turing award lecture from Fernando Corbató (key researcher): “On
building systems that will fail”
– OS 360: released with 1000 known bugs (APARs)
• “Anomalous Program Activity Report”
• OS finally becomes an important science:
– How to deal with complexity???
– UNIX based on Multics, but vastly simplified
31
31. History Phase 2 (1970 – 1985)
Hardware Cheaper, Humans Expensive
• Computers available for tens of thousands of dollars instead of millions
• OS Technology maturing/stabilizing
• Interactive timesharing:
– Use cheap terminals (~$1000) to let multiple users interact with the
system at the same time
– Sacrifice CPU time to get better response time
– Users do debugging, editing, and email online
• Problem: Thrashing
– Performance very non-linear
response with load
Response
time
– Thrashing caused by many
factors including
• Swapping, queueing
Users
32
32. History Phase 3 (1981— )
Hardware Very Cheap, Humans Very Expensive
• Computer costs $1K, Programmer costs $100K/year
– If you can make someone 1% more efficient by giving
them a computer, it’s worth it!
– Use computers to make people more efficient
• Personal computing:
– Computers cheap, so give everyone a PC
• Limited Hardware Resources Initially:
– OS becomes a subroutine library
– One application at a time (MSDOS, CP/M, …)
• Eventually PCs become powerful:
– OS regains all the complexity of a “big” OS
– multiprogramming, memory protection, etc (NT,OS/2)
• Question: As hardware gets cheaper does need for OS
go away?
33
33. History Phase 3 (con’t)
Graphical User Interfaces
• Xerox Star: 1981
– Originally a research
Xerox Star
project (Alto)
– First “mice”, “windows”
• Apple Lisa/Machintosh: 1984
– “Look and Feel” suit 1988
• Microsoft Windows:
– Win 1.0 (1985)
– Win 3.1 (1990)
– Win 95 (1995)
– Win NT (1993)
– Win 2000 (2000) Windows 3.1
– Win XP (2001)
– Win Vista (2007)
34
34. History Phase 4 (1989—): Distributed
Systems
• Networking (Local Area Networking)
– Different machines share resources
– Printers, File Servers, Web Servers
– Client – Server Model
• Services
– Computing
– File Storage
35
35. History Phase 5 (1995—): Mobile
Systems
• Ubiquitous Mobile Devices
– Laptops, PDAs, phones
– Small, portable, and inexpensive
• Recently twice as many smart phones as PDAs
• Many computers/person!
– Limited capabilities (memory, CPU, power, etc…)
• Wireless/Wide Area Networking
– Leveraging the infrastructure
– Huge distributed pool of resources extend devices
– Traditional computers split into pieces. Wireless keyboards/mice,
CPU distributed, storage remote
• Peer-to-peer systems
– Many devices with equal responsibilities work together
– Components of “Operating System” spread across globe
36
36. History of OS: Summary
• Change is continuous and OSs should adapt
– Not: look how stupid batch processing was
– But: Made sense at the time
• Situation today is much like the late 60s [poll]
– Small OS: 100K lines
– Large OS: >10M lines (5M for the browser!)
• 100-1000 people-years
• Complexity still reigns
– NT under development from early 90’s to late 90’s
• Never worked very well
– Jury still out on Windows 2000/XP
– Windows Vista (aka “Longhorn”) delayed many times
• Latest release date of 2005, 2006, 2007 (finally)
37
38. Operating System Structure
• Multiprogramming needed for efficiency
– Single user cannot keep CPU and I/O devices busy at all times
– Multiprogramming organizes jobs (code and data) so CPU always has one to
execute
– A subset of total jobs in system is kept in memory
– One job selected and run via job scheduling
– When it has to wait (for I/O for example), OS switches to another job
• Timesharing (multitasking) is logical extension in which CPU switches jobs so
frequently that users can interact with each job while it is running, creating
interactive computing
– Response time should be < 1 second
– Each user has at least one program executing in memory process
– If several jobs ready to run at the same time CPU scheduling
– If processes don’t fit in memory, swapping moves them in and out to run
– Virtual memory allows execution of processes not completely in memory
39
39. Operating System Services
(What things does the OS do?)
• Services that (more-or-less) map onto components
– Program execution
• How do you execute concurrent sequences of instructions?
– I/O operations
• Standardized interfaces to extremely diverse devices
– File system manipulation
• How do you read/write/preserve files?
• Looming concern: How do you even find files???
– Communications
• Networking protocols/Interface with CyberSpace?
• Control capabilities
– Error detection & recovery
– Resource allocation
– Accounting
– Protection
40
40. Operating Systems Components
(What are the pieces of the OS)
• Process Management
• Main-Memory Management
• I/O System management
• File Management
• Networking
• User Interfaces
41
41. Process Management
• A process is a program in execution. It is a unit of work within the system.
Program is a passive entity, process is an active entity.
• Process needs resources to accomplish its task
– CPU, memory, I/O, files
– Initialization data
• Process termination requires reclaim of any reusable resources
• Single-threaded process has one program counter specifying location of
next instruction to execute
– Process executes instructions sequentially, one at a time, until
completion
• Multi-threaded process has one program counter per thread
• Typically system has many processes, some user, some operating system
running concurrently on one or more CPUs
– Concurrency by multiplexing the CPUs among the processes / threads
42
42. Process Management Activities
The operating system is responsible for the following
activities in connection with process management:
• Creating and deleting both user and system
processes
• Suspending and resuming processes
• Providing mechanisms for process synchronization
• Providing mechanisms for process communication
• Providing mechanisms for deadlock handling
43
43. Memory Management
• All data in memory before and after processing
• All instructions in memory in order to execute
• Memory management determines what is in memory
when
– Optimizing CPU utilization and computer response to users
• Memory management activities
– Keeping track of which parts of memory are currently
being used and by whom
– Deciding which processes (or parts thereof) and data to
move into and out of memory
– Allocating and deallocating memory space as needed
44
44. Storage Management
• OS provides uniform, logical view of information storage
– Abstracts physical properties to logical storage unit - file
– Each medium is controlled by device (i.e., disk drive, tape drive)
• Varying properties include access speed, capacity, data-transfer rate,
access method (sequential or random)
• File-System management
– Files usually organized into directories
– Access control on most systems to determine who can access what
– OS activities include
• Creating and deleting files and directories
• Primitives to manipulate files and dirs
• Mapping files onto secondary storage
• Backup files onto stable (non-volatile) storage media
45
45. Mass-Storage Management
• Usually disks used to store data that does not fit in main memory or data that
must be kept for a “long” period of time.
• Proper management is of central importance
• Entire speed of computer operation hinges on disk subsystem and its algorithms
• OS activities
– Free-space management
– Storage allocation
– Disk scheduling
• Some storage need not be fast
– Tertiary storage includes optical storage, magnetic tape
– Still must be managed
– Varies between WORM (write-once, read-many-times) and RW (read-write)
46
46. I/O Subsystem
• One purpose of OS is to hide peculiarities of
hardware devices from the user
• I/O subsystem responsible for
– Memory management of I/O including
• buffering (storing data temporarily while it is being
transferred),
• caching (storing parts of data in faster storage for
performance),
• spooling (the overlapping of output of one job with input of
other jobs)
– General device-driver interface
– Drivers for specific hardware devices
47
47. Protection and Security
• Protection – any mechanism for controlling access of
processes or users to resources defined by the OS
• Security – defense of the system against internal and external
attacks
– Huge range, including denial-of-service, worms, viruses, identity
theft, theft of service
• Systems generally first distinguish among users, to determine
who can do what
– User identities (user IDs, security IDs) include name and associated
number, one per user
– User ID then associated with all files, processes of that user to
determine access control
– Group identifier (group ID) allows set of users to be defined and
controls managed, then also associated with each process, file
– Privilege escalation allows user to change to effective ID with
more rights
48
48. Conclusion
• Rapid Change in Hardware Leads to changing OS
– Batch ⇒ Multiprogramming ⇒ Timeshare ⇒
Graphical UI ⇒ Ubiquitous Devices ⇒
Cyberspace/Metaverse/??
• OS features migrated from mainframes ⇒ PCs
• Standard Components and Services
– Process Control
– Main Memory
– I/O
– File System
– UI
• Complexity is always out of control
– However, “Resistance is NOT Useless!”
49
Editor's Notes
What’s the largest single use of microprocessors? Not computers – Embedded computers (10 billion versus 400 million) Example: Nintendo game machine. Second largest? Automobiles. Both require concurrency, but no need for protection
Computer system can be divided into four components Hardware – provides basic computing resources CPU, memory, I/O devices Operating system Controls and coordinates use of hardware among various applications and users Application programs – define the ways in which the system resources are used to solve the computing problems of the users Word processors, compilers, web browsers, database systems, video games Users People, machines, other computers
Intel Pentium D 940 Extreme Edition – Dual hyperthreaded core
The best part of computer science: Suppose you don’t know anything today, wait a few years and no one will know anything!
OS first appeared as a subroutine “library” shared by all users. Library: pull card decks from wall.
Multiprogramming: 2 jobs (1 takes 10 hrs, the other 10 mins). Don’t have to wait 10 hrs! www.multicians.org lists 1777 people who “contributed to Multics”. Probably 30-40 core developers.
Computers are friendly things: 1 terminal, feed me. Add another terminal, feed me. Can you keep doing this? NO! Eventually fall off a cliff (add one more user, computer slows down by a factor of 1000)
No, Feature creep. PC made OS a subroutine all over again. But then realized even single users need memory protection, multiprogramming, etc. Same is true of PDAs and phones
Why do we need distributed systems? Resource sharing (printers, Internet connections,…) and info sharing (files, email, IM, …)
How many people have written a 1K program? 15 pages How many people have written a 10K program? 150 pages