Source Note
This chapter follows the PDF's Operating System section on pages 54–63. The opening syllabus line also mentions process management, memory management, concurrent processes, file/secondary-storage management, UNIX & shell programming and Windows programming; however, the detailed pages in this chapter specifically develop OS basics, kernel/shell, mobile OS, design goals and OS evolution up to multiprocessing.
Operating System — Definition
  • An Operating System (OS) is system software that acts as an interface between user and computer hardware.
  • It manages hardware resources, executes applications and provides services to programs.
  • An operating system acts as an intermediary between the user and computer hardware and manages system resources.
  • Examples in the source: Windows, Linux, macOS, Android, iOS.
What does an OS manage?
Resources
CPU • Memory • I/O devices • Hardware operations
Programs
Application programs + other system software
Execution
Controls and monitors execution of programs
User Interface
Makes hardware usable without exposing all hardware complexity
⚠ EXAM TRAP
OS ≠ application software. Source defines OS as system software and the interface between the user/software side and computer hardware.
⚡ QUICK RECALL
OS = Interface + Resource Manager + Program Controller.
General OS Goals
  • Run user applications and simplify problem-solving.
  • Make the system user-friendly and easy to navigate.
  • Optimize computer hardware use for efficiency.
Kernel

The kernel is the core of an operating system, not just Linux; it manages resources and mediates hardware access.

Monolithic Kernel
Hybrid Kernel
Exokernel
Microkernel
System Library: special types of functions used to implement operating-system functionality.
Shell
  • Shell is an interface to the kernel.
  • It hides the complexity of kernel functions from the user.
Hardware Kernel Shell Utilities diagram from source PDF
Source visual: Hardware → Kernel → Shell → Utilities
Shell named in PDFNotation
Bourne Shellsh
Korn Shellksh
Bourne Again Shellbash
POSIX Shellsh
C Shellcsh
⚡ QUICK RECALL
Kernel = core; Shell = user-facing interface to kernel.
Popular Mobile Operating Systems in the PDF
OSSource description / key point
Android OSGoogle developer; open-source and free; based on Linux kernel.
BadaHistorical Samsung mobile operating-system platform introduced on phones in 2010; not an Android launcher.
BlackBerry OSDeveloper: Research In Motion (RIM); designed for BlackBerry devices; useful for corporate users.
Apple iOSApple’s iPhone OS; iPads used iOS historically and now use the separate iPadOS platform.
Windows MobileDeveloper: Microsoft; designed for pocket PCs and smartphones.
Symbian OSHistorical smartphone OS developed by Symbian Ltd.; primarily written in C++, with Java ME application support.
Harmony OSDeveloper: Huawei; source describes it as designed especially for IoT devices.
Palm OSAlso called Garnet OS; Palm Ltd.; developed for Personal Digital Assistants (PDAs).
WebOSLinux-based OS created by Palm, later acquired by HP; LG subsequently developed webOS for smart TVs.
Revision Note
Mobile OS entries include historical discontinued systems; developer, kernel and programming-language facts have been corrected.
⚡ QUICK RECALL
Android → Google/Linux kernel • Bada → Samsung • BlackBerry → RIM • Windows Mobile → Microsoft • Harmony → Huawei • Palm/Garnet → Palm Ltd.
Design Goals of an Operating System

The PDF divides OS design goals into Primary Goals and Secondary Goals.

1. Primary Goals
Convenience
Make the system easy to use without requiring hardware-level knowledge.
Examples: Windows GUI, UNIX shell, Android.
Efficiency
Use CPU, memory and I/O resources efficiently to increase performance.
Example: CPU switches to another process during I/O wait.
Ability to Evolve
OS should be modifiable/upgradable for future needs.
Examples: Windows upgrades; Linux kernel modules.
2. Secondary Goals
Reliability
Stable, secure and error-free; prevent crashes.
Source example: ATM systems.
Scalability
Work efficiently on small and large systems.
Source example: Linux on phones, servers, supercomputers.
Portability
Run on different hardware platforms with minimum changes.
Throughput & Performance
Maximize number of tasks / total work per unit time.
Security & Protection
Prevent unauthorized access and protect processes.
Example: passwords, UNIX file permissions (chmod).
Resource Sharing
Allow multiple users/processes to share resources in a controlled way.
Example: printer sharing in network OS.
⚠ EXAM TRAP
Throughput in the source = number of tasks executed per unit time / total work completed in minimum time.
Evolution of Operating System — Early Stages
1940s–1950s: Serial Processing / No OS
Programs entered manually using punch cards, switches and paper tape. Programmer had direct hardware control. Only one job at a time; slow and time-consuming.
1950s–1960s: Batch Processing
Jobs collected in batches and executed one after another without user interaction. JCL used to specify tasks.
Punch card in punch card machine from source PDF
Source visual used alongside early-computing discussion
Batch Processing
Examples
IBM 1401 • IBM 7094 • IBM mainframes
Advantages
Reduced idle CPU time • automated job execution
Disadvantages
No user interaction • debugging errors was difficult
Core Idea
Programs + input data + control information grouped as jobs/batches
Spooling
  • SPOOL = Simultaneous Peripheral Operations On-Line.
  • Spooling buffers and queues data so a slow device (printer) can work efficiently with a faster CPU/disk.
  • CPU first stores data/request in secondary storage (spool buffer); the slow device later processes requests one by one.
User Program
I/O Request
→
Spool Buffer
Temporary Disk File
→
Printer / Slow Device
Result: CPU stays free for other work while the printer/device processes queued jobs.
Multiprogramming System (1960s)
  • More than one program is kept in memory at the same time.
  • When one job waits for I/O, CPU executes another job.
  • Increases CPU utilization.
  • Examples: IBM OS/360 (1964), MULTICS (1969).
Advantage
Better CPU utilization; multiple jobs processed.
Disadvantage
Complex memory management required.
Multiprocessing OS — multiple processorsocessors
SMP vs AMP
Symmetric Multiprocessing (SMP)Asymmetric Multiprocessing (AMP)
Processors have equal status, usually sharing a common memory address space.One master processor controls the system.
The OS schedules processes/threads across processors; they may run different processes or parts of the same program.Slave processors work on assigned tasks.
OS treats all CPUs equally.Simple but less flexible.
Examples: modern PCs, servers (Windows, Linux, UNIX).Examples: early supercomputers, some embedded systems.
⚠ EXAM TRAP
Multiprogramming = multiple programs in memory and one CPU alternates when jobs wait. Multiprocessing = two or more processors/CPUs in one system.
Ultra-Fast Revision
TermRemember
Operating SystemInterface between user and hardware; resource manager
KernelCore of an operating system; manages hardware/resources
ShellInterface to kernel; hides kernel complexity
SPOOLSimultaneous Peripheral Operations On-Line
No OS / SerialPunch cards, switches, paper tapes; one job at a time
Batch ProcessingJobs grouped and run one after another; JCL
MultiprogrammingMany programs in memory; CPU switches during I/O wait
Multiprocessing2+ CPUs/processors; shared resources; parallel execution
SMPAll CPUs treated equally
AMPMaster processor controls slave processors
⚡ ONE-LINE MEMORY
User → Shell → Kernel → Hardware is the simplest mental model for the source's kernel/shell discussion.
⚠ REVISION NOTE
Do not confuse OS classifications: user count, task count and processor count describe different properties. Many listed mobile OS platforms are historical.