Operating System Lecture 5
Operating System Lecture 5
services to:
◦ Programs
◦ Users of those programs
User interface - Almost all operating systems have a user
interface (UI). This interface can take several forms:
◦ Command-Line (CLI) -- uses text commands and a
method for entering them (say, a keyboard for typing in
commands in a specific format with specific options).
◦ Graphics User Interface (GUI) -- the interface is a window
system with a pointing device to direct I\O, choose from
menus, and make selections and a keyboard to enter
text..
◦ Batch Interface -- commands and directives to control
those commands are entered into files, and those files
are executed
Some systems provide two or all three of these variations.
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)
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
Resource allocation - When multiple users
or multiple jobs are running concurrently,
resources must be allocated to each of them
◦ Many types of resources - CPU cycles, main
memory, file storage, I/O devices.
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
CLI allows users to directly enter commands to be
performed by the operating system.
Some operating systems include the
command interpreter in the kernel.
Some operating systems, such as
Windows and UNIX, treat the command
interpreter as a special program that is
running when a job is initiated or when
a user first logs on.
command interpreters are known as
shells.
The main function of the command
interpreter is to get and execute the
user-specified command.
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)
Touchscreen devices
require new
interfaces
Mouse not possible or not
desired
Actions and selection based on
gestures
Virtual keyboard for text entry
Voice commands.
In computing, a system call is the
programmatic way in which a computer
program requests a service from the kernel of
the operating system it is executed on.
A system call is a way for programs
kernel system
The handling of a user application invoking the open()
system call