Tuesday, January 29, 2019

Operating System_BSC


Hardware: It is the collection of physical elements that constitutes a computer system. Computer hardware is the physical parts or components of a computer, such as the monitor, mouse, keyboard, computer data storage, hard disk drive (HDD), graphic cards, sound cards, memory (RAM), motherboard, and so on,

Software: A set of computer program that makes computer usable is called software. Software act as an interface between the user and rest of the computer system.

Three primary Software are
System software (software that acts as an intermediary between computer network and application program are called system software. System software is responsible for accessing computer hardware and providing required resources and services to application software.), utility software- Utility software is system software designed to help analyze, configure, optimize or maintain a computer.
 Example (Disk defragmenters, disk cleaners, antivirus, disk space analyzer, scandisk) and application software-- Application software is a program or group of programs designed for end users. (Example Ms-Word, MS-Excel, adobe Photoshop).

Operating system: Operating System: An operating system is the collecting of program that acts as an interface between the user and the computer and hardware of the computer providing and operational environment to the users and application programs


Examples of operating system are Windows, UNIX, Linux Mac Os, Sun Solaris








Objective of operating systems
1.      To make computer system convenient to use in an efficient manner
2.      To hide detail of the hardware resources from users.
3.      To provide users a convenient interface to use the computer system
4.      To act as an intermediary between the hardware and its users and making it easier for the user to access and use resources.
5.      To manage the resource such as CPU, memory, input device, output devices etc of the computer system.
6.      To keep track of resources, granting or denying resources requests, mediating conflicting requests from different programs and users.
7.      To provide efficient and fair sharing of resources among users and programs
8.     Interface between user and computer
9.     Master control program
10.  Manages input and output operations
11.  Allocating the resources
12.  Tracking the use of resources
13.  File and disk management
14.  Detects and notifies the errors.

Multiprogramming:  It is the technique that allows more than one program to be loaded into memory at once. All programs are in ready state for execution. In this approach when a program is busy in CPU, another program can be read input and third program can display output. The main motive is to utilize the CPU and other resources efficiently.




Multiprocessing:  In multiprocessing operating system a task is divided between more than one processor so that parallelism can be achieved.  The main motive is to increase computation speed.

Multithreading: It is the ability of an operating system to execute the different parts of a program called threads at the time. Threads are light weight processes which are independent part of a process or program. In multithreading system, more than one thread is executed simultaneously on a single CPU. Example in word processing systems multiple threads are used such the one thread controls text processing, another thread performs spelling checking, third thread performs grammar checking and so on.


Multitasking: It is ability of an operating system to execute more than one task simultaneously on a single processor machine. CPU switches from one task to the next task so quickly that appears as if all the tasks are executing at the same time. The main motive is to utilize the CPU efficiently and reduce the response time.

Types of operating system

1. Batch Operating system: In this type of operating system, job is not processed until all the data are fully input. The jobs are stores in a disk in a batch in a queue and run one or more at one time under the control of operating system. This is the oldest type of operating system. Example MS-DOS, IBM DOS, Apple DOS
Problem with batch systems
o   Lack of interaction between the user and job
o   CPU if often idle, because the speed of the mechanical I/O devices is slower than CPU
o   Difficult to provide the desired priority.

2. Time-sharing operating system: A time sharing system allows many users to share the computer resources simultaneously. In other words, time sharing refers to the allocation of computer resources in time slots to several programs simultaneously. For example a mainframe computer that has many users logged on to it. Each user uses the resources of the mainframe -i.e. memory, CPU etc. The users feel that they are exclusive user of the CPU, even though this is not possible with one CPU i.e. shared among different users.


Advantages:
o   Provide advantages of quick response.
o   Avoids duplication of software.
o   Reduces CPU idle time.

Disadvantages:
o   Overhead of switching between users.
o   Difficult to maintain security and integrity of user programs and data.
o   Problem of data communication between computer and terminals.

3. Distributed operating system: It is a model where applications can run on multiple computers linked by communication. This system looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units (CPU).

Advantages
·        With resource sharing facility user at one site may be able to use the resource available at another.
·        If one site fails in distributed systems, the remaining sites can potentially continue operating which increases reliability.
·        People at different sites can communicate with each other.
·        Computational speed can be achieved because computation can be distributed among different nodes.

4. Network operating system:  It is an operating system design for the sole purpose of supporting workstations, database sharing, application sharing, file and printer access sharing among multiple computers in a network. Example Microsoft Windows Server 2003, Microsoft Windows Server 2008, Microsoft Windows Server 2012, Linux, Mac OS X.

Advantages
·        Makes security management easy.
·        Makes user management and administration easy.
·        Enables resource sharing.
·        Remote access to servers is possible from different location and types if systems.

