Operating Systems: An Overview

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

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?

  • 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?

  • 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?

<p>Circumventing security measures to allow unrestricted access. (A)</p> Signup and view all the answers

A computer system can be divided into four components, what are they?

<p>Hardware, operating system, application programs, and users. (B)</p> Signup and view all the answers

Which of the following most accurately defines the 'kernel' in the context of operating systems?

<p>The one program running at all times on the computer. (C)</p> Signup and view all the answers

Which of the following describes the primary function of a bootstrap program?

<p>Loading the operating system kernel and starting its execution. (D)</p> Signup and view all the answers

What is the role of 'system processes' or 'system daemons' in an operating system?

<p>They provide services outside of the kernel and run continuously. (C)</p> Signup and view all the answers

In the context of operating systems, what is the significance of an 'interrupt'?

<p>It is a signal that typically indicates the occurrence of an event, requiring the OS to take action. (C)</p> Signup and view all the answers

Which of the following is NOT an advantage of multiprocessor systems?

<p>Increased complexity in software development due to the need for specialized programming. (A)</p> Signup and view all the answers

What is the key difference between symmetric and asymmetric multiprocessing?

<p>In symmetric multiprocessing, each processor performs all tasks, while in asymmetric multiprocessing, each processor is assigned a specific task. (B)</p> Signup and view all the answers

Why are multicore systems more efficient than multiple chips with single cores?

<p>Because on-chip communication is faster and they use less power. (D)</p> Signup and view all the answers

What is a key characteristic of clustered systems?

<p>They are multiple independent systems working together, typically sharing storage. (C)</p> Signup and view all the answers

What is the difference between asymmetric and symmetric clustering?

<p>Asymmetric clustering involves one machine in hot-standby mode, while symmetric clustering involves multiple nodes running applications and monitoring each other. (C)</p> Signup and view all the answers

What is the primary goal of multiprogramming?

<p>To organize jobs so the CPU always has one to execute. (C)</p> Signup and view all the answers

Which of the following best describes 'timesharing systems'?

<p>Systems where CPU switches jobs frequently, allowing users to interact with each job while it is running. (C)</p> Signup and view all the answers

What is the purpose of CPU scheduling in a timesharing system?

<p>To allocate CPU time among multiple processes that are ready to run, ensuring fair distribution. (B)</p> Signup and view all the answers

What is the function of 'virtual memory'?

<p>To provide additional memory by using disk space as an extension of RAM. (C)</p> Signup and view all the answers

What is the significance of the 'mode bit' in operating system operations?

<p>It indicates whether the system is running user code or kernel code. (D)</p> Signup and view all the answers

What is the characteristic of a 'privileged' instruction?

<p>It can be executed only in kernel mode. (A)</p> Signup and view all the answers

What action does a 'system call' initiate?

<p>It asks the operating system to perform a specific function, changing from user mode to kernel mode. (A)</p> Signup and view all the answers

What role does a 'timer' play in operating system hardware protection?

<p>It is ensures the CPU halts if it is in an infinite loop process. (A)</p> Signup and view all the answers

How does an operating system use user identities to provide protection and security?

<p>By assigning each user a unique identifier and associating it with the user's files and processes to control access. (B)</p> Signup and view all the answers

What is the main difference between a process and a program?

<p>A process is an active entity (program in execution), while a program is a passive entity. (D)</p> Signup and view all the answers

Which of the following is NOT a typical process management activity performed by an operating system?

<p>Optimizing compilers generating machine code. (B)</p> Signup and view all the answers

Why is memory management essential in an operating system?

<p>To determine what is in memory and to optimize CPU utilization and computer responsiveness. (C)</p> Signup and view all the answers

What is a key function of file-system management within storage management?

<p>Organizing files into directories and controlling access to them. (A)</p> Signup and view all the answers

Which of the following best describes the role of the I/O subsystem?

<p>Hiding the functions of hardware devices from the users. (A)</p> Signup and view all the answers

What is a significant weakness of early operating systems that used serial processing?

<p>CPU idle time, wasting CPU resources. (D)</p> Signup and view all the answers

What are two distinguishing features that categorize different types of Operating Systems?

<p>Response time and how data enters into the system (B)</p> Signup and view all the answers

Which of the following statements accurately describes Batch Systems?

<p>Systems where jobs are collected and executed as one batch to reduce setup time. (C)</p> Signup and view all the answers

How do interactive systems differ from real-time systems?

<p>Interactive systems are slower than real-time systems, which require immediate responses. (A)</p> Signup and view all the answers

In which scenario is it most appropriate to use a Real-Time Operating System (RTOS)?

