Operating System Objectives and Services

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Briefly explain how an operating system acts as an interface between applications and computer hardware.

The OS manages hardware resources and provides services that applications use through APIs, abstracting the complexity of the hardware.

Name and briefly describe three key objectives of an Operating System.

Convenience (easy computer use), Efficiency (resource optimization), and Ability to Evolve (adapt to new functions).

Explain how the Application Programming Interface (API) contributes to software portability.

An API provides a consistent set of functions for application software to utilize hardware resources, making the application independent of the underlying system details.

How does an Operating System facilitate controlled access to files?

<p>The OS provides protection mechanisms to control access to files, ensuring that only authorized users or processes can access them.</p> Signup and view all the answers

In the context of Operating Systems, what is the significance of 'error detection and response'?

<p>It involves detecting internal/external hardware errors and software errors (e.g., arithmetic overflow) and implementing recovery mechanisms.</p> Signup and view all the answers

Explain the purpose of 'accounting' as a service provided by the Operating System.

<p>Accounting involves collecting statistics, monitoring performance, anticipating future enhancements, and billing users by monitoring resource usage.</p> Signup and view all the answers

What is the role of the Instruction Set Architecture (ISA) in the context of operating systems?

<p>The ISA defines the repertoire of machine language instructions that a processor can execute, serving as the foundation for system software.</p> Signup and view all the answers

Describe why a major Operating System will evolve over time.

<p>OS evolve due to hardware upgrades, new services, and the need for fixes.</p> Signup and view all the answers

What were the primary limitations of serial processing in early computing?

<p>The scheduling process was manual and inefficient, requiring physical sign-up sheets. Setup time was extensive, involving loading compilers, programs, and linking manually.</p> Signup and view all the answers

Explain how simple batch systems improved computer utilization compared to serial processing.

<p>Batch systems used a monitor to automate job sequencing, grouping batch jobs together for continuous processing, reducing idle time.</p> Signup and view all the answers

Describe the role and location of the 'resident monitor' in a simple batch system.

<p>The resident monitor controls the execution of each job, loaded and running in main memory, available for execution.</p> Signup and view all the answers

What is a Job Control Language (JCL), and what is its function?

<p>JCL is a special type of programming language that provides instructions to the monitor, indicating which compiler to use and what data to use.</p> Signup and view all the answers

How did hardware features like timers and interrupts enhance operating system capabilities?

<p>Timers prevent jobs from monopolizing the system, ensuring fair allocation of CPU time. Interrupts allowed the OS to handle events asynchronously.</p> Signup and view all the answers

Differentiate between 'User Mode' and 'Kernel Mode' of operation.

<p>User Mode is for user program execution with restricted memory access and instruction execution. Kernel Mode is for the OS, with access to all the memory and privileged instructions.</p> Signup and view all the answers

Explain how 'Multiprogrammed Batch Systems' improve CPU utilization.

<p>Multiprogramming allows the processor to switch to another job when one job is waiting for I/O, preventing the CPU from remaining idle.</p> Signup and view all the answers

Describe how time-sharing systems utilize multiprogramming.

<p>Time-sharing systems uses multiprogramming to handle multiple interactive jobs, by sharing the processor's time among multiple users.</p> Signup and view all the answers

List four major theoretical advancements in the development of Operating Systems.

<p>Processes, Memory Management, Information Protection &amp; Security, and Scheduling &amp; Resource Management.</p> Signup and view all the answers

What is a 'process' in the context of Operating Systems?

<p>A program in execution, which can be assigned to and executed on a processor, having a single sequential thread of execution and an associated set of system resources.</p> Signup and view all the answers

Describe a potential difficulty in designing system software related to improper synchronization.

<p>Improper synchronization design means that the signaling mechanism can result in signals being lost or duplicate signals being received.</p> Signup and view all the answers

What are major components of a process?

<p>An executable program, associated data, and the execution context comprised the major components.</p> Signup and view all the answers

How does the file system contribute to memory management?

<p>The file system implements long-term storage, organizing information into named files, and provides access control and protection.</p> Signup and view all the answers

What is virtual memory?

<p>Virtual memory lets programs address memory from a logical point of view, enabling multi-job concurrency and memory compaction through paging systems.</p> Signup and view all the answers

Describe how paging facilitates virtual memory.

<p>Paging divides processes into fixed-size blocks, allowing these pages to be located anywhere in main memory and dynamically mapped between virtual addresses and real addresses.</p> Signup and view all the answers

List and briefly define four key aspects of 'Information Protection and Security'.

<p>Availability (Protecting system against interruption), Confidentiality (Preventing unauthorized data access), Data integrity (Protecting data from unauthorized modification), and Authenticity (Verifying identity of users).</p> Signup and view all the answers

What is the key purpose of 'Scheduling and Resource Management' in an Operating System?

<p>To ensure fairness, differential responsiveness, and efficiency by maximizing throughput, minimizing response time, and accommodating as many users as possible.</p> Signup and view all the answers

How does multithreading improve the performance of a Process?

<p>Multithreading divides a process into threads that can run simultaneously, allowing for concurrent execution of different parts of the program.</p> Signup and view all the answers

What does it mean for a modern Operating System to be 'object-oriented'?

<p>It lends discipline to the process of adding modular extensions to a small kernel. It also eases the development of distributed tools and full-blown distributed operating systems.</p> Signup and view all the answers

What is 'fault tolerance' in the context of Operating Systems, and why is it important?

<p>Fault tolerance refers to the ability of a system to continue normal operation despite hardware or software failures, increasing system reliability. It is important because it improves system reliability.</p> Signup and view all the answers

Differentiate between 'mean time to failure' (MTTF) and 'mean time to repair' (MTTR) in the context of system reliability.

<p>MTTF measures the average time a system operates correctly before a failure. MTTR measures the average time it takes to repair or replace a faulty element.</p> Signup and view all the answers

Describe the difference between a 'permanent fault' and a 'temporary fault'.

<p>A permanent fault is always present after it occurs, while a temporary fault is not always present all the time for all operating conditions.</p> Signup and view all the answers

Explain what 'process isolation' accomplishes in an Operating System.

<p>Process isolation ensures that processes operate independently to prevent one process from interfering with another, enhancing system stability and security.</p> Signup and view all the answers

Explain the evolution of Microsoft Windows, describing its early versions.

<p>Microsoft Windows evolution began with being launched in 1985. Windows NT came out in 1993 for laptops and desktop systems.</p> Signup and view all the answers

Name at least three components in the architecture in the Windows Operating System Organization.

<p>The Executive, Kernel, the Hardware abstraction layer (HAL), Device drivers, and the Windowing and graphics system.</p> Signup and view all the answers

Why is the client/server model considered useful in the Windows Operating System?

<p>The client/server model simplifies the Executive, improves reliability, provides a uniform means for applications to communicate with services, and gives a suitable base for distributed computing.</p> Signup and view all the answers

Regarding threads, what does Windows support?

<p>Windows supports multiple threads of execution within a single process so server processes may use multiple threads to process requests from more than one client simultaneously.</p> Signup and view all the answers

What four qualities are listed regarding Windows Objects?

<p>Encapsulation, Object class and instance, Inheritance, and Polymorphism.</p> Signup and view all the answers

When was Version 7 of UNIX released, and what is its significance?

<p>Version 7 was released in 1978 and is the ancestor of most modern UNIX systems.</p> Signup and view all the answers

Describe is the modular structure of Linux?

<p>Linux is structured as a collection of loadable modules, which can be linked to and unlinked from the kernel at runtime, as needed.</p> Signup and view all the answers

What is Android?

<p>The Android operating system is a Linux-based system originally designed for mobile phones. Google bought them in 2005.</p> Signup and view all the answers

Flashcards

Operating System (OS)

A program that controls application program execution and provides an interface between applications and computer hardware.

OS Objective: Convenience

Making the computer more convenient to use for users.

OS Objective: Efficiency

Allows computer resources to be used in an efficient manner.

OS Objective: Ability to Evolve

Permits effective development, testing, and introduction of new system functions without interfering with service.

Signup and view all the flashcards

Application Binary Interface (ABI)

A standard for binary portability across programs, ensuring compatibility.

Signup and view all the flashcards

Application Programming Interface (API)

Gives a program access to hardware resources and services in a system.

Signup and view all the flashcards

Instruction Set Architecture (ISA)

The repertoire of machine language instructions for a system, defining the set of available commands.

Signup and view all the flashcards

Error Detection and Response

Internal and external hardware errors are found and reported.

Signup and view all the flashcards

Accounting (OS)

Collects statistics and monitors performance to anticipate future enhancements and for billing purposes.

Signup and view all the flashcards

Serial Processing

From late 1940s to the mid 1950s computing used direct programmer interaction with compute hardware.

Signup and view all the flashcards

Scheduling (Serial Processing)

Using a hardcopy signup sheet to reserve computer time.

Signup and view all the flashcards

Setup Time (Serial Processing)

Loading the compiler, source program, saving compiled program, and loading/linking.

Signup and view all the flashcards

Simple Batch Systems

To improve utilization, the software controls the running programs and batches jobs together.

Signup and view all the flashcards

Job Control Language (JCL)

Special type of programming language used to instruct the monitor in batch systems.

Signup and view all the flashcards

Privileged Instructions

Privileged instructions are only executed by monitor.

Signup and view all the flashcards

Timer (Hardware Feature)

Prevents a job from monopolizing the system.

Signup and view all the flashcards

User Mode

A program executes with memory areas protected from users and some instructions disallowed.

Signup and view all the flashcards

Kernel Mode (System Mode)

A portion of the OS resident that maintains the state and executes with privileged/supervisor access.

Signup and view all the flashcards

Multiprogrammed Batch Systems

Processor switches jobs when one waits for I/O, improving efficiency.

Signup and view all the flashcards

Uniprogramming

Processor waits for I/O instruction to complete before proceeding, creating inefficiency.

Signup and view all the flashcards

Time-Sharing Systems

Using multiprogramming to handle multiple interactive jobs sharing the processor's time among multiple users.

Signup and view all the flashcards

Batch vs Time Sharing

Batch multiprogramming maximizes processor use, while time sharing minimizes response time.

Signup and view all the flashcards

Major Achievements (OS)

Four major theoretical advances in OS development.

Signup and view all the flashcards

Process (OS)

A program in execution, an instance of a program running on a computer.

Signup and view all the flashcards

Process

A unit of CPU activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources

Signup and view all the flashcards

Improper Synchronization

Improper signaling can result in signals being lost or duplicated.

Signup and view all the flashcards

Failed Mutual Exclusion

More than one user attempts to use a shard resource at the same time.

Signup and view all the flashcards

Nondeterminate Program Operation

Program's behavior depends on activities of other programs, not just its inputs.

Signup and view all the flashcards

Process Component

The executable program, associated data, and the execution context.

Signup and view all the flashcards

Storage Management Responsibilities

Process isolation, allocation/management, modular support, access control, and long-term storage.

Signup and view all the flashcards

File System

Implements long-term store, storing information in named objects as unit for access control.

Signup and view all the flashcards

Virtual Memory

Allows programs to address memory logically and meets requirements for multiple jobs in main memory.

Signup and view all the flashcards

Paging

Divides a process into fixed-size blocks (pages) which may be located anywhere in main memory.

Signup and view all the flashcards

Information Protection: Availability

Concerned with protecting the system against interruption.

Signup and view all the flashcards

Information Protection: Confidentiality

Ensures users cannot read unauthorized data.

Signup and view all the flashcards

Information Protection: Data Integrity

Protects data from unauthorized modification.

Signup and view all the flashcards

Information Protection: Authenticity

Verifies user identities and message validity.

Signup and view all the flashcards

Scheduling and Resource Management

Give equal and fair access to all processes, responsiveness, and efficiency.

Signup and view all the flashcards

Fault Tolerance

The ability of a system to continue normal operation despite hardware/software faults.

Signup and view all the flashcards

Study Notes

Operating System Objectives

  • An OS controls the execution of application programs
  • An OS acts as the primary interface between all applications and computer hardware
  • Objectives include convenience, efficiency, and ability to evolve
  • Convenience refers to how easily a computer can be operated via the OS
  • Efficiency refers to using computer system resources in the most effective way possible
  • The ability to evolve refers to how an OS should permit effective development, testing and introduction of new system functions without interfering with service

