Operating System
Operating System
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
• 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
• 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
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
• Libraries include frameworks for web browser (webkit), database (SQLite), multimedia,
smaller libc