Disadvantages
·        High cost of buying and running a server
·        Dependency on a central location for most operations
·        Performance will be degraded if numbers of clients are large.

5. Real time Operating system: There is also an Operating System which is known as Real Time Processing System. In this Response Time is already fixed. Means time to Display the Results after Possessing has fixed by the Processor or CPU. Real Time System is used at those Places in which we Requires higher and Timely Response.   Example industrial control systems, weapon systems, robots, home appliance controllers, air traffic control system etc.
There are two types of real-time operating system
v  Hard real-time systems:  It guarantees that critical tasks complete on time. Secondary storage is limited or missing in hard real time.  Example industrial control traffic, air traffic control system etc.
v  Soft real-time systems: In the Soft Real Time System, some Moments can be Change. Means after giving the Command to the CPU, CPU Performs the Operation after a Microsecond.  example multimedia, virtual reality etc.

Function of Operating system:  Operating system direct and control the allocation of processors, memory and peripheral devices to various programs that use it. Functions of operating system are
1.      Process Management: In multiprogramming environment, more than one program resides in memory at the same time. A set of instruction stored in secondary storage device is called program. When a program is loaded into memory, it will be ready for execution and is termed as process.
Operating system does the following activities for processor management
·        Process scheduling.
·        Keeps status of processes.
·        Interprocess communication.

Process Scheduling: The problem of determining when a processor or CPU should be assigned to which processes and for how much of time is called processor scheduling or CPU scheduling.
Scheduler should consider
·        Fairness: It ensures that all processes get a chance to execute in CPU after waiting some time.
·        Efficiency:  Scheduling policies should be able to utilize all resources in balance way to achieve efficiency.
·        Response Time: Time elapse between arrival of a process and it gets the chance into CPU is called response time. Goal of scheduling policies is to minimize response time.
·        Turnaround Time: Time elapsed between arrival of a job and its completion is called turnaround time.
·        Throughput: Number of jobs completed in unit time called throughput.

Keeping the status of processes: Operating system is responsible for keeping the track of process state. It stores information about process state in a table called PCB (process control block) or process table.















A process may be in one of three states.
v  Running:  only one process can be running state at any one time. Running process is the process that is actually using the CPU at that time.
v  Ready: A process that is ready but cannot get access to the CPU due to another process using it.
v  Blocked: A block process is unable to run until some external event has taken place. Block process cannot use CPU even if CPU has to do nothing.


Inter process Communication: It is a mechanism that allows the exchange of data between processes. IPC allows one application to control another application thereby enabling data sharing without interference.

2. Memory Management: Memory management refers to management of primary memory or main memory. Main memory provides a fast storage that can be access directly by the CPU. For a program to be executing it must be in main memory. Operating system does the following activities
·        Managing Free Space:  To keep the track of which memory space is free and which one is ready occupied, OS keeps either use bitmap or linked list of processes and hole (free spaces). In bit map we need to store one bit (either 0 or 1) for each memory block. 0 represent memory the block is free and 1 represents memory block is ready used is vice versa.

Linked is a way of organizing the data where the node containing first data holds the address of node containing second data, node containing second data holds the address of the node containing third data and so on.



Allocating and deallocating Memory for process: The memory management function determines how memory is allocated among competing processes. When memory is allocated it determines which memory locations will be assigned. Two widely used memory location techniques are:

a)      Single Allocation:  Single allocation is the simplest memory management technique. The entire computer's memory is available to the single application. Example MS-DOS, embedded system running a single application
b)     Partitioned Allocation:  This approach divides primary memory into multiple memory partitions. Each partition might contain all the information for a specific process or tasks. Partition can be fixed or variable. In fixed partitions, partition can be of different sizes but once a partition has taken on certain size then it remains at on that size. In variable partition, partitions can change size as the need arise. Variable partitions can be summed as
o   The number of partition varies
o   The size of the partitions varies
o   The starting address of the partitions varies

Managing Virtual Memory: Virtual memory is the technique that gives a computer ability to run programs that is larger than the size of available physical memory. Example we can run a 2048K program on a 56K machine. Virtual memory maps memory address used by a program, called virtual address, into physical addresses in computer memory. Address translation hardware in the CPU, Often referred to as a memory management unit or MMU is responsible for translating virtual address to physical address.









Advantages of virtual memory
o   Freeing applications from having to manage a shared memory space.
o   Increased security due to memory isolation
o   Being able to conceptually use more memory than might be physically available.


