0% found this document useful (0 votes)
10 views52 pages

Operating Systems 2

The document provides a comprehensive overview of operating systems (OS), detailing their definition, functions, types, and popular examples. It covers key functions such as process, memory, file system, and device management, as well as user interface options like CLI, GUI, and NUI. Additionally, it discusses various OS types based on processing capabilities and architecture, along with a bibliography for further study.

Uploaded by

r9jyjczvqj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views52 pages

Operating Systems 2

The document provides a comprehensive overview of operating systems (OS), detailing their definition, functions, types, and popular examples. It covers key functions such as process, memory, file system, and device management, as well as user interface options like CLI, GUI, and NUI. Additionally, it discusses various OS types based on processing capabilities and architecture, along with a bibliography for further study.

Uploaded by

r9jyjczvqj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 52

BITH101/BSIT101 FUNDAMENTALS

OF INFORMATION TECHNOLOGY
3. OPERATING SYSTEMS
3.1 Introduction to OS
3.2 Functions of Operating Systems
3.3 Types of Operating Systems
3.4 Overview of Popular Operating Systems
3.5 User Interfaces
Introduction to Operating
Systems

An operating system (OS) is system software that
manages computer hardware, software resources,
and provides common services for computer
programs.

It acts as an intermediary between users and the
computer hardware, making it possible for users to
interact with the computer system in a convenient
and efficient manner.
Definition and Purpose

Definition: An operating system is a collection of
software that manages computer hardware resources
and provides common services for computer programs.

Primary Purpose: To provide an environment in which
a user can execute programs in a convenient and
efficient manner.

Historical Context: Early computers had no operating
systems; programmers interacted directly with the
hardware through machine language.
Functions of Operating Systems

Operating systems perform several crucial
functions to manage hardware resources effectively
and provide a user-friendly environment.
Process Management

Process Creation and Termination: Starting and ending
programs

Process Scheduling: Determining which processes run when

Process Synchronization: Coordinating processes that share
resources

Inter-Process Communication (IPC): Allowing processes
to exchange information

Deadlock Handling: Preventing or resolving situations
where processes are waiting indefinitely
Memory Management

Memory Allocation and Deallocation: Assigning memory to
processes when needed and reclaiming it when finished

Virtual Memory: Creating the illusion of more physical
memory using disk space

Address Translation: Converting virtual addresses to physical
addresses

Memory Protection: Ensuring processes only access their
allocated memory

Swapping: Moving processes between main memory and
secondary storage
File System Management

File Creation and Deletion: Managing file lifecycle

Directory Management: Organising files in a
hierarchical structure

File Access Control: Enforcing permissions and security

File Manipulation: Reading, writing, and modifying files

Backup and Recovery: Protecting against data loss
Device Management

Device Drivers: Software interfaces to hardware devices

Device Allocation: Managing which process can use a
device

Spooling: Buffering data for devices like printers

Device Communication: Transferring data between
devices and the system

Performance Optimisation: Efficient use of I/O devices
User Interface Provision

The operating system is responsible for providing a
platform of interaction between the user and the
computer system
Security and Protection

User Authentication: Verifying user identities

Authorisation: Determining what resources users
can access

Encryption: Protecting data confidentiality

Auditing: Tracking system activities

Malware Protection: Defending against viruses
and other threats
Types of Operating Systems

Operating systems can be categorised based on
various characteristics such as processing
capabilities, user interaction, and design
philosophy.
Based on Processing Capabilities
1. Single-User, Single-Tasking OS

Designed for one user running one program at a
time

Simple design and resource management

Example: Early MS-DOS
Single-User, Multi-Tasking OS

Allows one user to run multiple programs
simultaneously

Time-sharing between different applications

Examples: Windows, macOS
Multi-User OS

Supports multiple users accessing the system
simultaneously

Requires complex resource allocation and security

Examples: UNIX, Linux, mainframe OS
Distributed OS

Manages a group of distinct computers, making
them appear as a single computer

Shares computational power and resources across
multiple machines

Examples: Amoeba, Mach
Network OS

Specialised for managing network resources

Provides services across a computer network

