0% found this document useful (0 votes)
27 views11 pages

Introduction To Operating System (Part2) : by Asst. Prof. Dr. Noor Ghazi

The document discusses operating system services and system calls. It provides 3 key points: 1) Operating systems provide services like user interfaces, program execution, I/O operations, file manipulation, communications, error detection, resource allocation, logging, and protection/security. System calls allow programs to request these services from the OS. 2) Operating systems offer different types of user interfaces including command line interfaces, graphical user interfaces, and touchscreen interfaces. 3) An example is provided of the system call sequence needed to copy a file, illustrating how system calls provide a programming interface for OS services.

Uploaded by

Rawand Hussein
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views11 pages

Introduction To Operating System (Part2) : by Asst. Prof. Dr. Noor Ghazi

The document discusses operating system services and system calls. It provides 3 key points: 1) Operating systems provide services like user interfaces, program execution, I/O operations, file manipulation, communications, error detection, resource allocation, logging, and protection/security. System calls allow programs to request these services from the OS. 2) Operating systems offer different types of user interfaces including command line interfaces, graphical user interfaces, and touchscreen interfaces. 3) An example is provided of the system call sequence needed to copy a file, illustrating how system calls provide a programming interface for OS services.

Uploaded by

Rawand Hussein
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Introduction to Operating System (Part2)

By
Asst. Prof. Dr. Noor Ghazi
Lecture 2

- Operating System Services


- System Call Concept
- Examples to OS
Objectives

- Identify services provided by an operating system.


- Identify the types of user interface provided by the operating system.
- Illustrate how system calls are used to provide operating system services.

1
Operating System Services
- Operating systems provide an environment for execution of programs and services to programs and users.
The set of operating-system services provides functions that are helpful to the user are the following and as in figure
(1):
 User interface.
 Program execution.
 I/O operations.
 File-system manipulation.
 Communications.
 Error detection.
 Resource allocation.
 Logging (accounting).
 Protection and security.

Figure (1) OS services 2


Operating System Services (Cont..)
• User interface - Almost all operating systems have a user interface (UI).
◦ Varies between Command-Line (CLI), Graphics User Interface (GUI), touch-screen.

• 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 an I/O device.

• File-system manipulation - Programs need to read and write files and directories, create and
delete them, search them, list file Information, permission management.

• 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)
3
Operating System Services (Cont..)
◦ 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.

◦ Resource allocation - When multiple users or multiple processes running concurrently, resources must
be allocated to each of them.
◦ Many types of resources - CPU, main memory, file storage, I/O devices.

◦ Logging (accounting)- 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. 4
User Interfaces
• Command Line Interface.
• Graphical User Interface.
• Touchscreen Interfaces.

Command Line Interface (CLI)


• CLI allows direct command entry.
• Sometimes implemented in kernel, sometimes by systems
program, Sometimes multiple flavors implemented – shells.
is an example in figure (2).
• Primarily fetches a command from user and executes it.

Figure (2) Bourne Shell Command Interpreter


5
User Interfaces (Cont..)
Graphical User Interface (GUI)
• User-friendly desktop interface as in figure (3).
• Usually mouse, keyboard, and monitor.
• Icons represent files, programs, actions, etc.
• Various mouse buttons over objects in the interface cause various Figure (3) GUI
actions (provide information, options, execute function, open directory
(known as a folder).
• Many systems now include both CLI and GUI interfaces.

Touchscreen Interfaces
• Touchscreen devices require new interfaces. An example in figure (4)
• Actions and selection based on gestures.
• Virtual keyboard for text entry.
• Sometime the user can use voice commands.
Figure (4) Touchscreen 6
System Calls
• System call is a 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)

7
Example of system calls
An example for system call sequence to copy the contents of one file to another file using a
program is illustrated in figure (5).
Another approach is by a command which copies the input file in.txt to the output file out.txt.
Ex: cp in.txt out.txt

Figure (5) Example of how system calls are used 8


Types of System Calls
System calls can be grouped roughly into six major categories:
- Process control (e.g. create process, terminate process, load, execute ..etc)
- File management (e.g. create file, delete file, open, close, read, write, set and get file attributes).
- Device management (e.g. request device, release device, read, write, attach or detach devices).
- Information maintenance (e.g. get time or date, set time or date, get system data, set system data)
- Communications (e.g. create, delete communication connection, send, receive messages) .
- Protection (e.g. get file permissions , set file permissions)

9
Examples to OS
Examples of Operating System are:
- Windows (GUI based, PC, Server).
- GNU/Linux (Personal, Workstations, ISP, File and print server, client/Server).
- macOS (Macintosh), used for Apple’s personal computers and workstations (MacBook, iMac).
- Android (Google’s Operating System for smartphones/tablets/smartwatches).
- iOS (Apple’s OS for iPhone, iPad, and iPod Touch).

10

You might also like