Operating System

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

OPERATING SYSTEM

OPERATING SYSTEM

• 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),
• 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
CONTD..

• 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.
• 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
CONTD..

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

• 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
LAYERED APPROACH

• The operating system is divided into a number of layers (levels), each built on top of
lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user
interface.
• With modularity, layers are selected such that each uses functions (operations) and
services of only lower-level layers
USER OPERATING SYSTEM INTERFACE - CLI

CLI or command interpreter 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
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)
TOUCHSCREEN INTERFACES

n Touchscreen devices require new interfaces


l Mouse not possible or not desired
l Actions and selection based on gestures
l Virtual keyboard for text entry
l Voice commands.
MS-DOS

• MS-DOS – written to provide the most functionality in the least space


• Not divided into modules
• Although MS-DOS has some structure, its interfaces and levels of functionality are not well
separated
UNIX

UNIX – limited by hardware functionality, the original UNIX operating system had limited
structuring. The UNIX OS consists of two separable parts
• Systems programs
• The kernel
• Consists of everything below the system-call interface and above the physical hardware
• Provides the file system, CPU scheduling, memory management, and other operating-system
functions; a large number of functions for one level
ANDROID

• Developed by Open Handset Alliance (mostly Google)


• Open Source

• Similar stack to IOS


• Based on Linux kernel but modified
• Provides process, memory, device-driver management
• Adds power management
• Runtime environment includes core set of libraries and Dalvik virtual machine
• Apps developed in Java plus Android API
• Java class files compiled to Java bytecode then translated to executable than runs in Dalvik VM

• Libraries include frameworks for web browser (webkit), database (SQLite), multimedia,
smaller libc

You might also like