<p>Space flights that require a 100% reliability to avoid errors. (D)</p> Signup and view all the answers

What is a key characteristic of hybrid systems?

<p>They combine features of batch and interactive systems, enabling both types of processing. (D)</p> Signup and view all the answers

Which aspect is most crucial for embedded systems compared to other types of operating systems?

<p>A small kernel and flexible function capabilities tailored to specific hardware. (C)</p> Signup and view all the answers

Which of the following is NOT a characteristic of traditional computing environments?

<p>Systems that rarely connect to the internet. (A)</p> Signup and view all the answers

What is a defining trait of mobile computing environments?

<p>Limited Operating System (OS) features due to resource constraints. (A)</p> Signup and view all the answers

What is the primary feature of a distributed computing environment?

<p>A collection of separate, networked systems working together. (C)</p> Signup and view all the answers

How does virtualization contribute to modern computing environments?

<p>By allowing operating systems to run applications within other OSes. (D)</p> Signup and view all the answers

What is the primary function of a Virtual Machine Manager (VMM)?

<p>To provide virtualization services by virtualizing hardware. (C)</p> Signup and view all the answers

Flashcards

Operating System Role

Controls hardware, coordinates application program use among users.

Single User OS

Designed for single users to monopolize resources and maximize work/play.

Multi User OS

OS designed for shared resources and maximized utilization.

Handheld OS

OS feature touch screens and optimized usability and battery life.

Signup and view all the flashcards

Embedded OS

OS designed to run without user intervention.

Signup and view all the flashcards

Resource Allocator

OS manages all resources and decides between conflicting requests.

Signup and view all the flashcards

Operating System

A program that interfaces between the computer user and machine hardware.

Signup and view all the flashcards

Hardware

Basic computing resources, i.e. CPU, memory, I/O.

Signup and view all the flashcards

Operating System

Controls use of hardware among applications and users.

Signup and view all the flashcards

Application Programs

Defines how system resources solve computing problems.

Signup and view all the flashcards

Users

People, machines, other computers.

Signup and view all the flashcards

Kernel

The one program running at all times.

Signup and view all the flashcards

Bootstrap Program

Loaded at power-up/reboot, initializes system, and loads OS kernel.

Signup and view all the flashcards

System Processes / Daemons

Services provided by system programs loaded into memory at boot.

Signup and view all the flashcards

Interrupt

Signals the OS about an event requiring attention.

Signup and view all the flashcards

Multiprocessors

Systems with multiple processors for increased throughput and reliability.

Signup and view all the flashcards

Symmetric Multiprocessing

Each processor performs same tasks.

Signup and view all the flashcards

Asymmetric Multiprocessing

Each processor assigned specific task.

Signup and view all the flashcards

Multicore Systems

Multiple computing cores on a single chip.

Signup and view all the flashcards

Fault Tolerance

Ability to continue providing service despite failures.

Signup and view all the flashcards

Multiprocessors

More than one CPU for parallel work.

Signup and view all the flashcards

Multicore CPU

Multiple execution cores on one CPU.

Signup and view all the flashcards

Simultaneous Multithreading

Smaller subset of processor's components are duplicated.

Signup and view all the flashcards

Clustered Systems

Multiple systems sharing storage.

Signup and view all the flashcards

Asymmetric Clustering

One machine in hot-standby mode.

Signup and view all the flashcards

Symmetric Clustering

Nodes run applications and monitor each other.

Signup and view all the flashcards

Multiprogramming

Jobs organized so CPU always has something to execute.

Signup and view all the flashcards

Job Scheduling

One job selected and run via scheduling.

Signup and view all the flashcards

Timesharing System

CPU switches jobs frequently, creating interactive computing.

Signup and view all the flashcards

Process

Each user has at least one program executing in memory.

Signup and view all the flashcards

CPU Scheduling

Allocates CPU to processes.

Signup and view all the flashcards

Swapping

Moves processes in/out of memory.

Signup and view all the flashcards

Two Modes of Operation:

Modes to protect OS.

Signup and view all the flashcards

Privileged

Instructions only in kernel mode.

Signup and view all the flashcards

System Call

Switches between user/kernel modes.

Signup and view all the flashcards

Timer

Prevents infinite loops.

Signup and view all the flashcards

Protection

Controlling access, processes, or users to resources.

Signup and view all the flashcards

Security

A defense of the system against internal/external attacks.

Signup and view all the flashcards

User Identities (User IDs)

Includes name & number.

Signup and view all the flashcards

Process Needs

CPU, memory, I/O, files.

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.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser