Generations of Computer PDF
Document Details
Uploaded by InnovativeVuvuzela
ISBAT University
2023
Tags
Summary
This document provides an overview of the different generations of computers, highlighting key technological advancements and components. It discusses the evolution from mechanical calculators to modern computers and the development of AI systems.
Full Transcript
Generations of Computer © ISBAT UNIVERSITY – 2023. 11/20/2024 The modern computer took its shape with the arrival of your time. It had been around the 16th century when the evolution of the computer started. The initial computer faced many changes, obvio...
Generations of Computer © ISBAT UNIVERSITY – 2023. 11/20/2024 The modern computer took its shape with the arrival of your time. It had been around the 16th century when the evolution of the computer started. The initial computer faced many changes, obviously for the betterment. It continuously improved itself in terms of speed, accuracy, size, and price to urge the form of the fashionable day computer. © ISBAT UNIVERSITY – 2023. 11/20/2024 Vacuum Tube: Vacuum tubes have the functionality of controlling the flow of electronics in a vacuum. it is used in switches, amplifiers, radios, televisions, etc. Transistor: A transistor helps in controlling the flow of electricity in devices, it works as an amplifier or a switch. Integrated Circuit (IC): Integrated circuits are silicon chips that contain their circuit elements like transistors, resistors, etc. Microprocessors: Microprocessors are the components that contain the CPU and its circuits and are present in the Integrated Circuit. Central Processing Unit (CPU): The CPU is called the brain of the computer. CPU performs processing and operations work. © ISBAT UNIVERSITY – 2023. 11/20/2024 Magnetic Drum: Magnetic Drum is like a cylinder that stores data and cylinder. Magnetic Core: Magnetic cores are used to store information. These are arrays of small rings. Machine Language: Machine Language is the language that a computer accepts (in the form of binary digits). It is also called low-level programming language Memory: Memory is used to store data, information, and program in a computer. Artificial Intelligence: Artificial Intelligence deals with creating intelligent machines and behaviors. © ISBAT UNIVERSITY – 2023. 11/20/2024 Generations of Computer Period Evolving Hardware First Generation 1940s – 1950s Vacuum Tube Based Second Generation 1950s – 1960s Transistor Based Third Generation 1960s – 1970s Integrated Circuit Based Fourth Generation 1970s – Present Microprocessor Based Fifth Generation Present – Future Artificial Intelligence Based © ISBAT UNIVERSITY – 2023. 11/20/2024 We used calculators, spreadsheets, and computer algebra systems, mathematicians and inventors searched for solutions to ease the burden of calculation. Mechanical Calculators before modern computers were invented. 1. Abacus (ca. 2700 BC) 2. Pascal’s Calculator (1652) 3. Stepped Reckoner (1694) 4. Arithmometer (1820) 5. Comptometer (1887) and Comptograph (1889) 6. The Difference Engine (1822) 7. Analytical Engine (1834) 8. The Millionaire (1893) © ISBAT UNIVERSITY – 2023. 11/20/2024 First Generation Computers(1940 - 1956) The technology behind the primary generation computers was a fragile glass device, which was called a vacuum tube. These computers were very heavy and really large. These weren’t very reliable and programming on them was a tedious task as they used low-level programming language and used no OS. First-generation computers were used for calculation, storage, and control purpose. They were too bulky and large that they needed a full room and consume a lot of electricity. © ISBAT UNIVERSITY – 2023. 11/20/2024 © ISBAT UNIVERSITY – 2023. 11/20/2024 ENIAC: Electronic Numerical Integrator and Computer, built by J. Presper Eckert and John V. Mauchly was a general-purpose computer. It had been cumbersome, and large, and contained 18,000 vacuum tubes. EDVAC: Electronic Discrete Variable Automatic Computer was designed by von Neumann. It could store data also as instruction and thus the speed was enhanced. UNIVAC: Universal Automatic Computer was developed in 1952 by Eckert and Mauchly. © ISBAT UNIVERSITY – 2023. 11/20/2024 Characteristics Components Main electronic component Vacuum tube. Programming language Machine language. Main memory Magnetic tapes and magnetic drums. Input/output devices Paper tape and punched cards. Very slow and very large (often taking up an entire Speed and size room). Examples of the first generation IBM 650, IBM 701, ENIAC, UNIVAC1, etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Second Generation Computers(1956 - 1963) used the technology of transistors rather than bulky vacuum tubes. Another feature was the core storage. A transistor may be a device composed of semiconductor material that amplifies a sign or opens or closes a circuit. Transistors were invented in Bell Labs. The use of transistors made it possible to perform powerfully and with due speed. It reduced the dimensions and price and thankfully the warmth too, which was generated by vacuum tubes. Central Processing Unit (CPU), memory, programming language, and input, and output units also came into the force within the second generation. The programming language was shifted from high level to programming language and made programming comparatively a simple task for programmers. Languages used for programming during this era were FORTRAN (1956), ALGOL (1958), and COBOL (1959). © ISBAT UNIVERSITY – 2023. 11/20/2024 © ISBAT UNIVERSITY – 2023. 11/20/2024 Characteristics Components Main electronic Transistor. component Programming language Machine language and assembly language. Memory Magnetic core and magnetic tape/disk. Input/output devices Magnetic tape and punched cards. Smaller in size, had low power consumption, and generated less Power and size heat (in comparison with the first-generation computers). Examples of the second PDP-8, IBM1400 series, IBM 7090 and 7094, UNIVAC 1107, generation CDC 3600, etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Third Generation Computers(1964 - 1971) technology envisaged a shift from huge transistors to integrated circuits, also referred to as IC. Here a variety of transistors were placed on silicon chips, called semiconductors. The most feature of this era’s computer was speed and reliability. IC was made from silicon and also called silicon chips. A single IC has many transistors, registers, and capacitors built on one thin slice of silicon. The value size was reduced and memory space and dealing efficiency were increased during this generation. Programming was now wiped out Higher level languages like BASIC (Beginners All-purpose Symbolic Instruction Code). Minicomputers find their shape during this era. © ISBAT UNIVERSITY – 2023. 11/20/2024 © ISBAT UNIVERSITY – 2023. 11/20/2024 Characteristics Components Main electronic component Integrated circuits (ICs). Programming language High-level language. Memory Large magnetic core, magnetic tape/disk. Input/output devices Magnetic tape, monitor, keyboard, printer, etc. IBM 360, IBM 370, PDP-11, NCR 395, B6500, UNIVAC Examples of the third generation 1108, etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Fourth Generation Computers(1971 - 2010) In 1971 First microprocessors were used, the large-scale of integration LSI circuits built on one chip called microprocessors. The advantage of this technology is that one microprocessor can contain all the circuits required to perform arithmetic, logic, and control functions on one chip. The computers using microchips were called microcomputers. This generation provided even smaller size of computers, with larger capacities. That’s not enough, then Very Large Scale Integrated (VLSI) circuits replaced LSI circuits. © ISBAT UNIVERSITY – 2023. 11/20/2024 © ISBAT UNIVERSITY – 2023. 11/20/2024 The Intel 4004 chip, developed in 1971, located all the components of the pc from the central processing unit and memory to input/ output controls on one chip and allowed the dimensions to reduce drastically. Technologies like multiprocessing, multiprogramming, time-sharing, operating speed, and virtual memory made it a more user-friendly and customary device. The concept of private computers and computer networks came into being within the fourth generation. © ISBAT UNIVERSITY – 2023. 11/20/2024 Characteristics Components Very-large-scale integration (VLSI) and the microprocessor Main electronic component (VLSI has thousands of transistors on a single microchip). Memory Semiconductor memory (such as RAM, ROM, etc.). pointing devices, optical scanning, keyboard, monitor, Input/output devices printer, etc. IBM PC, STAR 1000, APPLE II, Apple Macintosh, Alter Examples of the fourth generation 8800, etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Fifth Generation Computers(2010 to present) The technology behind the fifth generation of computers is AI. It allows computers to behave like humans. It is often seen in programs like voice recognition, area of medicine, and entertainment. Within the field of game playing also it’s shown remarkable performance where computers are capable of beating human competitors. The speed is the highest, size is the smallest and area of use has remarkably increased within the fifth generation computers. © ISBAT UNIVERSITY – 2023. 11/20/2024 Though not a hundred percent AI has been achieved to date but keeping in sight the present developments, it is often said that this dream also will become a reality very soon. To summarize the features of varied generations of computers, it is often said that a big improvement has been seen so far because of the speed and accuracy of functioning care, but if we mention the dimensions, it’s been small over the years. The value is additionally diminishing and reliability is increasing. © ISBAT UNIVERSITY – 2023. 11/20/2024 Characteristics Components Based on artificial intelligence, uses the Ultra Large-Scale Integration (ULSI) technology and parallel processing Main electronic component method (ULSI has millions of transistors on a single microchip and the Parallel processing method use two or more microprocessors to run tasks simultaneously). Language Understand natural language (human language). Size Portable and small in size. Trackpad (or touchpad), touchscreen, pen, speech input Input/output device (recognize voice/speech), light scanner, printer, keyboard, monitor, mouse, etc. Example of the fifth generation Desktops, laptops, tablets, smartphones, etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Sixth generation (future generations) As of 2023, most still consider us to be in the fifth generation as AI continues to develop. One possible contender for a future sixth generation is the quantum computer. However, until quantum computing becomes more developed and widely used, it is still only a promising idea. Some people also consider nanotechnology to be part of the sixth generation. © ISBAT UNIVERSITY – 2023. 11/20/2024 nanotechnology is largely still in its infancy and requires more development before becoming widely used. With a new generation of computers it's also possible how we interact with a computer may also change. New ways of how we may interact with the next generation of computers include only using our voice, AR (augmented reality), VR (virtual reality), or MR (mixed reality). © ISBAT UNIVERSITY – 2023. 11/20/2024 Introduction to operating system. Course-code:IUK-DCS1208 © ISBAT UNIVERSITY – 2023. 11/20/2024 Outline. 2 Introduction to operating system. Installing and repairing Microsoft operating system. Microsoft operating system-Administration. Installing and configuring Linux Securing operating systems File Management © ISBAT UNIVERSITY – 2023. 11/20/2024 Objectives. 3 Components of various operating systems. Creation of System ,data disk and bootable flash drives. Installation of an operating system. Management of computer system,memory and device drivers. System utilities Hardware and software components of a networked system. © ISBAT UNIVERSITY – 2023. 11/20/2024 Learning outcomes. 4 One should be able: To install Microsoft, Linux operating systems. Repairing any operating system. Configure operating system for various purposes. © ISBAT UNIVERSITY – 2023. 11/20/2024 Sections. 5 Concurrency Memory Management. File systems. © ISBAT UNIVERSITY – 2023. 11/20/2024 Introduction to Operating system. 6 An Operating System (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. An Operating System (OS) is an interface between a computer user and computer hardware. The operating system is a System Software and supports a computer's basic functions, such as memory management, tasks scheduling and controlling peripherals etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Computer System 7 Computer Users :are the users who use the overall computer system. Application Softwares :are the softwares which users use directly to perform different activities. System Softwares :are the Softwares which are more complex in nature and they are more near to computer hardware.. Computer Hardware :includes Monitor, Keyboard, CPU, Disks, Memory, etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Operating System - Examples 8 Windows: This is one of the most popular and commercial. It has different versions in the market like Windows 7,8,10,11 Linux This is a Unix based and the most loved operating system first released on September 17, 1991 by Linus Torvalds. MacOS This is again a kind of Unix operating system developed and marketed by Apple Inc. since 2001. © ISBAT UNIVERSITY – 2023. 11/20/2024 9 iOS This is a mobile operating system created and developed by Apple Inc. exclusively for its mobile devices like iPhone and iPad etc. Android This is a mobile Operating System based on a modified version of the Linux kernel and other open source software, designed primarily for touchscreen mobile devices such as smartphones and tablets. Others include Solaris, VMS, OS/400, AIX, z/OS, etc. © ISBAT UNIVERSITY – 2023. 11/20/2024 Operating System - Functions 10 Process Management I/O Device Management File Management Network Management Main Memory Management Secondary Storage Management Security Management © ISBAT UNIVERSITY – 2023. 11/20/2024 11 IMPORTANT TASKS Command Interpreter System Control over system performance Job Accounting Error Detection and Correction Coordination between other software and users © ISBAT UNIVERSITY – 2023. 11/20/2024 An operating system (OS) is a fundamental software component that acts as an intermediary between computer hardware and user applications. It provides a platform for executing programs, managing system resources, and facilitating communication between hardware and software components. © ISBAT UNIVERSITY – 2023. 11/20/2024 Functions Process Management: The OS manages processes, which are programs in execution. It allocates system resources (such as CPU time, memory, and I/O devices) to processes and ensures that they run efficiently without interfering with each other. Memory Management: Operating systems handle memory allocation and deallocation, ensuring that each process has sufficient memory to execute properly. This includes managing virtual memory, which allows programs to use more memory than physically available by swapping data between RAM and disk storage. © ISBAT UNIVERSITY – 2023. 11/20/2024 File System Management: An OS organizes and maintains files on storage devices, such as hard drives and solid-state drives. It provides mechanisms for creating, deleting, reading, and writing files, as well as managing file permissions and access control. Device Management: The OS interacts with hardware devices (e.g., keyboards, mice, printers, and network adapters) by providing device drivers that abstract the hardware interfaces and enable communication between devices and software applications. © ISBAT UNIVERSITY – 2023. 11/20/2024 Input/Output (I/O) Management: Operating systems handle input and output operations, such as reading from and writing to files, sending data to output devices, and receiving input from input devices. They ensure efficient data transfer and manage I/O queues to minimize delays. User Interface: Many operating systems provide user interfaces (UIs) to interact with the system. This can range from command-line interfaces (CLI), where users type commands, to graphical user interfaces (GUI), where users interact with windows, icons, menus, and buttons. © ISBAT UNIVERSITY – 2023. 11/20/2024 Security: Operating systems enforce security policies to protect system resources and data from unauthorized access, malware, and other security threats. This includes user authentication, encryption, access control lists, and auditing mechanisms. © ISBAT UNIVERSITY – 2023. 11/20/2024 Networking: Modern operating systems support networking capabilities, allowing devices to communicate over local area networks (LANs) or the internet. They provide networking protocols, socket APIs, and network configuration tools to enable communication between computers and other networked devices. Error Handling and Recovery: Operating systems handle errors and exceptions gracefully to prevent system crashes and data loss. They include mechanisms for detecting errors, generating error messages, and recovering from failures without disrupting the overall system operation. © ISBAT UNIVERSITY – 2023. 11/20/2024 OPERATING SYSTEM © ISBAT UNIVERSITY – 2023. 11/21/2024 Types of Operating System 2 Batch operating system Time sharing operating system Distributed operating system Network operating system Real time operating system © ISBAT UNIVERSITY – 2023. 11/21/2024 Batch operating system 3 The users of a batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. The programmers leave their programs with the operator and the operator then sorts the programs with similar requirements into batches. © ISBAT UNIVERSITY – 2023. 11/21/2024 4 © ISBAT UNIVERSITY – 2023. 11/21/2024 PROBLEMS WITH BATCH SYSTEMS 5 Lack of interaction between the user and the job. CPU is often idle, because the speed of the mechanical I/O devices is slower than the CPU. Difficult to provide the desired priority. Examples: Payroll System , Bank Invoice System , Transactions Process © ISBAT UNIVERSITY – 2023. 11/21/2024 Time-sharing operating systems 6 enables many people, located at various terminals, to use a particular computer system at the same time. Processor's time which is shared among multiple users simultaneously is termed as time-sharing. Multiprogrammed batch systems maximize processor use Time-Sharing Systems minimize response time. © ISBAT UNIVERSITY – 2023. 11/21/2024 7 © ISBAT UNIVERSITY – 2023. 11/21/2024 Cont.. 8 Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. the user can receive an immediate response. The operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time. Examples include: Unix , Linux , windows 2000 server , multics. © ISBAT UNIVERSITY – 2023. 11/21/2024 Advantages of Timesharing operating systems 9 Provides the advantage of quick response. Avoids duplication of software. Reduces CPU idle time Disadvantages Problem of reliability. Question of security and integrity of user programs and data. Problem of data communication. © ISBAT UNIVERSITY – 2023. 11/21/2024 DISTRIBUTED OPERATING SYSTEM(LOOSELY COUPLED SYSTEMS) 10 use multiple central processors to serve multiple real-time applications and multiple users. Data processing jobs are distributed among the processors accordingly. The processors communicate with one another through various communication lines (such as high-speed buses or telephone lines). Processors in a distributed system may vary in size and function. These processors are referred as sites, nodes, computers. © ISBAT UNIVERSITY – 2023. 11/21/2024 Advantages of distributed systems 11 With resource sharing facility, a user at one site may be able to use the resources available at another. Speedup the exchange of data with one another via electronic mail. If one site fails in a distributed system, the remaining sites can potentially continue operating. Better service to the customers. Reduction of the load on the host computer. Reduction of delays in data processing. © ISBAT UNIVERSITY – 2023. 11/21/2024 Network operating System 12 runs on a server and provides the server the capability to manage data, users, groups, security, applications, and other networking functions. allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks. Examples of network operating systems include Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD. © ISBAT UNIVERSITY – 2023. 11/21/2024 13 © ISBAT UNIVERSITY – 2023. 11/21/2024 ADVANTAGES OF NETWORK OPERATING SYSTEMS 14 Centralized servers are highly stable. Security is server managed. Upgrades to new technologies and hardware can be easily integrated into the system. Remote access to servers is possible from different locations and types of systems. © ISBAT UNIVERSITY – 2023. 11/21/2024 DISADVANTAGES OF NETWORK OPERATING SYSTEM 15 High cost of buying and running a server. Dependency on a central location for most operations. Regular maintenance and updates are required. © ISBAT UNIVERSITY – 2023. 11/21/2024 REAL TIME OPERATING SYSTEM 16 data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. The time taken by the system to respond to an input and display of required updated information is called response time. the response time is very less as compared to online processing. © ISBAT UNIVERSITY – 2023. 11/21/2024 17 © ISBAT UNIVERSITY – 2023. 11/21/2024 18 Advantages of Real-time operating system: Easy to layout, develop and execute real-time applications under the real-time operating system. In a Real-time operating system, the maximum utilization of devices and systems. Disadvantages of Real-time operating system: Real-time operating systems are very costly to develop. Real-time operating systems are very complex and can consume critical CPU cycles. © ISBAT UNIVERSITY – 2023. 11/21/2024 Components of various operating systems. © ISBAT UNIVERSITY – 2023. 11/20/2024 Different operating systems have various components that perform specific functions to manage hardware resources, provide user interfaces, and execute applications. © ISBAT UNIVERSITY – 2023. 11/20/2024 Kernel: The core component of an operating system responsible for managing system resources and providing essential services. Functions: Memory management, process management, device management, system calls handling, and CPU scheduling. Examples: Linux kernel, Windows NT kernel, macOS kernel (XNU). © ISBAT UNIVERSITY – 2023. 11/20/2024 4 User Interface: Graphical User Interface (GUI): Provides visual elements (windows, icons, menus) for user interaction. Functions: Allows users to navigate the system, launch applications, and manipulate files using a mouse or touch input. Examples: Windows Explorer (Windows), Finder (macOS), GNOME (Linux). © ISBAT UNIVERSITY – 2023. 11/20/2024 Command-Line Interface (CLI): Allows users to interact with the operating system using text commands. Functions: Provides a more direct and efficient way to perform system tasks and execute commands. Examples: Command Prompt (Windows), Terminal (macOS, Linux). © ISBAT UNIVERSITY – 2023. 11/20/2024 6 File System: Manages the organization, storage, and retrieval of files and directories on storage devices. Functions: File storage, file naming, directory structure, file access control, and file metadata. Examples: NTFS (Windows), HFS+ (macOS), ext4 (Linux). © ISBAT UNIVERSITY – 2023. 11/20/2024 7 Device Drivers: Software components that facilitate communication between hardware devices and the operating system. Functions: Enable the operating system to control and utilize hardware peripherals such as printers, graphics cards, and network adapters. Examples: Printer drivers, display drivers, network drivers. © ISBAT UNIVERSITY – 2023. 11/20/2024 System Libraries: Collection of reusable code modules that provide commonly used functions and services to applications. Functions: Abstract low-level hardware details, provide APIs for system calls, and offer programming interfaces for various tasks. Examples: C Standard Library (libc), Win32 API (Windows), POSIX API (Unix-like systems). © ISBAT UNIVERSITY – 2023. 11/20/2024 9 Utilities: Standalone programs or tools provided by the operating system for system administration, maintenance, and troubleshooting. Functions: Perform tasks such as disk management, network configuration, security auditing, and performance monitoring. Examples: Disk Cleanup (Windows), Disk Utility (macOS), ls (Unix-like systems). © ISBAT UNIVERSITY – 2023. 11/20/2024 Networking: Set of protocols, services, and configurations that enable communication between computers and networked devices. Functions: Establish and manage network connections, handle data transmission, and provide network services (e.g., DHCP, DNS). Examples: TCP/IP protocol suite, Network Center (Windows), Network Preferences (macOS), NetworkManager (Linux). © ISBAT UNIVERSITY – 2023. 11/20/2024 11 Security: Mechanisms and features implemented to protect the operating system, data, and user privacy from security threats. Functions: User authentication, access control, encryption, malware detection, firewall protection, and security auditing. Examples: Windows Defender (Windows), Gatekeeper (macOS), SELinux (Linux). © ISBAT UNIVERSITY – 2023. 11/20/2024 12 These components work together to provide a cohesive environment for users to interact with hardware resources, run applications, and perform various tasks efficiently and securely. The specific implementation and features may vary across different operating systems. © ISBAT UNIVERSITY – 2023. 11/20/2024 SERVICES © ISBAT UNIVERSITY – 2019. 11/20/2024 SERVICES PROVIDED BY OS 2 Program execution I/O operations File System manipulation Communication Error Detection Resource Allocation Protection © ISBAT UNIVERSITY – 2023. 11/20/2024 Program execution 3 Operating systems handle many kinds of activities from user programs to system programs like printer spooler, name servers, file server, etc. Each of these activities is encapsulated as a process. A process includes the complete execution context : Loads a program into memory. Executes the program. Handles program's execution. Provides a mechanism for process synchronization. Provides a mechanism for process communication. Provides a mechanism for deadlock handling. © ISBAT UNIVERSITY – 2023. 11/20/2024 I/O Operation 4 An I/O subsystem comprises of I/O devices and their corresponding driver software. An Operating System manages the communication between user and device drivers. I/O operation means read or write operation with any file or any specific I/O device. provides the access to the required I/O device when required. © ISBAT UNIVERSITY – 2023. 11/20/2024 File system manipulation 5 A file represents a collection of related information. Computers can store files on the disk (secondary storage), for long-term storage purpose. Examples of storage media include magnetic tape, magnetic disk and optical disk drives like CD, DVD. Each of these media has its own properties like speed, capacity, data transfer rate and data access methods A file system is organized into directories for easy navigation and usage. © ISBAT UNIVERSITY – 2023. 11/20/2024 FILE SYSTEM MANIPULATION 6 Program needs to read a file or write a file. The operating system gives the permission to the program for operation on file. Permission varies from read-only, read-write, denied and so on. provides an interface to the user to create/delete files. provides an interface to the user to create/delete directories. provides an interface to create the backup of file system. © ISBAT UNIVERSITY – 2023. 11/20/2024 Communication 7 The operating system manages communications between all the processes. Multiple processes communicate with one another through communication lines in the network. The OS handles routing and connection strategies, and the problems of contention and security. © ISBAT UNIVERSITY – 2023. 11/20/2024 COMMUNICATION 8 Two processes often require data to be transferred between them. Both the processes can be on one computer or on different computers, but are connected through a computer network. Communication may be implemented by two methods, either by Shared Memory or by Message Passing © ISBAT UNIVERSITY – 2023. 11/20/2024 Error handling 9 Errors can occur anytime and anywhere. An error may occur in CPU, in I/O devices or in the memory hardware. The OS constantly checks for possible errors. The OS takes an appropriate action to ensure correct and consistent computing. © ISBAT UNIVERSITY – 2023. 11/20/2024 Resource Management 10 In case of multi-user or multi-tasking environment, resources such as main memory, CPU cycles and files storage are to be allocated to each user or job. The OS manages all kinds of resources using schedulers. CPU scheduling algorithms are used for better utilization of CPU. © ISBAT UNIVERSITY – 2023. 11/20/2024 Protection 11 Protection refers to a mechanism or a way to control the access of programs, processes, or users to the resources defined by a computer system. − The OS ensures that all access to system resources is controlled. The OS ensures that external I/O devices are protected from invalid access attempts. The OS provides authentication features for each user by means of passwords. © ISBAT UNIVERSITY – 2023. 11/20/2024 Process 12 A process is a program in execution. The execution of a process must progress in a sequential fashion. A process is defined as an entity which represents the basic unit of work to be implemented in the system. To put it in simple terms, we write our computer programs in a text file and when we execute this program, it becomes a process which performs all the tasks mentioned in the program. When a program is loaded into the memory and it becomes a process, it can be divided into four sections stack, heap, text and data. © ISBAT UNIVERSITY – 2023. 11/20/2024 LAYOUT OF A PROCESS INSIDE MAIN MEMORY: 13 © ISBAT UNIVERSITY – 2023. 11/20/2024 14 Stack The process Stack contains the temporary data such as method/function parameters, return address and local variables. Heap This is dynamically allocated memory to a process during its run time. Text This includes the current activity represented by the value of Program Counter and the contents of the processor's registers. Data This section contains the global and static variables. © ISBAT UNIVERSITY – 2023. 11/20/2024 Process Life Cycle 15 When a process executes, it passes through different states. These stages may differ in different operating systems, and the names of these states are also not standardized. © ISBAT UNIVERSITY – 2023. 11/20/2024 FIVE STATES OF A PROCESS 16 Start : initial state when a process is first started/created. Ready :waiting to be assigned to a processor. Ready processes are waiting to have the processor allocated to them by the operating system so that they can run. Process may come into this state after Start state or while running it by but interrupted by the scheduler to assign CPU to some other process. Running :the process state is set to running and the processor executes its instructions. Waiting :Process moves into the waiting state if it needs to wait for a resource, such as waiting for user input, or waiting for a file to become available. Terminated or Exit: once the process finishes its execution, or it is terminated by the operating system, it is moved to the terminated state where it waits to be removed from main memory. © ISBAT UNIVERSITY – 2023. 11/20/2024 PROCESS CONTROL BLOCK (PCB) 17 A Process Control Block is a data structure maintained by the Operating System for every process. The PCB is identified by an integer process ID (PID). © ISBAT UNIVERSITY – 2023. 11/20/2024 18 Process State :The current state of the process i.e., whether it is ready, running, waiting, or whatever. Process privileges :required to allow/disallow access to system resources. Process ID :Unique identification for each of the process in the operating system. Pointer :pointer to parent process. Program Counter :pointer to the address of the next instruction to be executed for this process. © ISBAT UNIVERSITY – 2023. 11/20/2024 19 CPU registers :where process need to be stored for execution for running state. CPU Scheduling Information :Process priority and other scheduling information which is required to schedule the process. Memory management information :information of page table, memory limits, Segment table depending on memory used by the operating system. Accounting information :amount of CPU used for process execution, time limits, execution ID etc. I/O status information :list of I/O devices allocated to the process. © ISBAT UNIVERSITY – 2023. 11/20/2024 Booting in Operating System © ISBAT UNIVERSITY – 2023. 11/21/2024 Booting is the process of starting a computer. It can be initiated by hardware such as a button press or by a software command. a CPU has no software in its main memory, so some processes must load software into memory before execution. This may be done by hardware or firmware in the CPU or by a separate processor in the computer system. Restarting a computer also is called rebooting, which can be "hard", e.g., after electrical power to the CPU is switched from off to on, or "soft", where the power is not cut. © ISBAT UNIVERSITY – 2023. 11/21/2024 a soft boot may optionally clear RAM to zero. Hard and soft booting can be initiated by hardware such as a button press or a software command. Booting is complete when the operative runtime system, typically the operating system and some applications, is attained. some embedded systems do not require a noticeable boot sequence to begin functioning and, when turned on, may run operational programs that are stored in ROM. © ISBAT UNIVERSITY – 2023. 11/21/2024 All computer systems are state machines and a reboot may be the only method to return to a designated zero-state from an unintended, locked state. In addition to loading an operating system or stand-alone utility, the boot process can also load a storage dump program for diagnosing problems in an operating system. © ISBAT UNIVERSITY – 2023. 11/21/2024 Sequencing of Booting Booting is a start-up sequence that starts the operating system of a computer when it is turned on. A boot sequence is the initial set of operations that the computer performs when it is switched on. Every computer has a boot sequence. © ISBAT UNIVERSITY – 2023. 11/21/2024 1. Boot Loader: Computers powered by the central processing unit can only execute code found in the system's memory. When a computer is first powered on, it must initially rely only on the code and data stored in non-volatile portions of the system's memory. The operating system is not really loaded at boot time, and the computer's hardware cannot perform many complex systems actions. The program that starts the chain reaction that ends with the entire operating system being loaded is the boot loader or bootstrap loader. The boot loader's only job is to load other software for the operating system to start. © ISBAT UNIVERSITY – 2023. 11/21/2024 2. Boot Devices: device from which the operating system is loaded. A modern PC BIOS (Basic Input/Output System) supports booting from various devices. These include the local hard disk drive, optical drive, floppy drive, a network interface card, and a USB device. The BIOS will allow the user to configure a boot order. If the boot order is set to: CD Drive Hard Disk Drive Network The BIOS will try to boot from the CD drive first, and if that fails, then it will try to boot from the hard disk drive, and if that fails, then it will try to boot from the network, and if that fails, then it won't boot at all. © ISBAT UNIVERSITY – 2023. 11/21/2024 3. Boot Sequence: standard boot sequence that all personal computers use. First, the CPU runs an instruction in memory for the BIOS. That instruction contains a jump instruction that transfers to the BIOS start-up program. This program runs a power-on self-test (POST) to check that devices the computer will rely on are functioning properly. Then, the BIOS goes through the configured boot sequence until it finds a bootable device. Once BIOS has found a bootable device, BIOS loads the boot sector and transfers execution to the boot sector. © ISBAT UNIVERSITY – 2023. 11/21/2024 If the boot device is a hard drive, it will be a master boot record (MBR). The MBR code checks the partition table for an active partition. If one is found, the MBR code loads that partition's boot sector and executes it. The boot sector is often operating system specific, and however, in most operating systems, its main function is to load and execute the operating system kernel, which continues start-up. Suppose there is no active partition, or the active partition's boot sector is invalid. In that case, the MBR may load a secondary boot loader which will select a partition and load its boot sector, which usually loads the corresponding operating system kernel. © ISBAT UNIVERSITY – 2023. 11/21/2024 Types of Booting © ISBAT UNIVERSITY – 2023. 11/21/2024 Cold Booting: When the computer starts for the first time or is in a shut-down state and switch on the power button to start the system, this type of process to start the computer is called cold booting. the system will read all the instructions from the ROM (BIOS) and the Operating System will be automatically get loaded into the system. This booting takes more time than Hot or Warm Booting. © ISBAT UNIVERSITY – 2023. 11/21/2024 Warm Booting: process is when computer systems come to no response or hang state, and then the system is allowed to restart during on condition. There are many reasons for this state, and the only solution is to reboot the computer. Rebooting may be required when we install new software or hardware. Ctrl+Alt+Del button is used to reboot the system. the external reset button may be available to reboot the system. © ISBAT UNIVERSITY – 2023. 11/21/2024 Booting Process in Operating System © ISBAT UNIVERSITY – 2023. 11/21/2024 The Startup It is the first step that involves switching the power ON. It supplies electricity to the main components like BIOS and processor. BIOS: Power On Self Test It is an initial test performed by the BIOS. this test performs an initial check on the input/output devices, computer’s main memory, disk drives, etc. if any error occurs, the system produces a beep sound. © ISBAT UNIVERSITY – 2023. 11/21/2024 Loading of OS the operating system is loaded into the main memory. The operating system starts working and executes all the initial files and instructions. System Configuration In this step, the drivers are loaded into the main memory. Drivers are programs that help in the functioning of the peripheral devices. © ISBAT UNIVERSITY – 2023. 11/21/2024 Loading System Utilities System utilities are basic functioning programs, for example, volume control, antivirus, etc. In this step, system utilities are loaded into the memory. User Authentication If any password has been set up in the computer system, the system checks for user authentication. Once the user enters the login Id and password correctly the system finally starts. © ISBAT UNIVERSITY – 2023. 11/21/2024 Dual Booting When two operating systems are installed on the computer system. Multiple operating systems can be installed on such a system. But to know which operating system is to boot, a boot loader that understands multiple file systems and multiple operating systems can occupy the boot space. © ISBAT UNIVERSITY – 2023. 11/21/2024 Once loaded, it can boot one of the operating systems available on the disk. The disk can have multiple partitions, each containing a different type of operating system. When a computer system turns on, a boot manager program displays a menu, allowing the user to choose the operating system to use. © ISBAT UNIVERSITY – 2023. 11/21/2024 Concurrency © ISBAT UNIVERSITY – 2023. 11/21/2024 Concurrency refers to the ability of a computer system to execute multiple tasks or processes simultaneously, allowing for more efficient resource utilization and improved system responsiveness. Concurrency is essential for multitasking, where multiple applications or processes run concurrently on a computer system. © ISBAT UNIVERSITY – 2023. 11/21/2024 Parallelism vs. Concurrency: Parallelism: In parallel computing, tasks are executed simultaneously by multiple processing units (e.g., CPU cores) to speed up computation. Concurrency: Concurrency involves executing multiple tasks or processes concurrently, but not necessarily simultaneously. Tasks may be interleaved or overlap in time, sharing resources such as CPU time and memory. © ISBAT UNIVERSITY – 2023. 11/21/2024 4 Threads and Processes: Threads: Threads are lightweight units of execution within a process. Multiple threads can run concurrently within the same process, sharing the process's memory space and resources. Processes: Processes are independent units of execution with their own memory space. Multiple processes can run concurrently on a system, each with its own address space. © ISBAT UNIVERSITY – 2023. 11/21/2024 Concurrency Models: Shared Memory: Threads or processes communicate and synchronize by sharing access to shared memory regions. Concurrent access to shared resources must be properly synchronized to prevent race conditions and ensure data consistency. Message Passing: Processes or threads communicate by sending messages to each other via predefined communication channels. Message passing can be implemented using mechanisms like pipes, message queues, sockets, or remote procedure calls (RPC). © ISBAT UNIVERSITY – 2023. 11/21/2024 6 Synchronization: Mutual Exclusion: Concurrent access to shared resources must be synchronized to prevent race conditions. Techniques like locks, semaphores, mutexes, and monitors are used to ensure mutual exclusion and prevent data corruption. Synchronization Primitives: Operating systems and programming languages provide synchronization primitives to facilitate coordination and communication between concurrent threads or processes. © ISBAT UNIVERSITY – 2023. 11/21/2024 Thread Safety: Thread-Safe: Code or data structures that can be accessed by multiple threads concurrently without causing data corruption or inconsistencies are said to be thread-safe. Thread-Unsafe: Code that is not properly synchronized for concurrent access may lead to race conditions, data corruption, or deadlock. © ISBAT UNIVERSITY – 2023. 11/21/2024 8 Concurrency Control: Concurrency Control: Techniques like concurrency control protocols, transaction management, and isolation levels are used in database systems to manage concurrent access to shared data and ensure data consistency and integrity. © ISBAT UNIVERSITY – 2023. 11/21/2024 Benefits of Concurrency: Improved Performance: Concurrency allows for better utilization of system resources, enabling tasks to execute concurrently and reducing overall processing time. Responsiveness: Concurrency enables multitasking, allowing users to interact with multiple applications simultaneously and maintain system responsiveness. Scalability: Concurrent systems can scale to handle increasing workloads by distributing tasks across multiple processing units. © ISBAT UNIVERSITY – 2023. 11/21/2024 10 Concurrency is a fundamental concept in modern computing, enabling efficient utilization of hardware resources and facilitating the development of responsive and scalable software systems. However, managing concurrency effectively requires careful design, synchronization, and coordination to avoid issues such as race conditions, deadlocks, and data inconsistencies. © ISBAT UNIVERSITY – 2023. 11/21/2024