Examples: Novell NetWare, Windows Server
Real-Time OS (RTOS)

Designed for time-critical applications

Guarantees response within specific time constraints
Types:

Hard Real-Time: Absolute deadlines that cannot be
missed

Soft Real-Time: Can tolerate some missed deadlines

Examples: VxWorks, QNX, RTLinux
Based on User Interface
Command Line Interface (CLI) OS

Text-based interface where users type commands

Efficient for experienced users and scripting

Examples: UNIX shell, MS-DOS
Graphical User Interface (GUI)
OS

Visual interface with windows, icons, menus, and
pointers

More intuitive for beginners

Examples: Windows, macOS, most modern Linux
distributions
Natural User Interface (NUI) OS

Based on human abilities like touch, speech,
gestures

Minimises the learning curve

Examples: iOS, Android, Windows with
touch/voice capabilities
Based on Architecture
Monolithic OS

All OS services operate in kernel space

Fast performance but less modular

Examples: Traditional UNIX, Linux kernel
Microkernel OS

Minimal kernel with basic functions

Most services run in user space

More stable but potentially slower

Examples: MINIX, QNX
Hybrid OS

Combines monolithic and microkernel approaches

Balances performance and modularity

Examples: Windows NT architecture,
macOS/Darwin
Exokernel OS

Provides minimal hardware protection

Allows applications direct control of resources

Research-oriented design
Virtual Machine OS

Creates multiple virtual machines on single
hardware

Each VM can run its own operating system

Examples: VMware ESXi, Microsoft Hyper-V
Overview of Popular Operating
Systems

A. Desktop/Laptop Operating Systems

Microsoft Windows

History: Evolved from MS-DOS to Windows 1.0 (1985) to
Windows 11 (2021)

Architecture: Hybrid kernel architecture

Market Position: Dominant desktop OS with ~75% market share

Strengths: Software compatibility, gaming support, corporate
adoption

Weaknesses: Security concerns, resource requirements
macOS

History: Based on Unix, released as Mac OS X in 2001,
rebranded as macOS in 2016

Architecture: Hybrid kernel (XNU) based on Mach and BSD

Market Position: ~15% desktop market share, exclusive to
Apple hardware

Strengths: User interface design, stability, security,
integration with Apple ecosystem

Weaknesses: Limited hardware compatibility, higher cost of
entry
Linux Distributions

History: Created by Linus Torvalds in 1991, developed by open-source
community

Architecture: Monolithic kernel

Market Position: ~2-3% desktop market share, dominant in servers

Common Distributions:
Ubuntu: User-friendly, general-purpose
Fedora: Cutting-edge features, sponsored by Red Hat
Debian: Stability and free software principles
Arch Linux: Minimalist, rolling release model

Strengths: Open source, customisability, security, performance

Weaknesses: Learning curve, software compatibility issues
B. Mobile Operating Systems
Android

Developer: Google (based on Linux kernel)

Market Position: ~70% global mobile OS market
share

Features: Open ecosystem, highly customisable,
wide hardware support

Architecture: Modified Linux kernel with Java-
based application framework
iOS

Developer: Apple

Market Position: ~25% global mobile OS market
share

Features: Closed ecosystem, emphasis on security
and user experience

Architecture: Darwin kernel (similar to macOS),
exclusive to Apple devices
Other Mobile OS

HarmonyOS: Developed by Huawei as an
alternative to Android

KaiOS: Focused on feature phones and emerging
markets
C. Server Operating Systems
1. Linux Server Distributions

Red Hat Enterprise Linux (RHEL): Commercial
support, enterprise features

Ubuntu Server: Easy deployment, regular updates

SUSE Linux Enterprise: European focus,
enterprise support

Market Position: Dominant in web servers, cloud
infrastructure
Windows Server

History: Evolved from Windows NT, latest version
Windows Server 2022

Features: Active Directory, .NET framework,
integration with Microsoft services

Market Position: Strong in corporate
environments, authentication servers
FreeBSD and Other UNIX-like
Systems

Features: Stability, security, performance

Use Cases: Web servers, firewalls, network
appliances
Embedded Operating Systems
1. Real-Time Operating Systems (RTOS)

