Exploring Operating Systems: From Evolution to Security
EstherQuite1
17 views
34 slides
Sep 06, 2024
Slide 1 of 34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
About This Presentation
Exploring Operating Systems: From Evolution to Security
Size: 4.64 MB
Language: en
Added: Sep 06, 2024
Slides: 34 pages
Slide Content
A Comprehensive Journey Through the Functions, Types, and Management of Operating Systems Exploring Operating Systems: From Evolution to Security
Introduction to Operating Systems Functions of Operating Systems Types of Operating Systems Role of Operating Systems in Resource Management Components of Operating Systems Process Scheduling in Operating Systems File Systems and Virtualization System Calls and APIs Device Drivers and Hardware Management Memory Management in Operating Systems Operating System Configuration 01 02 03 04 05 06 07 08 09 10 11 Table of contents
z/OS and IBM i Operating Systems OpenVMS Operating System Evolution of UNIX Operating System UNIX Flavors and File Systems Origins and Development of Linux Maturity and Use of Linux Comparison of Operating Systems Failover Clustering in Operating Systems Cluster Heartbeat and Monitoring Application Recovery in Clusters N+N Clusters and Performance 12 13 14 15 16 17 18 19 20 21 22 Table of contents
Quorum Disk in Cluster Environments Cluster-Aware Applications Factors Affecting Operating System Performance Benefits of a Smaller Kernel Enhancing Operating System Security Hardening Operating Systems Implementing Host-Based Firewalls User Account Limitations and Password Security 23 24 25 26 27 28 29 30 Table of contents
Importance of Operating Systems 01 02 04 03 Exploring Operating Systems: From Evolution to Security Abstraction of Hardware Key Components of an Operating System Utilities in Operating Systems Operating systems are essential software that manage computer hardware and provide services for computer programs. They enable multiple users, processes, and applications to run on a single piece of hardware. Operating systems hide the technical complexities of the underlying hardware from the applications running on top of them. The kernel manages programs and the file system, schedules access to hardware, and prevents conflicts. Drivers connect specific hardware devices to the kernel, ensuring seamless operation. User interfaces, installation tools, logging tools, editors, system update processes, and web browsers are integral parts of an operating system. Introduction to Operating Systems 1
Enable multiple users, processes, and applications to run on a single piece of hardware. Manage a computer's internal workings, including memory, processors, and peripheral devices. Provide an abstraction layer between hardware and software applications. Handle tasks such as process management, memory management, and file locking. Offer services to applications through APIs, including file management, I/O interfaces, and hardware drivers. Exploring Operating Systems: From Evolution to Security Key Functions of an Operating System Functions of Operating Systems 2
General-purpose operating systems 01 02 03 Exploring Operating Systems: From Evolution to Security Special-purpose operating systems Real-time operating systems (RTOS) Windows macOS Ubuntu iOS Android Firewalls Intrusion detection systems Routers Phones ATM machines Guarantee tasks within a predefined time Used in critical environments like factories, power plants, and vehicles Types of Operating Systems 3
Operating systems control and manage a computer's resources, including memory, processors, and peripheral devices. They provide an abstraction layer between hardware and software applications, optimizing resource utilization. Tasks such as process management, memory management, and file locking are handled by operating systems to ensure efficient resource allocation. Operating systems offer services to applications through APIs, facilitating functions like file management, I/O interfaces, and hardware drivers. The evolution of operating systems has enabled them to support multiple users and programs simultaneously, enhancing resource management capabilities. Exploring Operating Systems: From Evolution to Security Role of Operating Systems in Resource Management Role of Operating Systems in Resource Management 4
Kernel 01 02 03 Exploring Operating Systems: From Evolution to Security Device Drivers Utilities Manages programs, file systems, and hardware access to prevent conflicts. Connect specific hardware devices to the kernel for proper functionality. Include user interfaces, installation tools, logging tools, editors, and system update processes. Components of Operating Systems Shells 04 05 Memory Management Provide user interfaces like Command-Line Interfaces (CLIs) and Graphical User Interfaces (GUIs). Allocates and de-allocates memory, manages cache, paging, and multi-core processors. 5
01 02 03 In most computer systems, multiple processes run simultaneously on a single CPU core. Simultaneous Processes on a Single CPU Core Exploring Operating Systems: From Evolution to Security Process Scheduling in Operating Systems This scheduling principle is known as preemptive multitasking. Preemptive Multitasking Operating systems create the illusion of parallel running processes by scheduling each process to run for a short time frame. Illusion of Parallel Running Processes The operating system periodically decides if a running process should be suspended in favor of another process. Process Suspension 04 6 Processes waiting for I/O are suspended until the I/O request is finished, freeing the CPU for other processes. I/O Suspension 05
File Systems in Operating Systems 01 02 03 Exploring Operating Systems: From Evolution to Security Types of File Systems Journaling File Systems File systems in operating systems virtualize the complexities of managing individual disk blocks and communication with storage devices. They consist of directories containing files or other directories, with the operating system handling file security and permissions. Various types of file systems are utilized, such as FAT, NTFS, UFS, VxFS, and Ext, each serving different purposes. Journaling file systems like NTFS, VxFS, and Ext4 track changes in a journal log to ensure data integrity and facilitate quick recovery in case of malfunctions. File Systems and Virtualization Mounting File Systems 04 05 File Sharing Functionality File systems need to be mounted by the operating system before they can be accessed, typically assigned a drive letter or mount point for recognition. Operating systems provide file sharing functionality, enabling access to files on one system by users on other systems, enhancing collaboration and data accessibility. 7
System calls are interfaces provided by the operating system that allow applications to request services from the operating system. APIs (Application Programming Interfaces) are sets of rules and protocols that allow one software application to interact with another, facilitating the use of system calls. System calls and APIs play a crucial role in enabling communication between software applications and the operating system, providing access to various functionalities and resources. Developers utilize system calls and APIs to perform tasks such as file operations, process management, memory allocation, and network communication within their applications. Understanding system calls and APIs is essential for software development, as they form the bridge between applications and the underlying operating system services. Exploring Operating Systems: From Evolution to Security System Calls and APIs System Calls and APIs 8
Exploring Operating Systems: From Evolution to Security Device Drivers 01 02 Hardware Management in Operating Systems Device Drivers and Hardware Management Device drivers are small applications that connect specific hardware devices, like printers or network cards, to the operating system. Device drivers play a crucial role in enabling communication between the operating system and hardware components, ensuring proper functionality. Hardware management in operating systems involves the kernel scheduling access to hardware to prevent conflicts when multiple programs try to access the same resource simultaneously. Efficient hardware management by the operating system enhances system stability and performance by coordinating the interaction between software applications and hardware devices. 9
Memory management in operating systems involves the allocation and de-allocation of memory to applications. Modern operating systems handle tasks like cache management, paging, and managing multi-core processors. Memory management units (MMUs) play a crucial role in managing memory efficiently in operating systems. Operating systems also utilize Direct Memory Access (DMA) for efficient data transfers. Despite the growth in memory capacity, programs tend to utilize all available memory, impacting system performance. Exploring Operating Systems: From Evolution to Security Memory Management in Operating Systems Memory Management in Operating Systems 10
Operating System Configuration Configuration of an operating system is stored in an operating-system specific database or in text files. Windows environments utilize the Windows registry for configuration settings. UNIX and Linux systems rely on text-based configuration files typically stored in the /etc directory. Configuration files in UNIX and Linux are organized by functionality, with separate files for different system aspects like DNS or host information. User-friendly tools are provided for editing configuration files in UNIX and Linux systems. Exploring Operating Systems: From Evolution to Security Operating System Configuration 11
z/OS Overview 01 02 03 Exploring Operating Systems: From Evolution to Security IBM i (OS/400) Overview IBM's Commitment z/OS is a mainframe operating system developed by IBM, known for extreme backward compatibility with programs written for MVS in 1974 still running on today's z/OS without modification. z/OS is primarily used for batch processing but can also support thousands of interactive users simultaneously. IBM i (OS/400) is an operating system used exclusively on IBM's midrange Power Systems, offering features like built-in communications, transaction processing, system security, and a relational database manager. IBM i evolved from IBM's minicomputers, with the OS/400 operating system designed for AS/400 midrange systems, emphasizing ease of use for users. Both z/OS and IBM i showcase IBM's commitment to providing robust and specialized operating systems for mainframes and midrange systems. z/OS and IBM i Operating Systems 12
Developed by Digital Equipment Corporation (DEC) in the 1970s. Known for its reliability, security features, and scalability. Initially designed for VAX minicomputers and later expanded to Alpha and Itanium platforms. Notable for its clustering capabilities, allowing multiple systems to work together seamlessly. Used in industries requiring high availability and robust performance, such as finance and healthcare. Exploring Operating Systems: From Evolution to Security OpenVMS Operating System OpenVMS Operating System 13
Creation and Early Development 01 02 04 03 Exploring Operating Systems: From Evolution to Security Adoption and Adaptation Ownership Changes Key Features Created by AT&T in 1969 at Bell Labs. Initially written in PDP assembler, later rewritten in C programming language for portability. UNIX versions adapted by various computer manufacturers like Sun Microsystems and Hewlett-Packard. AT&T sold UNIX System Laboratories to Novell in 1993, transferring UNIX trademark to The Open Group. Known for hierarchical file system. Small tools for specific tasks. Pipes for command combination. Evolution of UNIX Operating System 14
Different flavors of UNIX 01 02 03 Exploring Operating Systems: From Evolution to Security Application Compatibility Hierarchical File System Specific hardware requirements. Applications running on a particular UNIX flavor cannot run on another without recompiling. Popularized by UNIX with nested subdirectories. UNIX Flavors and File Systems Small Tools 04 05 Pipes UNIX uses a large set of small tools that do specific tasks efficiently. UNIX utilizes pipes for combining commands without storing intermediate results. 15
Independent Development Linux was developed independently by a group of developers, not derived from the UNIX source code. Creation by Linus Torvalds Linus Torvalds created Linux as a free operating system inspired by MINIX. Linux Kernel and GNU Project Linux is a kernel, with the GNU project providing applications and tools to create a complete operating system. GNU Project Initiation The GNU project, initiated by Richard Stallman in 1984, aimed to develop a free UNIX-like operating system. GNU General Public License Linux and GNU tools are licensed under the GNU General Public License, ensuring free access to the source code for all users. Exploring Operating Systems: From Evolution to Security Origins and Development of Linux 16
Linux as a Mature Operating System 01 02 04 03 Exploring Operating Systems: From Evolution to Security Similarities with UNIX Professional Support Design Derived from UNIX Used in servers, workstations, mobile devices, and appliances. Widely adopted in various devices, including all Android smartphones and supercomputers. Shares commands, file structure, and scripting language with UNIX. User-friendly for UNIX systems managers. Available through companies like Red Hat and Novell. Offers distribution and support contracts. Allows for easier porting of systems from UNIX to Linux. More compatible compared to other operating systems. Maturity and Use of Linux 17
Windows 01 02 03 Exploring Operating Systems: From Evolution to Security Linux macOS Known for its widespread use on personal computers and servers Various versions like Windows 10 and Windows Server 2019 Highly versatile Used in servers, workstations, mobile devices, and even supercomputers Open-source nature Apple's proprietary operating system Designed for their laptops and desktops Known for its user-friendly interface Comparison of Operating Systems UNIX 04 05 z/OS A powerful and stable operating system Has influenced the design of Linux Various flavors like Solaris and FreeBSD IBM's mainframe operating system Evolved from OS/360 Known for its reliability and use in critical environments 18
Failover Clustering Overview 01 02 03 Exploring Operating Systems: From Evolution to Security Cluster Software Control Application Management in Clusters Failover clustering is a method used to enhance the availability of an operating system. It involves a group of independent servers running identical operating systems connected via a network. These servers are controlled by cluster software running on the nodes. Examples of cluster software products include Parallel Sysplex, HACMP, MC/Service Guard, Windows Cluster Service, Heartbeat, and Pacemaker. A failover cluster manages applications by grouping them into resource pools or application packages. These packages contain essential components like application name, start and stop scripts, monitor script, virtual IP address, and mount points for storage. Failover Clustering in Operating Systems 19
Cluster heartbeat refers to the communication signal between nodes in a failover cluster. It ensures continuous monitoring of the health and status of each node in the cluster. Monitoring involves tracking the availability and performance of cluster resources. Heartbeat signals are crucial for detecting failures and triggering failover processes. Effective monitoring tools provide real-time insights into cluster operations. Exploring Operating Systems: From Evolution to Security Cluster Heartbeat and Monitoring Cluster Heartbeat and Monitoring 20
Implementing Failover Clustering 01 02 03 Exploring Operating Systems: From Evolution to Security Cluster Software Managing Applications High availability in clusters Parallel Sysplex HACMP MC/Service Guard Windows Cluster Service Heartbeat Resource pools Application packages Application Recovery in Clusters Components of a Resource Pool 04 05 Ensuring High Availability Application name Start and stop scripts Monitor script Virtual IP address Mount points for storage Monitoring application status Initiating restarts or failovers 21
N+N Clusters in Operating Systems Exploring Operating Systems: From Evolution to Security Failover Mechanism Workload Distribution Performance Gains Involve a group of independent servers running identical operating systems connected via a network. Controlled by cluster software to enhance performance and availability. Ensures that applications can seamlessly failover to another server in case of hardware or software issues. Designed to distribute workloads efficiently across multiple servers, improving overall system performance. Achieved through load balancing and redundancy, ensuring continuous operation even if one server fails. N+N Clusters and Performance 22
Quorum disk is a shared disk in a cluster environment. It helps in achieving a majority vote in cluster decision-making processes. The quorum disk ensures cluster integrity and prevents split-brain scenarios. It plays a crucial role in maintaining cluster stability and high availability. The quorum disk is essential for cluster failover and resource management. Exploring Operating Systems: From Evolution to Security Quorum Disk in Cluster Environment Quorum Disk in Cluster Environments 23
Cluster-Aware Applications Cluster-aware applications are designed to operate within a clustered environment. These applications are aware of the cluster's configuration and can leverage its resources efficiently. They can detect changes in the cluster's state and adjust their behavior accordingly. Cluster-aware applications enhance system reliability and performance by utilizing failover capabilities. These applications can seamlessly transition between cluster nodes to ensure continuous operation. Exploring Operating Systems: From Evolution to Security Cluster-Aware Applications 24
Memory Management 01 02 03 Exploring Operating Systems: From Evolution to Security Process Scheduling File System Efficiency Efficient allocation and de-allocation of memory impact overall system performance. Proper scheduling of processes ensures optimal CPU utilization and responsiveness. Well-organized file systems contribute to faster data access and retrieval. Factors Affecting Operating System Performance Device Driver Optimization 04 05 Kernel Efficiency Well-designed drivers enhance hardware performance and compatibility. A streamlined kernel reduces overhead and improves system responsiveness. 25
Reduced Complexity: A smaller kernel leads to a simpler and more manageable operating system structure. Improved Performance: With fewer components to load and manage, a smaller kernel can enhance system performance. Enhanced Security: Minimizing the kernel size can reduce the attack surface, making the system more secure. Better Stability: A streamlined kernel can result in increased system stability and reliability. Easier Maintenance: Smaller kernels are often easier to maintain and update, leading to smoother operations. Exploring Operating Systems: From Evolution to Security Benefits of a Smaller Kernel Benefits of a Smaller Kernel 26
Patching Exploring Operating Systems: From Evolution to Security Hardening Virus Scanning Host-Based Firewalls Regularly apply patches, hot-fixes, and service packs provided by operating system vendors to fix bugs, security holes, and enhance system performance. Configure the operating system to protect against security threats by stripping down unnecessary services, disabling unused accounts, and applying all relevant security updates. Install a virus scanner on vulnerable operating systems like Windows and Linux, configuring it to scan high-risk files and directories to prevent malware infections. Utilize built-in host-based firewalls in operating systems like Windows, Linux, and UNIX to add an extra layer of security, protecting individual hosts from unwanted network traffic. Enhancing Operating System Security 27
Hardening an operating system involves configuring it step-by-step to enhance security. Step 1: Introduction to Hardening Exploring Operating Systems: From Evolution to Security Hardening Operating Systems Applying patches, hot-fixes, and service packs is crucial to keep the system secure and up-to-date. Step 3: Applying Updates This process includes stripping down unnecessary services and processes to minimize vulnerabilities. Step 2: Minimizing Vulnerabilities Utilizing a hardened operating system configuration template ensures consistency and optimal security across deployments. Step 4: Using Configuration Templates 28 Virus scanning is essential for vulnerable operating systems like Windows, Linux, and end-user systems to detect and prevent malware. Configuring virus scanners to scan high-risk files only can improve system performance and security. Step 5: Virus Scanning
Host-Based Firewalls are software applications or hardware devices that monitor and control incoming and outgoing network traffic based on predetermined security rules. They act as a barrier between a trusted internal network and untrusted external networks, filtering traffic to prevent unauthorized access and protect against cyber threats. Host-Based Firewalls provide an additional layer of defense by inspecting network packets at the application layer, offering granular control over individual applications and processes. These firewalls can be configured to block or allow specific network traffic based on defined rules, enhancing the security posture of the host system. Implementing Host-Based Firewalls is crucial for safeguarding sensitive data, preventing unauthorized access, and mitigating potential security breaches. Exploring Operating Systems: From Evolution to Security Host-Based Firewalls Implementing Host-Based Firewalls 29
Implement User Account Limitations Exploring Operating Systems: From Evolution to Security Enforce Strong Password Security Policies Utilize Multi-Factor Authentication Restrict access to sensitive information Restrict access to system settings Regular password updates Complexity requirements Add an extra layer of security to user accounts 30 User Account Limitations and Password Security Monitor and Log User Account Activities Conduct Regular Security Audits Detect any unauthorized access attempts Identify potential vulnerabilities Address potential vulnerabilities in user account management