3. File Management:  A file system is normally organized into directories. Directories may contain files and other directories. File system management describes the fundamental methods for
Naming files : 
1.     File name can be up to eight characters.
2.     The extension can be up to three characters.
3.     The ".: dot separates the file name and extension
4.     The characters set for the file name can contain letters, numbers, and other special symbols.
5.     File name should not contain any blank space.
6.     File name accepts any uppercase or lowercase characters.
A UNIX system allows file names up to 255 characters in length. Modern windows allows up to 255 characters.

File structures: Files are stores as a sequence of bytes. File structure can be grouped into three types
ü  Byte sequence:    File is unstructured sequenced of bytes. In effect, the operating system does not know or care what is in the file. All it sees are bytes. Any meaning must be imposed by user-level programs. Both UNIX and Windows 98 use this approach.
ü  Record sequence: File is a sequenced of fixed length records each with some internal structure with read operation returns and the write operation overwrites or appends one record.
ü  Tree structure: File consists of a hierarchy of records called tree. All record is not necessarily be of same size, every record contains key field.
ü  File Access: It refers to the manner in which the records of a file may be accesses. Several ways to access files: Sequential access: The records are access in some sequence. The information in the file is processed in order, one record after the other.
Random Access: Access the records directly. Each record has own address on the file with by the help of which it can be directly accesses for reading or writing. The record need not be in any sequence within the file and they need not be in adjacent locations on the storage medium. Index sequential: It is based on sequentially access. An index is created for each file which contains pointers to various blocks. Index is searched sequentially and their pointer is used to access the file directly.

ü  File Attributes and operations: Every file has a name and its data. Operating systems associate other information with each file such a as data and time the file was created, size of file, password, owner etc.

ü  Storing and Handling files: Various methods are used in different operating system they are contiguous allocation method, Linked allocation methods
Contiguous allocation allocates N contiguous blocks to a file. If a file size is 100K and the block size is 2K then 50 contiguous blocks are required to store the file. The directory entry for each file contains the file name, start block number and the file sized.
In Linked allocation, the data blocks of a file can be scattered anywhere on the disk. The directory entry of a file contains the start block number and file name. Each block contains data and a pointer to the next block. This continuous until the last block which has a special end-of-file (EOF) value.

Device Management: Hardware device provide the ability to input into the computer or output data from the computer. Management of I/O devices is one of the principal tasks for the operating system. This includes
v  Handling Input/output.
v  Providing device independence.
v  Handling Errors.

Handling Input Output: Three different ways of performing I/O operations are programmed I/O, Interrupt driven I/O, and I/O DMA
Programmed I/O is also called pooling in which CPU is responsible for all communication with I/O modules by executing instruction which control the attached devices or transfer data. CPU needs to wait until transfer is complete.

Device Independence: It is the process of making a software application able to function on the variety of devices regardless of the local hardware on which the software is used. Example a program that reads a file as input should be able to read a file on the floppy disk, on hard disk or in CD/DVD ROM without modifying the program for each different device.

Error Handling:  If the controller discovers a read error, it should try to correct the error itself. If it cannot the device should handle it. Error correction is done by just trying to read the block again. If the lower layer are not able to deal with the problem higher layer should be told about it.

Example of Operating Systems
Windows: Microsoft introduced the first GUI base set of software which is properly known as Windows. Example: Windows 95/98, Windows 2000, Windows NT, Windows Server, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10.
Advantages of using windows
·       It is easier to learn and use.
·       It allows the user to work on a number of applications simultaneously.
·       Failures to any application do not harm the computer system.
·       It has features of communicating with other computers.
·       It has many built in programs.
·       It has fast processing capability.
·       It helps to run the multiple applications at a time.
It is GUI based software. So every item is in graphics form

UNIX: UNIX is a popular operating system used in large variety of scientific engineering and other application. It was developed at AT&T lab by Dennis Ritchie and Ken Thompson. Linux and UNIX can run on variety of hardware and are available in different form.
Special features:
1.     Multi-user operating system: More than one user can use the same machine via terminal computer.
2.     Multitasking operating system: More than on program can be run at a time on a single computer.
3.     Portability operating system: UNIX has less amount of machine dependent code. So it can run on different hardware having fewer amounts of resources.
4.     Reliable and efficient operating system: It is reliable operating system and handles thousands of users.
Linux: LINUX is an open source operating system. It is a multitasking, multi-processing operation system designed to use on personal computers. It was developed by Linus Torvalds, hence the name is LINUX.
Hardware layer: Hardware consists of all peripherals devices e.g. RAM, HDD, and CPU
Kernel:  Interact directly with hardware; provide low level service to upper layer components.
Shell: An interface to kernel, hiding complexity of kernel's functions from users. Takes command from users and executes kernel's functions.
Utilities: IT gives user most of the functionalities of an operating system.

No comments:

Post a Comment