Services Provided by the Operation System

  • Program development: Editors and debuggers
  • Program execution: Scheduling duties.
  • I/O Device Access: Simple reads and writes
  • File Access Control: Protection mechanisms to control file access
  • System Access: OS controls access to the system as a whole and other specific system resources.
  • Error detection and response includes internal/external hardware errors, software errors, and error recovery

System Services Continued

  • Accounting involves collecting statistics, monitoring performance, anticipating future enhancements, and user billing
  • Instruction Set Architecture (ISA) defines the repertoire of machine language instructions
  • Application Binary Interface (ABI) defines a standard for binary portability across programs
  • Application Programming Interface (API) gives a program access to hardware resources/services, and enables application software to be ported easily

Operating System Evolution

  • OS evolve over time due to hardware upgrades, new services, and various fixes

Serial Processing

  • From the late 1940s to the mid 1950s, programmers interacted directly with computer hardware
  • There was no operating system at this time
  • Machines ran from a console with display lights, toggle switches and a printer
  • Programs were loaded via an input device, such as a card reader
  • Two main problems: scheduling and setup time

Simple Batch Systems

  • Developed Mid 1950s
  • Improved utilization by use of a monitor
  • Users no longer had direct access to the processor as the Monitor controlled the running programs
  • Batched jobs run together
  • Programs branches back to the monitor when finished
  • Resident monitor resides in main memory and is available for execution

Job Control Language (JCL)

  • Programming language of special type
  • Provides instructions to the monitor that specifies: what compiler to use; what data to use

Hardware Features/Modes of Operation

  • Memory Protection: Memory containing the monitor cannot be altered.
  • Timer: Prevents a job from monopolizing the system.
  • Privileged Instructions: Machine level instructions, executed only by the Monitor,
  • Interrupts: Early computer models lacked this capability
  • User Mode: Program executes in User Mode; memory areas are protected; certain instructions cannot be executed
  • Kernel Mode (System Mode): Portion of OS resident in main memory; machine-independent part (code for system calls) and machine-dependent part (device drivers); maintains the OS state; executes in privileged/supervisor mode

Multi-programming And Time Sharing Considerations

  • Automatic job sequencing occurs with simple batch OS, but the processor often idles.
  • I/O devices are slow, further contributing to processor idle time
  • Using Multiprogramming, when one job needs to wait for I/O, the processor can switch to the other job.
  • In 1961, Time-Sharing Systems were developed
  • Time sharing uses multiprogramming to handle multiple interactive jobs
  • Processor time can be shared among multiple users
  • Multiple users simultaneously access the system through terminals
  • Batch processing and time-sharing use multiprogramming

Theoretical Advances

  • There have been four major theoretical advances in OS development
  • Processes relate to programs in execution
  • Memory management relates to automatic allocation and support for modular systems
  • Information protection and security is the integrity of data
  • Scheduling & Resource Management is fairness and efficiency

Process Information

  • A process serves as a program in execution
  • All processes are instances of programs running on a computer
  • A process can be assigned to and executed on a processor; it encapsulates a single sequential thread of execution, current state, and the set of system resources

Potential Design Difficulties

  • Software can experience difficulties when designing due to improper synchronization, failed mutual exclusion, non-determinate program operations, and deadlocks
  • Process Components are executable programs
  • Processes rely on associated data (variables, workspace, buffers etc)
  • The execution context of a program
  • Memory Management handles the needs of users via modular programming
  • The OS handles key storage management responsibilities like processing isolation, automatic allocation/management, modular programming support, protection/access control, and long-term storage

Virtual Memory and File Systems

  • Virtual memory and file systems meet the discussed requirements
  • The Files System implements long-term storage of information stored in named objects
  • A file system can be a unit of access control and protection, per the OS
  • Virtual memory allows programs to address memory from a logical point of view
  • Virtual memory was designed to meet the requirement of having multiple user jobs concurrently reside in main memory
  • Paging systems were introduced, if the processor switches between processes, it is difficult to pack them compactly into main memory.
  • Paging enables processes to be comprised of several fixed-size blocks, called pages
  • The Virtual address is a page number and an offset within the page
  • Pages can be located anywhere in main memory
  • Translation between a virtual address and a real address can occur

