AY2024 Sem2 C0001F L03 Software Lesson Notes

Page 1: Introduction to Operating Systems

  • Modern computing revolves around operating systems (OS).

  • Operating systems are essential software that facilitate interaction between hardware and applications.

  • Used in various devices from desktop computers to smartphones, they enhance digital experiences.

  • Acknowledged as the “unsung heroes” of computing.

Page 2: Lesson Outcomes

  1. Differences Between System Software and Application Software

  2. Functions of an Operating System

    • Ways operating systems can enhance processing efficiency.

  3. Comparison of Commonly Used Operating Systems

Page 3: Differences Between System and Application Software

  • System software operates at a low level, managing hardware and system resources.

  • Application software is focused on user tasks, such as document editing or web browsing.

Page 4: Types of Software

  • System Software: Microsoft Windows, Linux, MacOS.

  • Application Software: Examples include Gmail, McAfee.

Page 5: System Software Overview

  • Definition: Provides direct control and management of hardware components.

  • Hardware Interface: Acts as a bridge between hardware and application software.

  • System Configuration: Allows the customization of computer settings.

Page 6: Types of System Software

  1. Operating Systems: Manage hardware/software resources and provide platforms for applications.

  2. Device Drivers: Enable communication between the OS and hardware components.

  3. Utilities: Perform maintenance and optimization tasks.

  4. Firmware: Low-level software embedded in hardware for basic control functions.

Page 7: Functions of System Software

  • Resource Management: Efficient allocation of hardware/software resources.

  • Hardware Abstraction: Provides a consistent interface to hardware.

  • Process Control: Manages scheduling and execution of processes.

  • Memory Management: Handles allocation and deallocation of memory.

Page 8: Application Software Overview

  • Designed to perform specific tasks for users, distinct from system software.

  • Examples include word processing, data analysis, and gaming.

Page 9: Functions of Application Software

  • Productivity: Facilitates specific tasks to enhance productivity (e.g., word processors, spreadsheets).

  • Entertainment: Games and multimedia applications provide leisure experiences.

  • Communication: Enables interaction through messaging and conferencing tools.

  • Data Management: Tools for organizing and analyzing data (e.g., CRM applications).

Page 10: Examples of Application Software

  • Word Processors: Microsoft Word, Google Docs.

  • Spreadsheets: Excel, Google Sheets.

  • Web Browsers: Chrome, Firefox.

Page 11: Comparison of System and Application Software

  • System software: foundational software managing hardware resources.

  • Application software: designed for specific user tasks, enabling distinct functionalities.

  • Efficiency in the computer ecosystem is achieved through this division.

Page 12: Team Activity 1 - Application Software

  • Pair programming activity to discuss examples of application software for study and leisure.

  • Roles: "Driver" posts to the Class Padlet, "Navigator" confirms the answers.

Page 13: Functions of Operating Systems

  • Discusses how operating systems enhance processing efficiency.

Page 14: Overview of Operating Systems

  • OS manage and coordinate computer components for reliable operation.

Page 15: Overview Video

  • A brief visual overview of operating systems (1:30 min).

Page 16: Overview of Operating Systems (continued)

  • Types of Operating Systems: Desktop, Mobile, etc.

  • Examples: iOS, Windows 10, Android.

Page 17: Functions of an Operating System

  • Process Management: Scheduling, executing, and terminating processes.

  • Memory Management: Allocates and manages memory resources.

  • File Management: Organizes files and directories for user access.

  • Input/Output Management: Coordinates data flow between devices.

Page 18: Process Management in Operating Systems

  • Process Creation: Management and allocation of resources.

  • Process Scheduling: Determines execution order.

  • Process Isolation: Prevents interference among processes.

  • Inter-Process Communication: Enables data sharing between processes.

Page 19: Memory Management in Operating Systems

  1. Memory Allocation: Managing physical memory efficiently.

  2. Memory Virtualization: Allows access to more memory than physically available.

  3. Paging and Segmentation: Memory division techniques for efficient management.

Page 20: File Management in Operating Systems

  1. File Manipulation: Actions like creating, reading, and writing files.

  2. File Organization: Arranging files into directories for easy access.

  3. File Permissions: Access control for users.

Page 21: Input/Output Management in Operating Systems

  1. Device Drivers: Standardized interfaces for hardware.

  2. Buffering: Temporary storage for managing transfer rates.

  3. Spooling: Queuing jobs for efficient processing.

  4. Error Handling: Detecting and recovering from I/O errors.

Page 22: Team Activity 2 - Operating Systems

  • Discussion on OS functions and examples of associated applications.

Page 23: Compare Commonly Used Operating Systems

  • Identification of common operating systems used across different platforms.

Page 24: Commonly Used Desktop Operating Systems

  1. Windows 11: Modern interface, advanced security.

  2. macOS: Intuitive design, Apple hardware integration.

  3. Ubuntu: User-friendly Linux distribution.

Page 25: Commonly Used Mobile Operating Systems

  1. Android: Most widely used mobile OS.

  2. iOS: Apple’s OS for smartphones and tablets.

  3. Windows Mobile: Familiar interface for certain devices.

  4. Linux-based OS: Examples include Tizen, Sailfish OS.

Page 26: Commonly Used Server Operating Systems

  1. Windows Server: Enterprise-level features and security.

  2. Linux Server: Customizable and stable for server tasks.

  3. Unix Server: Reliable multi-user server OS.

  4. macOS Server: User-friendly features for businesses.

Page 27: Embedded Operating Systems

  • Definition: Run on specialized hardware such as appliances or IoT devices.

  • Features: Prioritize real-time performance and low power consumption.

  • Examples: FreeRTOS, VxWorks.

Page 28: Operating Systems for Gaming Consoles

  • Optimized for graphics rendering and low-latency processing.

  • Provides a user-friendly, controller-centric interface.

Page 29: Operating Systems for Networking Devices

  1. Router OS: Manages networking tasks for efficient routing.

  2. Switch OS: Handles data forwarding in switches.

  3. Firewall OS: Provides robust network security features.

  4. Wireless OS: Manages protocols for wireless networks.

Page 30: Operating Systems for Industrial Automation

  • Manage and monitor production processes, ensuring quality and efficiency.

Page 31: Operating Systems for Medical Devices

  • Require low-latency performance and robust security for patient safety.

Page 32: Operating Systems for Automotive Systems

  • Must provide real-time performance and fault tolerance for safety features.

Page 33: Operating Systems for Aerospace Applications

  • Critical for managing flight control and satellite communications.

Page 34: Operating Systems for Home Automation

  • Ensure seamless integration of smart devices and prioritize user-friendly interfaces.

Page 35: Operating Systems for Wearable Devices

  • Optimized for small screens and low power consumption, focusing on activity tracking.

Page 36: Operating Systems for Internet of Things (IoT)

  • Efficiently manage resources, providing real-time responsiveness and robust security.

Page 37: Team Activity 3 - Operating Systems

  • Pair programming activity for discussing assigned operating systems topics.

Page 38: Conclusion

  • Without operating systems, modern technology would not function as we know it.

  • They are crucial for driving innovation, productivity, and convenience.