FreeRTOS: Open-source RTOS for
microcontrollers and small processors

VxWorks: Commercial RTOS for embedded
systems

QNX: Microkernel RTOS used in automotive and
industrial systems
Embedded Linux

Yocto Project: Framework for creating custom
embedded Linux distributions

OpenWrt: Specialised for networking devices

Android (embedded variant): Used in smart TVs,
automotive systems
User Interfaces in Operating
Systems

User interfaces determine how users interact with
the operating system and applications.
A. Command Line Interface
(CLI)
Characteristics

Text-based input and output

Commands entered as text strings

Output displayed as text

Often keyboard-only interaction
Advantages

Precise control over system operations

Efficient for repetitive tasks through scripting

Requires fewer system resources

Remote access friendly

Automation capabilities
Disadvantages

Steeper learning curve

Requires memorisation of commands

Less intuitive for new users

Limited visual feedback
Examples

Windows Command Prompt and PowerShell

Unix/Linux Shells: Bash, Zsh, Fish

macOS Terminal
B. Graphical User Interface (GUI)
Characteristics

Visual representation of programs and files

Interaction through graphical elements

WIMP paradigm (Windows, Icons, Menus, Pointer)

Event-driven programming model
Advantages

Intuitive and easier to learn

Visual feedback for actions

Multitasking visualisation

Easier discovery of features
Disadvantages

Requires more system resources

Sometimes less efficient for power users

More difficult to automate

Can be slower for repetitive tasks
Examples

Windows: Windows Shell, Explorer

macOS: Aqua interface

Linux: Various desktop environments:
GNOME: Focus on simplicity and usability
KDE Plasma: Feature-rich and customizable
Xfce: Lightweight and efficient
MATE: Traditional desktop paradigm
Natural User Interface (NUI)
Characteristics

Based on natural human behaviours

Minimal learning curve

Often multimodal (combining methods)

Adaptive to user context
Types of NUI

Touch-based: Direct manipulation through touch
gestures

Voice-based: Speech recognition and voice
commands

Gesture-based: Body movements and hand gestures

Augmented Reality: Overlaying digital content on
the real world
Advantages

Intuitive interaction

Accessibility benefits

Can be more engaging

Hands-free operation (voice/gesture)
Disadvantages

Precision can be limited

Privacy concerns (voice/video capture)

Environmental constraints

Still evolving technology
Examples

Touch interfaces: iOS, Android

Voice assistants: Siri, Google Assistant, Cortana

Gesture systems: Microsoft Kinect, VR interfaces
Bibliography for Reference and
Further Study
Arpaci-Dusseau, R. H., & Arpaci-Dusseau, A. C. (2018). Operating Systems: Three Easy Pieces.
Arpaci-Dusseau Books.
Bach, M. J. (1986). The Design of the UNIX Operating System. Prentice Hall.
Bic, L. F., & Shaw, A. C. (2023). Operating Systems Principles. Prentice Hall.
Bovet, D. P., & Cesati, M. (2021). Understanding the Linux Kernel. O'Reilly Media.
Dhamdhere, D. M. (2012). Operating Systems: A Concept-Based Approach. McGraw-Hill Education.
Deitel, H. M., Deitel, P. J., & Choffnes, D. R. (2018). Operating Systems. Pearson.
Love, R. (2013). Linux Kernel Development. Addison-Wesley Professional.
Russinovich, M. E., Solomon, D. A., & Ionescu, A. (2022). Windows Internals. Microsoft Press.
Silberschatz, A., Galvin, P. B., & Gagne, G. (2022). Operating System Concepts. Wiley.
Stallings, W. (2023). Operating Systems: Internals and Design Principles. Pearson.
Tanenbaum, A. S., & Bos, H. (2014). Modern Operating Systems. Pearson.
Vahalia, U. (1996). UNIX Internals: The New Frontiers. Prentice Hall
This work is licensed under
a Creative Commons Attribution-ShareAlike 3.0 Unported License.
It makes use of the works of
Kelly Loves Whales and Nick Merritt.

You might also like