Please enable JavaScript.
Coggle requires JavaScript to display documents.
CHAPTER 1: INTRODUCTION TO OPERATING SYSTEM - Coggle Diagram
CHAPTER 1: INTRODUCTION TO
OPERATING SYSTEM
DEFINITION
A program that acts as an intermediary between a user of a computer and the computer hardware.
COMPONENTS OF COMPUTER SYSTEM
Application programs – define the ways in which the system resources are used to solve the computing problems of the users
Word processors, compilers, web browsers, database systems, video games
Users
People, machines, other computers
Hardware – provides basic computing resources
CPU, memory, I/O devices
Operating system
Controls and coordinates use of hardware among various applications and users
USER INTERFACE
Graphical User Interface (GUI)
A graphical user interface or GUI (sometimes pronounced gooey) is a type of user interface item that allows people to interact with programs in more ways than typing such as computers
Graphical User Interface (GUI)
The actions are usually performed through direct manipulation of the graphical elements.
Command-Line Interface
CLI are often used by programmers and system administrators, in engineering and scientific environments, and by technically advanced personal computer users.
Voice Actuated Interfaces
It makes human interaction with computers possible through a voice/speech platform in order to initiate an automated service or process.
This is the interface to any speech application.
Controlling a machine by simply talking to it was science fiction only a short time ago.
However, with advances in technology, this interface have become more common place, and people are taking advantage of the value that these hands-free, eyes-free interfaces provide in many situations.
Voice Actuated InterfacesVoice
User interface are developing rapidly
Web Form InterfacesWeb
Form interfaces are onscreen forms displaying fields containing data items or parameters that need to be communicated to the user.
For example, Web Forms can be used to enter shipping or credit card data to order a product or can be used to retrieve data (e.g: searching on a search engine).
Basic Functions of OS
COMPUTER OPERATION
MANAGE
SECURITY
SCHEDULE USAGE
INTERFACE
RESOURCES USAGE
PERMIT FILE OPERATIONS
CONTROL
Relationship Between System Calls and Application
Programming Interface (API)
5 Major Categories Of System Call
Process Control
File Manipulation
Device Manipulation
Information Maintenance
Communications
Application Programming Interface (API)
An API clearly defines how to call functions and what the results are. (API is specification, not implementation)
Examples: APIs for file system, graphics user interface, networking, etc.
Portability
User programs that follow the API’s definition are portable.
An API can provide a common interface for different implementations of a service.
For example, the UNIX file system API is the same for all kinds of devices.
X windows API has many implementations on different machine architectures
SYSTEM CALL
Programming interface to the services provided by the OS
System calls run in kernel mode.
They can be called by executing a special instruction (trap or software interrupt) which causes processor to switch to the kernel mode and jump to a previously defined location in the kernel.
When the system call finishes, processor returns to the user program and runs in user mode.
Product of OS
Weakness: Users have no idea how it was made. You must accept the word of a software vendor for the quality of their own product.
Closed Source Software
Commercial vendors have, in theory, the resources to respond very rapidly to severe reliability or security problems in their software. They should be able to provide manned contact points on a 24 by 7 basis. They should be able analyse a problem and have a fix ready in hours
Open Source Software
Weakness: its supporters.
Strength: Most open source projects are being worked on by developers who do it for fun and in their own time. Most projects have no funding or financial support. There are often no official code reviews or quality assurance processes in place.
Various OS Structure
A monolithic system is therefore characterized by
1 source code
1 program generated
but… may contain concurrency
Monolithic Architecture
Every component of OS contained in the kernel and can directly communicate with any other (i.e by using function system call).
Layered Architecture
To overcome the issue of monolithic architecture by grouping components that perform similar functions into layers.
Each layer communicates exclusively with those immediately above and below it.
Lower-level layers provide services to higher-level layer using interfaces that hide their implementation.
Virtual Machines
A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating system kernel as though they were all hardware.
A virtual machine provides an interface identical to the underlying bare hardware.
The operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory.
Networked and Distributed Architecture
Networked and distributed are being used in network operating system.
It enables process to access resources (e.g file) that reside on other independent computers on a network.
The client computers in such a network request resources-such as files and processor time and the server respond with the appropriate resource.
The Client/Server Model is a form of distributed computing where one program (the Client) communicates with another program (the Server) for the purpose of exchanging information.
Concepts in Relation to OS
Multitasking
Process of letting the operating system perform multiple task at what seems to the user simultaneously.
The CPU switches from one program to the next so quickly that it appears as if all of the programs are executing at the same time.
Multiprogramming
When two or more programs are residing in memory at the same time, then sharing the processor is referred to the multiprogramming.
Multiprogramming assumes a single shared processor.
Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute
Time Sharing
Time-sharing is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking.
In time sharing, the CPU executes multiple jobs by switching among them, but switching occur so frequently that the users can interact with each program while it is running.
Buffering
Buffering is a method of overlapping the computation of a job with its execution.
The buffer provides a waiting station where data can rest while the slower device catches up.
It temporarily stores input or output data in an attempt to better match the speeds of two devices such as a fast CPU and a slow disk drive.
If, for example, the CPU writes information to the buffer, it can continue in its computation while the disk drive stores the information.
Spooling
Spooling refers to a process of transferring data by placing it in a temporary working area where another program may access it for processing at a later point in time.
Spooling refers to putting jobs in a buffer, a special area in memory or on a disk where a device can access them when it is ready.
With spooling, the disk is used as a very large buffer. Usually complete jobs are queued on disk to be completed later.
A typical example is the spooler for a printer. When a print job is issued, the spooler takes care of it, sending it to the printer if it is not busy, or storing it on disk otherwise.
Caching
Caching – copying information into faster storage system; main memory can be viewed as a last cache for secondary storage.
Important principle, performed at many levels in a computer (in hardware, operating system, software)
Information in use copied from slower to faster storage temporarily