Podcast
Questions and Answers
Which of the following best describes the role of an operating system?
Which of the following best describes the role of an operating system?
- To execute user programs and solve user problems directly.
- To provide an environment for other programs to do useful work. (correct)
- To replace the computer hardware for better performance.
- To maximize graphical user interface (GUI) performance.
In a multi-user computer system, what is the primary goal of the operating system's design?
In a multi-user computer system, what is the primary goal of the operating system's design?
- To optimize the system for mobile applications and battery life.
- To minimize the complexity of the user interface, focusing on ease of use.
- To maximize resource utilization, ensuring efficient use of CPU time, memory, and I/O. (correct)
- To maximize the work (or play) that a single user is performing.
Which of the following is the most accurate system view definition of the operating system?
Which of the following is the most accurate system view definition of the operating system?
- A program that users interact with directly to perform tasks.
- A collection of pre-installed application programs.
- A tool for developers to create new applications.
- A resource allocator and control program. (correct)
Which of the following is NOT a typical goal of an operating system?
Which of the following is NOT a typical goal of an operating system?
A computer system can be divided into four components, what are they?
A computer system can be divided into four components, what are they?
Which of the following most accurately defines the 'kernel' in the context of operating systems?
Which of the following most accurately defines the 'kernel' in the context of operating systems?
Which of the following describes the primary function of a bootstrap program?
Which of the following describes the primary function of a bootstrap program?
What is the role of 'system processes' or 'system daemons' in an operating system?
What is the role of 'system processes' or 'system daemons' in an operating system?
In the context of operating systems, what is the significance of an 'interrupt'?
In the context of operating systems, what is the significance of an 'interrupt'?
Which of the following is NOT an advantage of multiprocessor systems?
Which of the following is NOT an advantage of multiprocessor systems?
What is the key difference between symmetric and asymmetric multiprocessing?
What is the key difference between symmetric and asymmetric multiprocessing?
Why are multicore systems more efficient than multiple chips with single cores?
Why are multicore systems more efficient than multiple chips with single cores?
What is a key characteristic of clustered systems?
What is a key characteristic of clustered systems?
What is the difference between asymmetric and symmetric clustering?
What is the difference between asymmetric and symmetric clustering?
What is the primary goal of multiprogramming?
What is the primary goal of multiprogramming?
Which of the following best describes 'timesharing systems'?
Which of the following best describes 'timesharing systems'?
What is the purpose of CPU scheduling in a timesharing system?
What is the purpose of CPU scheduling in a timesharing system?
What is the function of 'virtual memory'?
What is the function of 'virtual memory'?
What is the significance of the 'mode bit' in operating system operations?
What is the significance of the 'mode bit' in operating system operations?
What is the characteristic of a 'privileged' instruction?
What is the characteristic of a 'privileged' instruction?
What action does a 'system call' initiate?
What action does a 'system call' initiate?
What role does a 'timer' play in operating system hardware protection?
What role does a 'timer' play in operating system hardware protection?
How does an operating system use user identities to provide protection and security?
How does an operating system use user identities to provide protection and security?
What is the main difference between a process and a program?
What is the main difference between a process and a program?
Which of the following is NOT a typical process management activity performed by an operating system?
Which of the following is NOT a typical process management activity performed by an operating system?
Why is memory management essential in an operating system?
Why is memory management essential in an operating system?
What is a key function of file-system management within storage management?
What is a key function of file-system management within storage management?
Which of the following best describes the role of the I/O subsystem?
Which of the following best describes the role of the I/O subsystem?
What is a significant weakness of early operating systems that used serial processing?
What is a significant weakness of early operating systems that used serial processing?
What are two distinguishing features that categorize different types of Operating Systems?
What are two distinguishing features that categorize different types of Operating Systems?
Which of the following statements accurately describes Batch Systems?
Which of the following statements accurately describes Batch Systems?
How do interactive systems differ from real-time systems?
How do interactive systems differ from real-time systems?
In which scenario is it most appropriate to use a Real-Time Operating System (RTOS)?
In which scenario is it most appropriate to use a Real-Time Operating System (RTOS)?
What is a key characteristic of hybrid systems?
What is a key characteristic of hybrid systems?
Which aspect is most crucial for embedded systems compared to other types of operating systems?
Which aspect is most crucial for embedded systems compared to other types of operating systems?
Which of the following is NOT a characteristic of traditional computing environments?
Which of the following is NOT a characteristic of traditional computing environments?
What is a defining trait of mobile computing environments?
What is a defining trait of mobile computing environments?
What is the primary feature of a distributed computing environment?
What is the primary feature of a distributed computing environment?
How does virtualization contribute to modern computing environments?
How does virtualization contribute to modern computing environments?
What is the primary function of a Virtual Machine Manager (VMM)?
What is the primary function of a Virtual Machine Manager (VMM)?
Flashcards
Operating System Role
Operating System Role
Controls hardware, coordinates application program use among users.
Single User OS
Single User OS
Designed for single users to monopolize resources and maximize work/play.
Multi User OS
Multi User OS
OS designed for shared resources and maximized utilization.
Handheld OS
Handheld OS
Signup and view all the flashcards
Embedded OS
Embedded OS
Signup and view all the flashcards
Resource Allocator
Resource Allocator
Signup and view all the flashcards
Operating System
Operating System
Signup and view all the flashcards
Hardware
Hardware
Signup and view all the flashcards
Operating System
Operating System
Signup and view all the flashcards
Application Programs
Application Programs
Signup and view all the flashcards
Users
Users
Signup and view all the flashcards
Kernel
Kernel
Signup and view all the flashcards
Bootstrap Program
Bootstrap Program
Signup and view all the flashcards
System Processes / Daemons
System Processes / Daemons
Signup and view all the flashcards
Interrupt
Interrupt
Signup and view all the flashcards
Multiprocessors
Multiprocessors
Signup and view all the flashcards
Symmetric Multiprocessing
Symmetric Multiprocessing
Signup and view all the flashcards
Asymmetric Multiprocessing
Asymmetric Multiprocessing
Signup and view all the flashcards
Multicore Systems
Multicore Systems
Signup and view all the flashcards
Fault Tolerance
Fault Tolerance
Signup and view all the flashcards
Multiprocessors
Multiprocessors
Signup and view all the flashcards
Multicore CPU
Multicore CPU
Signup and view all the flashcards
Simultaneous Multithreading
Simultaneous Multithreading
Signup and view all the flashcards
Clustered Systems
Clustered Systems
Signup and view all the flashcards
Asymmetric Clustering
Asymmetric Clustering
Signup and view all the flashcards
Symmetric Clustering
Symmetric Clustering
Signup and view all the flashcards
Multiprogramming
Multiprogramming
Signup and view all the flashcards
Job Scheduling
Job Scheduling
Signup and view all the flashcards
Timesharing System
Timesharing System
Signup and view all the flashcards
Process
Process
Signup and view all the flashcards
CPU Scheduling
CPU Scheduling
Signup and view all the flashcards
Swapping
Swapping
Signup and view all the flashcards
Two Modes of Operation:
Two Modes of Operation:
Signup and view all the flashcards
Privileged
Privileged
Signup and view all the flashcards
System Call
System Call
Signup and view all the flashcards
Timer
Timer
Signup and view all the flashcards
Protection
Protection
Signup and view all the flashcards
Security
Security
Signup and view all the flashcards
User Identities (User IDs)
User Identities (User IDs)
Signup and view all the flashcards
Process Needs
Process Needs
Signup and view all the flashcards
Study Notes
Introduction to Operating Systems
- An operating system (OS) manages hardware and coordinates application programs for users.
- A computer system consists of hardware, software, and data.
- The OS ensures resources are used correctly.
- An OS is like a government; it provides an environment for other programs to function within.
- Operating systems can be viewed from the perspective of the user and the system.
User View
- The user's view depends on the interface being used.
- Single-user computers are designed to maximize the user's work or play. The OS is optimized for ease of use and performance.
- Multi-user computers share resources to maximize resource utilization. Available CPU time, memory, and I/O are used efficiently.
- Handheld smartphones and tablets have touch screens and are optimized for usability and battery life.
- Embedded computers in home devices and automobiles feature numeric keypads, indicator lights and run without intervention.
System View
- From the computer's viewpoint, the OS is deeply involved with hardware.
- The OS acts as a resource allocator and manages resources and decides between conflicting requests efficiently.
- The OS as a control program controls the execution of programs to prevent errors and improper use.
Defining the Operating System
- An OS is an intermediary between computer users and hardware.
- OS goals are:
- To execute user programs and solve user problems easily.
- To make the system user-friendly.
- To use the hardware efficiently.
Computer System Structure
- A computer system comprises four components:
- Hardware: Provides computing resources like CPU, memory, and I/O devices.
- Operating System: Controls hardware use across applications and users.
- Application Programs: Use resources to solve users' computing problems, for example, word processors, compilers, web browsers, databases, and video games.
- Users: People, machines, or other computers.
Operating System Definition
- There is no universal definition.
- A good approximation is: everything a vendor ships when ordering an operating system".
- "The one program running at all times on the computer" is the kernel. Other components are either system programs (shipped with the OS) or application programs.
Computer System Organization
- During computer startup, the bootstrap program loads at power-up or reboot.
- It's stored in ROM or EPROM and known as firmware.
- It initializes the system and loads the OS kernel, then starts execution.
Computer System Operation
- After kernel loading and execution, it provides services to the system and users.
- Some services are provided by system programs loaded into memory at boot as system processes or daemons.
- On UNIX, the first process is init which starts other daemons with interrupts signaling events.
Computer System Architecture
- Single general-purpose processor systems have special-purpose processors too.
- Multiprocessor systems have increased in use and importance. They're known as parallel systems or tightly-coupled systems.
- Throughput increases, as there's less time to complete tasks with more processors.
- There's also economy of scale - less cost when sharing peripherals, storage, and power supplies
- Reliability is increased through functions distributed among processors, allowing graceful degradation and fault tolerance.
- Symmetric Multiprocessing: Each processor performs all tasks.
- Asymmetric Multiprocessing: Each processor is assigned a specific task.
Multicore Systems
- Modern CPUs include multiple computing cores on a single chip, called multicore systems.
- Multicore systems are more efficient due to:
- Faster on-chip communication.
- Lower power consumption than multiple single-core chips.
- Multicore systems are multiprocessor systems, but not all multiprocessor systems are multicore.
- A multiprocessor system has multiple CPUs working in parallel.
- A multicore CPU duplicates CPU components.
- Simultaneous multithreading duplicates a smaller subset, making the core look like two processors.
Clustered Systems
- Clustered systems work together, like multiprocessor systems
- They share storage via a storage-area network (SAN)
- They provide high availability, surviving failures
- Asymmetric clustering has a hot-standby (master) server which monitors active ones (slaves).
- Symmetric clustering runs applications across multiple nodes/machines.
- Some clusters are for high-performance computing (HPC) and require parallelization
- Some have a distributed lock manager (DLM) to avoid conflicting operations.
Operating System Structure
- A single user cannot keep the CPU and I/O devices busy all the time.
- Multiprogramming organizes jobs (code and data) for continuous CPU execution.
- A subset of total jobs is kept in memory.
- Batch systems run one job at a time through job scheduling. The OS switches jobs when a job has to wait.
- Timesharing systems allow users to interact with each job while it is running, termed interactive computing.
Timesharing Systems
- Timesharing can be called multitasking and the response time is < 1 second.
- Each user has at least one program, called a process, executing in memory
- CPU scheduling occurs if processes are ready to run.
- Swapping moves processes in and out of memory if processes do not fit in memory.
- Virtual memory allows processes to execute, even when not completely in memory.
Operating System Operations
- A mechanism protects the OS and other system components.
- There are two modes of operations:
- User mode.
- Kernel mode.
- A mode bit (0 or 1) provided by hardware distinguishes if user code or kernel code is running.
- Privileged instructions execute in kernel mode only.
- System calls from users change the mode from user to kernel.
- Returning from a system call resets the mode to user.
Hardware Protection
- Privileged instructions are issued only in kernel mode.
- Examples:
- I/O instruction.
- Halt.
- Changing execution mode.
- Modifying memory-management registers and timer.
- Switching interrupt services on/off.
- Other hardware protections beside dual mode: I/O, memory, and CPU protection, and kernel mode.
Timer
- A timer, as a hardware device, prevents processes from infinite loops (process hogging of resources).
- A timer is decremented by the physical clock
- The timer is set to interrupt after a time period
- The OS sets the counter (privileged instruction)
- An interrupt generates when it reaches zero
- The OS sets the counter's value to regain control or terminate programs exceeding allotted time
Protection and Security
- Protection controls access to resources.
- Security defends the system
- There is a range of defenses, including denial-of-service, worms, viruses, identity theft, and theft of service
- Systems distinguish among users:
- User identities include a name and associated number, one per user
- User IDs associate with files and processes
- A group ID allows users to be defined and controls managed
- Privilege escalation enables a user to change to an effective ID with higher rights.
Process Management
- A process is a program in execution and unit of work; the program is a passive entity, the process is an active entity.
- Processes require resources: CPU, memory, I/O, files, and initialization data
- Process termination reclaims resources
- Single-threaded processes have one program counter for the next instruction's location. The instructions execute sequentially, one at a time, until completion
- Multi-threaded processes have one program counter per thread
- Systems have many processes, running concurrently on one or more CPUs; concurrency is done by multiplexing.
Process Management Activities
- The OS handles
- Creating and deleting user and system processes.
- Suspending and resuming processes.
- Providing mechanisms for process synchronization and communication.
- Providing mechanisms for deadlock handling.
Memory Management
- Memory management deals with all data and instructions in the course of processing.
- Memory management determines what resides in memory by optimizing CPU utilization and computer response
- Memory management :
- Keeps track of parts of memory
- Decides which processes and data to move in and out of memory
- Allocates and deallocates memory space.
Storage Management
- The OS provides a logical view of information storage and abstracts physical properties to a logical storage unit file.
- Each medium is controlled by a device (e.g., disk drive, tape drive). Their properties include the following - Access speed, capacity, data-transfer rate, and access method
- Access control determines who accesses directories.
- The OS activities are: creating/deleting files/directories and manipulating files and directories, as well as mapping files onto storage, etc.
Mass Storage Management
- Disks store programs for long periods of time and that does not fit into memory
- The programs use the disk as the source and destination of their processing
- OS activities in connection with disk management are:
- Free-space management.
- Storage allocation and disk scheduling.
- Tertiary storage is managed by the OS or applications. Tertiary storage includes:
- Optical storage
- Magnetic tape
- Storage varies between WORM (write-once, read-many-times) and RW (read-write).
Migration of Integer A from Disk to Register
- In hierarchical storage the same data (“A”) appears in different storage system levels.
- The value of "A" matches only after writing the new value from the magnetic disk.
- In multiprocessors, each CPU can execute a local value of “A” in parallel and must ensure the value updates quickly. This is called cache coherency
- In distributed environments this becomes complex
- Several copies of the same file is kept on different computers
I/O Subsystem
- The purpose of an OS is to hide the functions of the hardware.
- The I/O subsystem is responsible for:
- Memory management of I/O, the buffering, caching and spooling
- The general device driver interface
- Drivers for specific hardware devices
Types of Operating Systems
- Early systems did not have operating systems; they ran from a console with switches, lights, and input/output devices.
- The programmer acted as an operator.
- Setup included loading the compiler, source program, saving the compiled program and loading and linking.
- They involved one user and serial processing.
- A weakness was CPU idleness and wasted time.
Categories of Operating Systems
- Five categories:
- Batch.
- Interactive.
- Real-Time.
- Hybrid.
- Embedded.
- Distinguishing features: Response time and how data enters the system.
Batch Systems
- Input relied on punched cards or tape.
- Jobs collected and executed as one batch
- Which reduced setup time.
- A resident monitor or batch monitor was then introduced
- This was a basic operating system with initial control.
- Control transfers to jobs and back to the monitor at the end of the job.
- Use automatic job sequencing and transfers control from one job to another.
Interactive Systems
- Interactive systems:
- Are faster than batch systems.
- Are slower than real-time systems.
- Were introduced to provide fast turnaround when debugging.
- Time-sharing software developed for operating systems.
Real-Time Systems (RTOS)
- Essential components are reliability, speed and time limit sensitivity
- Must work in time-critical environments (Space flights, air traffic control)
- Commonly used for: Industrial processes, medical equipment, electricity and telephone switching.
- Must be 100% responsive at all times.
Hybrid Systems
- Hybrid systems are a combination of batch and interactive
- Appear to be interactive. Users access the system with fast responses.
- Accept and run batch programs in the background under conditions of light loads
- Take advantage from free time between high-low demand usage
- Many large computer systems are hybrids
Embedded Systems
- Embedded systems are computers placed inside other products.
- These add features and capabilities with special Operating System requirements
- Specific set of programs need to be performed
- They are not interchangeable among systems
- They use a small kernel and flexible functions
Computing Environments
- Traditional computing
- Mobile computing
- Distributed systems
- Virtualization
Computing Environments - Traditional
- Traditional environments feature, stand-alone general purpose machines.
- Most systems interconnect with others (i.e., the Internet)
- Portals provide access to internal systems.
- Mobile computers use wireless networks while network computers use thin clients or Web terminals.
- Networking is becoming ubiquitous; home systems use firewalls to protect computers.
Computing Environments - Mobile
- Smartphones, tablets, and handheld devices.
- The features include: more OS features(GPS -- Waze),augmented reality, wireless such as IEEE 802.11, cellular data etc
Computing Environments - Distributed
- There are heterogenous systems networked together
- They use a network path, often times TCP/IP
- Local Area Networks (LAN), Wide Are Networks (WAN) and personal area networks
- They use network operating systems which offer the sharing data between systems
- An illusion of a single system across networks due to communications scheme.
Virtualization
- Virtualization makes the OS able to run applications in other OSes
- In Emulation the source CPU type differs. This is generally the slowest process where languages are not compiled to native
- Virtualization has OS natively compile for the CPU.
- For example, WMware runs WinXP as a guest with apps, running within the native windows system
- Virtual Machine manager (VMM) manages this
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.