0% found this document useful (0 votes)
18 views

ch2

Oop

Uploaded by

mdsamu411
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

ch2

Oop

Uploaded by

mdsamu411
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Chapter 2: Operating-System

Services

Operating System Concepts – 10th Edition Silberschatz, Galvin and Gagne ©2018
Outline

 Operating System Services


 User and Operating System-Interface
 System Calls
 System Services
 Linkers and Loaders
 Why Applications are Operating System Specific
 Design and Implementation
 Operating System Structure
 Building and Booting an Operating System
 Operating System Debugging

Operating System Concepts – 10th Edition 2.2 Silberschatz, Galvin and Gagne ©2018
Objectives
 Identify services provided by an operating system
 Illustrate how system calls are used to provide operating
system services
 Compare and contrast monolithic, layered, microkernel,
modular, and hybrid strategies for designing operating
systems
 Illustrate the process for booting an operating system
 Apply tools for monitoring operating system performance
 Design and implement kernel modules for interacting with a
Linux kernel

Operating System Concepts – 10th Edition 2.3 Silberschatz, Galvin and Gagne ©2018
Operating System Services
 Operating systems provide an environment for execution of programs
and services to programs and users
 One set of operating-system services provides functions that are
helpful to the user:
• User interface - Almost all operating systems have a user
interface (UI).
 Varies between Command-Line (CLI), Graphics User
Interface (GUI), touch-screen, Batch
• Program execution - The system must be able to load a program
into memory and to run that program, end execution, either
normally or abnormally (indicating error)
• I/O operations - A running program may require I/O, which may
involve a file or an I/O device
• File-system manipulation - The file system is of particular
interest. Programs need to read and write files and directories,
create and delete them, search them, list file Information,
permission management.

Operating System Concepts – 10th Edition 2.4 Silberschatz, Galvin and Gagne ©2018
Operating System Services (Cont.)
 One set of operating-system services provides functions that are
helpful to the user (Cont.):
• Communications – Processes may exchange information, on the
same computer or between computers over a network
 Communications may be via shared memory or through
message passing (packets moved by the OS)
• Error detection – OS needs to be constantly aware of possible
errors
 May occur in the CPU and memory hardware, in I/O devices, in
user program
 For each type of error, OS should take the appropriate action to
ensure correct and consistent computing
 Debugging facilities can greatly enhance the user’s and
programmer’s abilities to efficiently use the system

Operating System Concepts – 10th Edition 2.5 Silberschatz, Galvin and Gagne ©2018
Operating System Services (Cont.)
 Another set of OS functions exists for ensuring the efficient operation of
the system itself via resource sharing
• Resource allocation - When multiple users or multiple jobs
running concurrently, resources must be allocated to each of them
 Many types of resources - CPU cycles, main memory, file
storage, I/O devices.
• Logging - To keep track of which users use how much and what
kinds of computer resources
• Protection and security - The owners of information stored in a
multiuser or networked computer system may want to control use
of that information, concurrent processes should not interfere with
each other
 Protection involves ensuring that all access to system
resources is controlled
 Security of the system from outsiders requires user
authentication, extends to defending external I/O devices from
invalid access attempts

Operating System Concepts – 10th Edition 2.6 Silberschatz, Galvin and Gagne ©2018
A View of Operating System Services

Operating System Concepts – 10th Edition 2.7 Silberschatz, Galvin and Gagne ©2018
Command Line interpreter
 CLI allows direct command entry
 Sometimes implemented in kernel, sometimes by
systems program
 Sometimes multiple flavors implemented – shells
 Primarily fetches a command from user and executes it
 Sometimes commands built-in, sometimes just names
of programs
• If the latter, adding new features doesn’t require
shell modification

Operating System Concepts – 10th Edition 2.8 Silberschatz, Galvin and Gagne ©2018
User Operating System Interface - GUI
 User-friendly desktop metaphor interface
• Usually mouse, keyboard, and monitor
• Icons represent files, programs, actions, etc
• Various mouse buttons over objects in the interface cause various
actions (provide information, options, execute function, open
directory (known as a folder)
• Invented at Xerox PARC
 Many systems now include both CLI and GUI interfaces
• Microsoft Windows is GUI with CLI “command” shell
• Apple Mac OS X is “Aqua” GUI interface with UNIX kernel
underneath and shells available
• Unix and Linux have CLI with optional GUI interfaces (CDE, KDE,
GNOME)

Operating System Concepts – 10th Edition 2.9 Silberschatz, Galvin and Gagne ©2018
Touchscreen Interfaces
 Touchscreen devices require new
interfaces
• Mouse not possible or not desired
• Actions and selection based on
gestures
• Virtual keyboard for text entry
 Voice commands

Operating System Concepts – 10th Edition 2.10 Silberschatz, Galvin and Gagne ©2018
System Calls

 Programming interface to the services provided by the OS


 Typically written in a high-level language (C or C++)
 Mostly accessed by programs via a high-level Application
Programming Interface (API) rather than direct system call use
 Three most common APIs are Win32 API for Windows, POSIX API for
POSIX-based systems (including virtually all versions of UNIX, Linux,
and Mac OS X), and Java API for the Java virtual machine (JVM)

Note that the system-call names used throughout this text are
generic

Operating System Concepts – 10th Edition 2.11 Silberschatz, Galvin and Gagne ©2018
Types of System Calls

 Process control
• create process, terminate process
• end, abort
• load, execute
• get process attributes, set process attributes
• wait for time
• wait event, signal event
• allocate and free memory
• Dump memory if error
• Debugger for determining bugs, single step execution
• Locks for managing access to shared data between processes

Operating System Concepts – 10th Edition 2.12 Silberschatz, Galvin and Gagne ©2018
Types of System Calls (Cont.)
 File management
• create file, delete file
• open, close file
• read, write, reposition
• get and set file attributes
 Device management
• request device, release device
• read, write, reposition
• get device attributes, set device attributes
• logically attach or detach devices

Operating System Concepts – 10th Edition 2.13 Silberschatz, Galvin and Gagne ©2018
Types of System Calls (Cont.)
 Information maintenance
• get time or date, set time or date
• get system data, set system data
• get and set process, file, or device attributes
 Communications
• create, delete communication connection
• send, receive messages if message passing model to host
name or process name
 From client to server
• Shared-memory model create and gain access to memory
regions
• transfer status information
• attach and detach remote devices

Operating System Concepts – 10th Edition 2.14 Silberschatz, Galvin and Gagne ©2018
Types of System Calls (Cont.)
 Protection
• Control access to resources
• Get and set permissions
• Allow and deny user access

Operating System Concepts – 10th Edition 2.15 Silberschatz, Galvin and Gagne ©2018
Examples of Windows and Unix System Calls

Operating System Concepts – 10th Edition 2.16 Silberschatz, Galvin and Gagne ©2018
Standard C Library Example
 C program invoking printf() library call, which calls write() system call

Operating System Concepts – 10th Edition 2.17 Silberschatz, Galvin and Gagne ©2018
End of Chapter 2

Operating System Concepts – 10th Edition Silberschatz, Galvin and Gagne ©2018

You might also like