OS Quiz Notes.pdf
Document Details
Uploaded by SharperGenius338
Polytechnic University of the Philippines
Tags
Full Transcript
WEEK 1 WHAT IS A COMPUTER SYSTEM? A computer system is a collection of complete and functional hardware and software setups with everything needed to implement computer performance. It is designed to receive, process, manage, store, and present the information in an understandable format. COMPONE...
WEEK 1 WHAT IS A COMPUTER SYSTEM? A computer system is a collection of complete and functional hardware and software setups with everything needed to implement computer performance. It is designed to receive, process, manage, store, and present the information in an understandable format. COMPONENTS OF COMPUYER SYSTEM 1. Computer Software – it refers to a programs or applications (intangible parts of a computer) used to direct the operation of a computer, as well as documentation giving instructions on how to use them. TYPES OF SOFTWARES: System Software – it is a set of programs that controls operations of the computer and its devices. Application Software – it is a set of programs that performs specific tasks for users. 2. Computer Hardware – it refers to the physical or tangible parts of a computer, such as the input devices, output devices, storage devices, CPU, etc. WHAT IS AN OPERATING SYSTEM? An operating system (OS) is a set of one or more programs that provides a set of services that serves as an interface between users, the application software, and the computer hardware, and which allocates and manages resources shared among multiple processes. It is a part of a computer system (system software); it also manages all hardware and software. It controls every file, device, section of main memory, and nanosecond of processing time; controls who can use the system; and controls how the system is used. OS is a resource allocator Manages all resources Decides between conflicting requests for efficient and fair resource use OS is a control program Controls execution of programs to prevent errors and improper use of the computer. “The one program running at all times on the computer” is called the kernel. WHAT IS A KERNEL? A kernel is the central/core component of OS that resides in the main memory (protected Kernel space) at all times where it performs the most essential operating tasks, and it is protected hardware from user tampering. It has full control over everything in the system. Each operation of hardware and software is managed and administrated by the kernel. PURPOSE OF KERNEL It provides the interfaces needed for users and applications to interact with the computer. It launches and manages applications It manages the underlying system hardware devices. TWO (2) RELATED GOALS OF OS 1. Convenience – Operating System mainly developed to make the use of computer easier. 2. Efficiency – Operating System should ensure that the computer resources are managed properly. COMPONENTS OF OPERATINGS SYSTEM Essential subsystem managers: Command Interpreter System (User Interface) Memory Manager Processor Manager I/O Device Manager File Manager Secondary Storage Manager Network Manager Security Manager Each manager: Works closely with other managers Performs a unique role Manager tasks: Monitor its resources continuously Enforce policies determining: Who gets what, when, and how much Allocate the resource (when appropriate) Deallocate the resource (when appropriate) COMMAN INTERPRETER SYSTEM | USER COMMAND INTERFACE/UI Provides user communication user issues commands to operating system Unique to each operating system may vary between versions Essential managers provide support MAIN MEMORY MANAGEMENT In charge of main memory Random Access Memory (RAM) Responsibilities include: Preserving space in main memory occupied by operating system Checking validity and legality of memory space request Setting up memory tracking table ✓ Tracks usage of memory by sections ✓ Needed in multiuser environment Deallocating memory to reclaim PROCESSOR MANAGEMENT In charge of allocating the Central Processing Unit (CPU) Tracks process status An instance of program execution Two levels of responsibility: Handle jobs as they enter the system Handled by Job Scheduler Manage each process within those jobs Handled by Process Scheduler I/O DEVICE MANAGEMENT ▪ In charge of monitoring all resources Devices, channels, and control units ▪ Responsibilities include: Choosing most efficient resource allocation method Printers, ports, disk drives, etc. Based on scheduling policy ▪ Allocating the device ▪ Starting the device operation ▪ Deallocating the device FILE MANAGEMENT In charge of tracking every file in the system Data files, program files, compilers, application programs Responsibilities include: Enforcing user/program resource access restrictions ✓ Uses predetermined access policies Controlling user/program modification restrictions ✓ Read-only, read-write, create, delete Allocating resource ✓ Opening the file ✓ Deallocating file (by closing it) SECONDARY-STORAGE MANAGER In charge to store files permanently. Responsibilities include: Storage allocation Free space management Disk scheduling NETWORK MANAGEMENT In charge of monitoring the network Operating systems with networking capability Convenient way for users to share resources Retains user access control Resources include: Hardware (CPUs, memory areas, printers, tape drives, modems, and disk drives) Software (compilers, application programs, and data files) SECURITY MANAGEMENT In charge of securing all the activities in the computer system. To control and protect the access of programs, process, or other resources defined by the computer control. COOPERATION ISSUES Essential manager: Perform individual tasks and Harmoniously interact with other managers Requires incredible precision No single manager performs tasks in isolation WEEK 2 Introduction The evolution of operating systems continues to evolve in response to advancements in technology and to meet the demands of modern computing environments. TYPES OF OPERATING SYSTEMS ❖ Batch ❖ Multiprogramming ❖ Time-Sharing ❖ Multiprocessing ❖ Network ❖ Distributed ❖ Real time ❖ Embedded ❖ Mobile 1. BATCH OPERATING SYSTEM (BOS) - a type of operating system that processes task in batches, meaning multiple jobs are grouped and submitted together and executed sequentially one after another. - 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 submits it to the computer operator. Advantages: Improved Resource Utilization Reduced Overhead Cost-Effectiveness Disadvantages: Limited User Interaction Turnaround Time Error Handling 2. MULTIPROGRAMMING OPERATING SYSTEM – an operating system that allows multiple programs to run concurrently on a single processor. This means that even though the CPU can only execute one instruction at a time, the operating system manages the programs efficiently, creating the illusion that they are all running simultaneously. Core functionalities Multiple Programs Loaded in Main Memory CCPU Scheduling Context Switching Benefits Increased Resource Utilization Improved User Experience Efficient Handling of I/O Operations 3. TIME-SHARING OPERATING SYSTEM – permits the simultaneous use of the same system resources, including the CPU, memory, and peripherals, by several users or processes. It makes it possible for every user or process to appear as though they have exclusive access to the system while efficiently sharing resources in a time sliced fashion. 4. MULTIPROCESSING OPERATING SYSTEM – where parallel computing is reached where there are multiple processors (CPUs) present in the system to run or execute more than one program or process at the same time. It can boost the performance of computer systems. Symmetric Multiprocessing (SMP) Identical Processors Shared Resources Simple Management Asymmetric Multiprocessing (ASMP) Specialized Processors Dedicated Resources Complex Management 5. NETWORK OPERATING SYSTEM – is a specialized operating system designed to manage and facilitate communication and coordination between multiple computers or devices on a network. Unlike traditional standalone operating systems that focus on managing a single computer’s resources, a network operating system extends its capabilities to address the unique requirements of networked environments. Functionalities File Sharing Print Sharing Device Management Security Remote Access Centralized Management 6. DISTRIBUTED OPERATING SYSTEM – takes the concept of managing resources and processes that is designed for environments where multiple independent computers, geographically dispersed or not, work together as a singly system. These computers, also known as nodes, communicate and cooperate to provide services and functionalities to users. Benefits Scalability Improved Resource Utilization Fault Tolerance Geographical Distribution 7. REAL TIME OPERATING SYSTEM – is a specialized operating system that is designed to respond to events in a predictable and timely manner. Types of Real-Time Operating Systems a) Hard Real-Time OS – it guarantee the execution of tasks within strict deadlines. b) Soft Real-Time OS – aims to respond to events within a reasonable timeframe, but there’s no guarantee. 8. EMBEDDED OPERATING SYSTEM – is a specialized operating system that is specifically designed to operate within a specific system. These operating systems are intended to function on specialized hardware, such as digital home assistants, ATMs, aircraft systems, and internet of things (IoT) gadgets. 9. MOBILE OPERATING SYSTEM - is specifically designed for smartphones, tablets, wearable devices, and other portable devices. Like Android, iOS, HarmonyOS (developed by Huawei), Tizen (developed by Samsung), etc. EVOLUTION OF OPERATING SYSTEMS Operating System Development Significant advancements of OS development: Resource Management Multitasking and Time Sharing User Interface and User Experience Networking and Internet Scalability and Performance Portability Virtualization Security Energy efficiency Mobile Computing Early Systems (1940s to Early 1950s): Serial Processing There were no operating systems in the early computers. The earliest computers, like the ENIAC, lacked operating systems altogether. Users directly interacted with the hardware using complex machine code instructions. Programming was cumbersome and error-prone. Batch Processing Systems (1955 – 1965) The introduction of the first operating system (OS), GMOS (General Motos Operating System), developed IBM 701 computers, marked a significant shift. The development of General Motors and North American Aviation (GM-NAA I/O) was developed by Robert L. Patrick of General Motors for use on their IBM 704 mainframe. It was considered the first operating system used for real work. Batch processing emerged, allowing users to submit jobs on punch cards, which were processed sequentially. This improved efficiency by utilizing the CPU’s time more effectively. The operating system could only be used on the particular machine it was designed for. The goal of operating systems in the early 1960s was to improve throughput. Machines were expensive, and it was important to find ways of utilizing every possible second of CPU time. The Burroughs Corporations developed the MCP (Master Control Program) for their B5000 mainframe. MCP is still in use today by the Unisys ClearPath/MCP machines. Multiprogramming and Time-Sharing (1965 – 1980) Multiprogramming enabled the execution of multiple programs concurrently, improving CPU utilization. Time-sharing further advanced resource management by allowing multiple users to share the CPU’s time, creating the illusion of simultaneous execution for each user. Faster CPUs Database management software Programs started using English-like words, modular structures, and standard operations In 1966, IBM introduced DOS/360 In 1969, a new operating system called UNIX was developed at Bell Labs by programmers Ken Thompson, Dennis Ritchie, Douglas Mcllroy, and Joe Ossanna. It was designed to be a portable OS. In 1973, Control Program/Monitor (CP/M) developed by Greg Kildall, and it was compatible with different hardware. In 1977, Berkeley Software Distribution (BSD) developed by University of California, Berkeley. It was a variant of UNIX. Personal Computers and GUIs (1980 – 1990) Personal computers (PCs) became prevalent, requiring user-friendly interfaces. Graphical User Interfaces (GUIs) with windows, icons, and menus emerged, simplifying interaction for non-technical users. More flexible hardware (firmware – is a word used to indicate that a program is permanently held in ROM) Cost/performance ration improvement of computer components Multiprocessing Operating Systems Allowed parallel program execution Evolution of high-speed communications Popularized of Real-Time OS (RTOS) in 1981, MS-DOS was developed by Microsoft for the IBM PC’s. it was the first widely available operating system for home users. And in 1985, Microsoft Windows was released, which popularized the operating system even more. In 1982, SunOS was developed by Sun Microsystems, a very popular Unix variant. In 1984, MacOS was developed by Apple Computer, Inc for Macintosh home PC. In 1987, OS/2 was developed by IBM and Microsoft. Networked and Distributed Systems (1990s – Present) In 1990’s, demand for Internet capability Sparked proliferation of networking capability Increased networking Increased tighter security demands to protect hardware and software Multimedia applications Demanding additional power, flexibility, and device compatibility for most operating systems. Modern Trends (Present Day onwards) Mobile operating systems like Android and iOS revolutionized computing on smartphones and tablets. Virtualization where single server supports different operating systems. Cloud Computing platforms like Google Cloud and Amazon Web Services provide access to on- demand computing resources, shifting the focus from single-device OS to distributed systems. Operating System Future Development ✓ Artificial Intelligence (AI) ✓ Increased Security and Privacy ✓ Optimized Edge Computing and IoT ✓ Quantum Computing Support ✓ Virtual Reality (VR), Augmented reality (AR), and Mixed reality (MR) ✓ Human-Centric and Cognitive Computing (Brain-Computer Interfaces, Emotionally Intelligent Systems) ✓ Self-Healing Systems