Table of Contents Introduction............................................................................................................................ 2 Why to use an operating system? .......................................................................................... 2 Basic importance of the operating system ............................................................................. 2 Examples of Operating System with Market Share ................................................................ 3 The History of Operating Systems .......................................................................................... 3 The First Generation (1940's to early 1950's)..................................................................... 4 The Second Generation (1955-1965).................................................................................. 4 The Third Generation (1965-1980) ..................................................................................... 4 The Fourth Generation (1980-Present Day) ....................................................................... 4 Types of Operating System (OS) ............................................................................................. 5 Batch Operating System...................................................................................................... 5 Multi-Tasking/Time-sharing Operating systems ................................................................. 5 Real time OS........................................................................................................................ 5 Distributed Operating System............................................................................................. 5 Network Operating System ................................................................................................. 5 Mobile OS ........................................................................................................................... 5 Functions of Operating System .............................................................................................. 5 Features of Operating System (OS) ........................................................................................ 7 Advantage of Operating System ............................................................................................. 7 Disadvantages of Operating System ....................................................................................... 7 Difference between 32-Bit and 64-Bit Operating System ...................................................... 8 What is Kernel in Operating System? ..................................................................................... 8 Features of Kernel ............................................................................................................... 8 Types of Kernel ................................................................................................................... 8 Monolithic........................................................................................................................... 8 Microkernels ....................................................................................................................... 9 Operating System Made by Abdul Rahman Waseem, 232011 Introduction An Operating System (OS) is a software that acts as an interface between computer hardware components and the user. Every computer system must have at least one operating system to run other programs. Applications like Browsers, MS Office, Notepad Games, etc., need some environment to run and perform its tasks. The OS helps you to communicate with the computer without knowing how to speak the computer's language. It is not possible for the user to use any computer or mobile device without having an operating system. Hardware •CPU,Memory,Hard Drive Oprerating System •Windows,Apple OS X,Linux End User Why to use an operating system? An operating system brings powerful benefits to computer software and software development. Without an operating system, every application would need to include its own UI, as well as the comprehensive code needed to handle all low-level functionality of the underlying computer, such as disk storage, network interfaces and so on. Considering the vast array of underlying hardware available, this would vastly bloat the size of every application and make software development impractical. Instead, many common tasks, such as sending a network packet or displaying text on a standard output device, such as a display, can be offloaded to system software that serves as an intermediary between the applications and the hardware. The system software provides a consistent and repeatable way for applications to interact with the hardware without the applications needing to know any details about the hardware. As long as each application accesses the same resources and services in the same way, that system software -- the operating system -- can service almost any number of applications. This vastly reduces the amount of time and coding required to develop and debug an application, while ensuring tat users can control, configure and manage the system hardware through a common and well-understood interface. Basic importance of the operating system 1. Operating system behaves as a resource manager. It utilizes the computer in a cost effective manner. It keeps account of different jobs and the where about of their results and locations in the memory. 2. Operating system schedules jobs according to their priority passing control from one program to the next. The overall function of job control is especially important when there are several uses (a multi user environment) 3. Operating system makes a communication link user and the system and helps the user to run application programs properly and get the required output 4. Operating system has the ability to fetch the programs in the memory when required and not all the Operating system to be loaded in the memory at the same time, thus giving the user the space to work in the required package more conveniently and easily 5. Operating system helps the user in file management. Making directories and saving files in them is a very important feature of operating system to organize data according to the needs of the user 6. Multiprogramming is a very important feature of operating system. It schedules and controls the running of several programs at ones 7. It provides program editors that help the user to modify and update the program lines 8. Debugging aids provided by the operating system helps the user to detect and rename errors in programs 9. Disk maintenance ability of operating system checks the validity of data stored on diskettes and other storage to make corrections to erroneous data Examples of Operating System with Market Share iOS 16% Mac OS 4% Windows 41% Android 38% OS Name Share Windows Android iOS Mac OS Linux Chrome OS Windows Phone OS 40.34 37.95 15.44 4.34 0.95 0.14 0.06 The History of Operating Systems The first operating system was created by General Motors in 1956 to run a single IBM mainframe computer. Other IBM mainframe owners followed suit and created their own operating systems. As you can imagine, the earliest operating systems varied wildly from one computer to the next, and while they did make it easier to write programs, they did not allow programs to be used on more than one mainframe without a complete rewrite. In the 1960s, IBM was the first computer manufacturer to take on the task of operating system development and began distributing operating systems with their computers. However, IBM wasn't the only vendor creating operating systems during this time. Control Data Corporation, Computer Sciences Corporation, Burroughs Corporation, GE, Digital Equipment Corporation, and Xerox all released mainframe operating systems in the 1960s as well. in the late 1960s, the first version of the Unix operating system was developed. Written in C, and freely available during it's earliest years, Unix was easily ported to new systems and rapidly achieved broad acceptance. Many modern operating systems, including Apple OS X and all Linux flavors, trace their roots back to Unix Microsoft Windows was developed in response to a request from IBM for an operating system to run its range of personal computers. The first OS built by Microsoft wasn't called Windows, it was called MS-DOS and was built in 1981 by purchasing the 86-DOS operating system from Seattle Computer Products and modifying it to meet IBM's requirements. The name Windows was first used in 1985 when a graphical user interface was created and paired with MS-DOS. Apple OS X, Microsoft Windows, and the various forms of Linux (including Android) now command the vast majority of the modern operating system market. The First Generation (1940's to early 1950's) When electronic computers where first introduced in the 1940's they were created without any operating systems. All programming was done in absolute machine language, often by wiring up plugboards to control the machine's basic functions. During this generation computers were generally used to solve simple math calculations, operating systems were not necessarily needed. The Second Generation (1955-1965) The first operating system was introduced in the early 1950's, it was called GMOS and was created by General Motors for IBM's machine the 701. Operating systems in the 1950's were called single-stream batch processing systems because the data was submitted in groups. These new machines were called mainframes, and they were used by professional operators in large computer rooms. Since there was such as high price tag on these machines, only government agencies or large corporations were able to afford them. The Third Generation (1965-1980) By the late 1960's operating systems designers were able to develop the system of multiprogramming in which a computer program will be able to perform multiple jobs at the same time.The introduction of multiprogramming was a major part in the development of operating systems because it allowed a CPU to be busy nearly 100 percent of the time that it was in operation. Another major development during the third generation was the phenomenal growth of minicomputers, starting with the DEC PDP-1 in 1961. The PDP-1 had only 4K of 18- bit words, but at $120,000 per machine (less than 5 percent of the price of a 7094), it sold like hotcakes. These microcomputers help create a whole new industry and the development of more PDP's. These PDP's helped lead to the creation of personal computers which are created in the fourth generation The Fourth Generation (1980-Present Day) The fourth generation of operating systems saw the creation of personal computing. Although these computers were very similar to the minicomputers developed in the third generation, personal computers cost a very small fraction of what minicomputers cost. A personal computer was so affordable that it made it possible for a single individual could be able to own one for personal use while minicomputers where still at such a high price that only corporations could afford to have them. One of the major factors in the creation of personal computing was the birth of Microsoft and the Windows operating system. The windows Operating System was created in 1975 when Paul Allen and Bill Gates had a vision to take personal computing to the next level. They introduced the MS-DOS in 1981 although it was effective it created much difficulty for people who tried to understand its cryptic commands. Windows went on to become the largest operating system used in techonology today with releases of Windows 95, Windows 98, WIndows XP (Which is currently the most used operating system to this day), and their newest operating system Windows 7. Along with Microsoft, Apple is the other major operating system created in the 1980's. Steve Jobs, co founder of Apple, created the Apple Macintosh which was a huge success due to the fact that it was so user friendly. Windows development throughout the later years were influenced by the Macintosh and it created a strong competition between the two companies. Today all of our electronic devices run off of operating systems, from our computers and smartphones, to ATM machines and motor vehicles. And as technology advances, so do operating systems. Types of Operating System (OS) Following are the popular types of Operating System: Batch Operating System Multitasking/Time Sharing OS Multiprocessing OS Real Time OS Distributed OS Network OS Mobile OS Batch Operating System Some computer processes are very lengthy and time-consuming. To speed the same process, a job with a similar type of needs are batched together and run as a group. The user of a batch operating system never directly interacts with the computer. In this type of OS, every user prepares his or her job on an offline device like a punch card and submit it to the computer operator. Multi-Tasking/Time-sharing Operating systems Time-sharing operating system enables people located at a different terminal(shell) to use a single computer system at the same time. The processor time (CPU) which is shared among multiple users is termed as time sharing. Real time OS A real time operating system time interval to process and respond to inputs is very small. Examples: Military Software Systems, Space Software Systems are the Real time OS example. Distributed Operating System Distributed systems use many processors located in different machines to provide very fast computation to its users. Network Operating System Network Operating System runs on a server. It provides the capability to serve to manage data, user, groups, security, application, and other networking functions. Mobile OS Mobile operating systems are those OS which is especially that are designed to power smartphones, tablets, and wearables devices. Some most famous mobile operating systems are Android and iOS, but others include BlackBerry, Web, and watchOS. Functions of Operating System Below are the main functions of Operating System: In an operating system software performs each of the function: 1. Process management:Process management helps OS to create and delete processes. It also provides mechanisms for synchronization and communication among processes. 2. Memory management:Memory management module performs the task of allocation and de-allocation of memory space to programs in need of this resources. 3. File management:It manages all the file-related activities such as organization storage, retrieval, naming, sharing, and protection of files. 4. Device Management: Device management keeps tracks of all devices. This module also responsible for this task is known as the I/O controller. It also performs the task of allocation and deallocation of the devices. 5. I/O System Management: One of the main objects of any OS is to hide the peculiarities of that hardware devices from the user. 6. Secondary-Storage Management: Systems have several levels of storage which includes primary storage, secondary storage, and cache storage. Instructions and data must be stored in primary storage or cache so that a running program can reference it. 7. Security:Security module protects the data and information of a computer system against malware threat and authorized access. 8. Command interpretation: This module is interpreting commands given by the and acting system resources to process that commands. 9. Networking: A distributed system is a group of processors which do not share memory, hardware devices, or a clock. The processors communicate with one another through the network. 10. Job accounting: Keeping track of time & resource used by various job and users. 11. Communication management: Coordination and assignment of compilers, interpreters, and another software resource of the various users of the computer systems. Features of Operating System (OS) Here is a list important features of OS: Protected and supervisor mode Allows disk access and file systems Device drivers Networking Security Program Execution Memory management Virtual Memory Multitasking Handling I/O operations Manipulation of the file system Error Detection and handling Resource allocation Information and Resource Protection Advantage of Operating System Allows you to hide details of hardware by creating an abstraction Easy to use with a GUI Offers an environment in which a user may execute programs/applications The operating system must make sure that the computer system convenient to use Operating System acts as an intermediary among applications and the hardware components It provides the computer system resources with easy to use format Acts as an intermediator between all hardware’s and software’s of the system Disadvantages of Operating System If any issue occurs in OS, you may lose all the contents which have been stored in your system Operating system’s software is quite expensive for small size organization which adds burden on them. Example Windows It is never entirely secure as a threat can occur at any time Difference between 32-Bit and 64-Bit Operating System Below are the Key Differences between 32-Bit and 64-Bit Operating System: Parameters 32. Bit 64. Bit Allow 32 bit of data Allow 64 bit of data Architecture and Software processing simultaneously processing simultaneously 32-bit applications require 64-bit applications require a Compatibility 32-bit OS and CPUs. 64-bit OS and CPU. All versions of Windows 8, Windows XP Professional, Windows 7, Windows Vista, Vista, 7, Mac OS X and Systems Available and Windows XP, Linux, etc. Linux. 32-bit systems are limited to 64-bit systems allow a Memory Limits maximum 17 Billion GB of 3.2 GB of RAM. RAM. What is Kernel in Operating System? The kernel is the central component of a computer operating systems. The only job performed by the kernel is to the manage the communication between the software and the hardware. A Kernel is at the nucleus of a computer. It makes the communication between the hardware and software possible. While the Kernel is the innermost part of an operating system, a shell is the outermost one Features of Kernel Low-level scheduling of processes Inter-process communication Process synchronization Context switching Types of Kernel There are many types of kernels that exists, but among them, the two most popular kernels are: Monolithic A monolithic kernel is a single code or block of the program. It provides all the required services offered by the operating system. It is a simplistic design which creates a distinct communication layer between the hardware and software. Microkernels Microkernel manages all system resources. In this type of kernel, services are implemented in different address space. The user services are stored in user address space, and kernel services are stored under kernel address space. So, it helps to reduce the size of both the kernel and operating system.