🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Week1 - Introduction to Operating Systems (OS).pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

CIS 2903 - Operating Systems Week1 - Introduction to Operating Systems (CLO1) Saturday, September 14, 2024 Learning Objectives Upon completing this chapter, students will be able to: Define key concepts related to computer-system architecture and operating-system structure. Explain the o...

CIS 2903 - Operating Systems Week1 - Introduction to Operating Systems (CLO1) Saturday, September 14, 2024 Learning Objectives Upon completing this chapter, students will be able to: Define key concepts related to computer-system architecture and operating-system structure. Explain the operations of operating systems, including process management, memory management, and storage management. Describe security aspects such as protection, security, and kernel data structures. Understand computing environments and the role of open-source operating systems. 2 Computer-System Architecture Computer-System Architecture refers to the conceptual design and fundamental operational structure of a computer system. It includes hardware components and their relationships, data paths, and control mechanisms that ensure the system's functionality. Key elements include the CPU, memory, I/O devices, data paths, control units, storage, and interfaces/buses. 3 Computer-System Architecture Most systems use a single general-purpose processor. However, multiprocessor systems are growing in use and importance due to several advantages: Increased Throughput - tasks can be processed simultaneously, improving overall system performance. Economy of Scale - Shared resources among processors reduce costs. Increased Reliability - failure of one processor does not halt the entire system. There are two types of multiprocessor systems: Asymmetric Multiprocessing: Each processor is assigned a specific task. Symmetric Multiprocessing: Each processor performs all tasks. 4 What is an Operating System? An operating system is a program that serves as an intermediary between the user and the computer hardware. Its primary goals include: Executing User Programs - The operating system runs user applications and helps in solving user problems efficiently. Convenience - It makes the computer system easy and convenient to use by providing a user-friendly interface and managing system resources. Efficiency - The operating system ensures the computer hardware is used in the most efficient manner, optimizing performance and resource utilization. 5 Operating-System Structure Operating-System Structure refers to the organization and arrangement of the various components that make up an operating system. It defines how these components interact to manage resources and provide services. Key aspects include the Kernel, System Calls, User Interface, File System, Device Drivers, System Services, Memory Management, and Process Management. Overall, the structure defines the efficient management of hardware and software resources. 6 Operations of Operating Systems - Multiprogramming Multiprogramming is a method used by operating systems to run multiple processes simultaneously by managing the allocation of system resources. It allows the CPU to switch between tasks, ensuring that it remains busy and efficient. This approach maximizes CPU utilization and improves system throughput by: Job Scheduling Resource Management Context Switching 7 Operations of Operating Systems – Multitasking (Timesharing) Multitasking (Timesharing), is a method used by operating systems to allow multiple tasks or processes to run concurrently on a single CPU. This is achieved by rapidly switching between tasks. Key aspects of multitasking include Task Switching, Efficient Resource Utilization, User Interaction, Responsiveness, and Preemptive and Cooperative Multitasking. Multitasking enhances the performance and responsiveness of computer systems, making them more efficient and user-friendly. 8 Operations of Operating Systems – Process Management Process Management is a fundamental function of the operating system, involving the handling and scheduling of processes. Here are key concepts: Process vs. Program - A process is a program in execution, making it an active entity, whereas a program is a passive entity. Resource Requirements - To accomplish its tasks, a process needs various resources such as CPU time, memory, I/O devices, files, and initialization data. Resource Reclamation - Upon process termination, the operating system reclaims any reusable resources allocated to the process. 9 Operations of Operating Systems – Process Management Single-threaded Process Multi-threaded Process Program Counter - A single-threaded process Multiple Threads - A multi-threaded process has one program counter that specifies the contains multiple threads, each with its own location of the next instruction to execute. program counter, allowing multiple sequences of instructions to be executed concurrently. Sequential Execution - The process executes instructions sequentially, one at a time, until it completes. 10 Operations of Operating Systems – Process Management The operating system is responsible for several critical activities related to process management, including: Creating and Deleting Processes Suspending and Resuming Processes Process Synchronization Process Communication These activities ensure that processes are managed efficiently, resources are allocated properly, and system performance is optimized. 11 Operations of Operating Systems – Memory Management Role in Program Execution: To execute a program, all or part of its instructions must reside in memory. All necessary data for the program must also be present in memory. Key Memory Management Activities: Tracking Memory Usage - Keep track of which parts of memory are currently in use and by which processes. Managing Memory Allocation - Decide which processes and data to load into memory and which to swap out, ensuring efficient use of memory resources. Dynamic Allocation - Allocate and deallocate memory space as required by different processes to optimize memory usage. 12 Operations of Operating Systems – Memory Management Importance of Memory Management Efficiency - Ensures optimal use of available memory, reducing waste and improving system performance. Multitasking - Allows multiple processes to run concurrently by managing memory allocation dynamically. Stability - Prevents conflicts and errors by keeping processes isolated and managing memory access rights. 13 Operations of Operating Systems – Memory Management Memory Management Techniques Paging - Divides memory into fixed-sized pages, simplifying memory allocation and management. Segmentation - Divides memory into variable-sized segments based on logical divisions in programs. Virtual Memory - Uses disk space to extend RAM, allowing larger programs to run and increasing multitasking capabilities. 14 Operations of Operating Systems – Storage Management Introduction to Storage Management Primary Storage Holds data in memory (RAM) and other "built-in" devices such as the processor's cache. Provides fast, temporary storage for active processes. Secondary Storage Holds data on hard disks, tapes, and other devices requiring input/output operations. Provides long-term, persistent storage for data and programs. 15 Operations of Operating Systems – Storage Management Key OS Activities in Storage Management Free-Space File-System Storage Allocation Disk Scheduling Management Management Track and Allocate storage Manage the Organize files manage the space to files order in which into directories available space and directories disk I/O requests for easy access on storage as needed. are processed. and devices. Optimize storage Enhance management. Ensure efficient usage to performance by Implement use of storage by improve minimizing seek access control to keeping a record performance time and determine who of free and and reduce maximizing can access or allocated spaces. fragmentation. throughput. modify files. 16 Operations of Operating Systems – Storage Management OS Activities in File-System Management Importance of Storage Management Creating and Backup Efficiency Mapping Files Deleting Management Ensures optimal use of storage Create and Map files Backup files resources, improving system delete files onto onto stable performance. and secondary storage Data Integrity directories storage, media to to manage ensuring prevent Maintains the integrity and security data storage efficient data loss of stored data. effectively. retrieval and ensure Organization and storage. data integrity. Keeps data organized and accessible, enhancing user experience. 17 Operations of Operating Systems – Storage Management Security Aspects Protection Security Kernel Data Structures Definition: Mechanisms to Definition: Measures to Role: Manage critical control access to resources safeguard the integrity, information related to within the operating confidentiality, and security within the system. availability of information. operating system. Purpose: Ensure that Key Elements: Functions: resources (CPU, memory, Authentication: Verify User Credentials: Store files) are used only by the identity of users and user authentication and authorized users and processes. authorization processes. Authorization: Grant or information. Techniques: deny access rights to Security Policies: Define Access Control Lists authenticated users. rules and policies for (ACLs): Define who can Encryption: Protect data system access and access which resources. from unauthorized resource use. Capabilities: Assign access by converting it Audit Logs: Record specific access rights to into an unreadable security-related events users or processes. format. and access attempts for monitoring and forensic analysis. Computing Environments Traditional Computing Environments Mobile Computing Environments Client-Server Computing Environments Stand-alone Machines: General-purpose Devices: Smartphones, tablets, and Client-Server Model: Servers respond to computers used individually. handheld gadgets. requests from client machines. Web Portals: Provide access to internal Features: Enhanced OS functionalities like Compute-Server Systems: Provide systems via the internet. GPS. interfaces for services like databases. Mobile Computing: Devices interconnect Applications: Supports new app types File-Server Systems: Enable clients to using wireless networks. such as augmented reality. store and retrieve files. Leading OS: Apple iOS and Google Android. Virtualization Environments Cloud Computing Environments Real-Time Embedded Systems Function: Allows multiple OSes to run Services: Delivers computing, storage, and Definition: Systems that monitor, respond applications within other OSes. applications as services over a network. to, or control external environments. Virtual Machine Manager (VMM): Types: Public, Private, and Hybrid. Real-Time OS: Must meet fixed time Manages virtualization services. Service Models: SaaS, PaaS, and IaaS. constraints to function correctly. Emulation: Used when source and target CPU types differ (e.g., PowerPC to Intel x86). Open-Source Operating Systems Definition - Operating systems available in source-code format, allowing users to modify and distribute their own versions. Contrast - Unlike closed-source systems, which are distributed only in binary form and restrict access to the underlying code. Examples: Linux - Widely used open-source OS with various distributions (e.g., Ubuntu, Fedora). Known for its flexibility, security, and strong community support. BSD (Berkeley Software Distribution) UNIX - Includes versions like FreeBSD, OpenBSD, and the core of Mac OS X. Emphasizes security, performance, and advanced networking features. Benefits - Transparency, Community Support, Cost, and Security In-Class Activity: Memory Management Techniques Objective - Demonstrate understanding of memory management by analyzing techniques and designing a system for a specific scenario. Instructions: Scenario - Design a memory management system for a high-performance computing environment. Group Work - Form groups, analyze technique (advantages, disadvantages, suitability). Design Phase - Design the system, include allocation, management, optimization. Presentation and Feedback - Present and discuss the design. 22 References and Resources Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating system concepts (10th ed.). Wiley. https://www.youtube.com/watch?v=dpnYzKATBKA 23 Thank You

Use Quizgecko on...
Browser
Browser