Information Protection and Security

  • Availability is concerned with protecting a system against interruption
  • Confidentiality assures users cannot read data for which access is unauthorized
  • Data Integrity protects against data modification from unauthorized sources.
  • Authenticity ensures proper verification of identity and data validity

Scheduling & Resource Management

  • Fairness means giving all processes equal/fair access
  • Differential responsiveness means distinguishing between different classes of jobs/users
  • Efficiency includes maximizing throughput, minimizing response time, and accommodating many users

Evolution of OS

  • There has been a gradual evolution of OS structures/capabilities
  • Modern OS respond to new developments in hardware, new applications and new security threats
  • Key hardware drivers are multiprocessor systems, greatly increased processor speed, high-speed network attachments, and increasing size and variety of memory storage devices.
  • Application Drivers Include multimedia apps, Internet/Web Access, Client-Server

Modern OS

  • Microkernel systems assign only a few essential functions to the kernel: address space management, interprocess communication (IPC), and basic scheduling.
  • Multithreading divides processes into threads that run simultaneously
  • A thread is dispatchable unit of work and is interruptible
  • Processes are collections of one or more threads and associated system resources
  • Symmetric multiprocessing presents multiple processors that share memory and can perform the same functions
  • Distributed operating systems give the illusion of a single main memory and single secondary memory space and are used for distributed file systems
  • Object-oriented design lends discipline to the process of adding modular extensions to a small kernel and eases development of distributed tools/operating systems

Fault Tolerance

  • Fault tolerance is the ability of a system/component to continue operating despite hardware/software faults; it increases system reliability
  • Fault tolerance can come with a cost, either in financial terms or performance
  • Fault tolerance measures must be determined by how critical the resource is
  • Three basic measures relate to the operation of a system: reliability, mean time to failure (MTTF), and availability
  • Availability of a system/service is the fraction of time the system is available to service user requests
  • Faults can be permanent, temporary, transient, or intermittent
  • Spatial redundancy leverages multiple components; temporal redundancy repeats an operation upon error detection; information redundancy replicates or codes data so bit errors can be detected and/or corrected

Operating System Mechanisms

  • Include process isolation, concurrency controls, virtual machines, checkpoints & rollbacks
  • In 1985, Microsoft initially used the name Windows for personal computers
  • Windows NT in 1993 was released for laptop and desktop systems
  • Microsoft Windows contains an Executive, a Kernel, and a Hardware Abstraction Layer (HAL)
  • System elements include: device drivers, windowing/graphics system, I/O manager, cache manager, object manager, plug-and-play manager, power manager, security reference monitor, virtual memory manager, process/thread manager, configuration manager, and an Advanced Local Procedure Call (ALPC) facility

Microsoft Windows Architecture

  • Includes special system processes, service processes, environment subsystems, and other user applications
  • The Windows OS services, environment subsystems and applications use the client/server computing model
  • This model is designed to simplify the executive, improve reliability, provide uniform means for client communication
  • SMP and threads enable OS routines to be used on any available processor
  • Windows support the use of multiple threads of execution within a single process/multiple clients simultaneously
  • Windows manages objects using encapsulation, class/instance objects and inheritance

Traditional Unix System

  • Developed at Bell Labs and became operational on a PDP-7 in 1970.
  • Rewritten in the C programming language.
  • Licensing to commercial/educational institutions
  • Version 7, released in 1978, served as inspiration for the modern system
  • Linux served as a Unix variant for the IBM PC
  • Linus Torvalds wrote the initial version of the kernel.
  • Since 1991, many collaborators have contributed to the development.
  • Linux code is free and available

Linux Systems

  • Linux has a modular structure, modules collected and automatically loaded/unloaded on demand
  • Independent blocks are loadable modules
  • A module is an object file whose code can be linked/unlinked to the kernel at runtime, using dynamic linking and stacked modules
  • The Android operating system is a Linux-based system originally designed for mobile phones
  • Initial Android OS development was coordinated by Android, Inc.
  • Google subsequently acquired Android in 2005.
  • It is currently maintained as an Android Open-Source Project (AOSP).

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