Mada za sehemu hiiDemonstrate understanding of principles of Operating Systems [Types of OS; Memory management; File management; CPU Scheduling; etc]Mada 3
- Describe the concept of operating systems (evolution, types, architecture, structure and design)
- Describe the impact of operating system design on application system design and performance
- Demonstrate competency in recognising and using operating system design and performance [Process Management (Processes and threads, process creation, synchronisation and Communication), CPU/Processor Scheduling (Deadlock prevention, avoidance and recovery), Memory Management (Main and virtual memory management), File System Structure and implementation, Input/output Systems and device management]
An operating system (OS) is system software that acts as an intermediary between computer hardware and users, managing resources and enabling communication between software and hardware components.
An operating system is a type of software that stands between a computer system's hardware and the several application software. It sits between a computer user and the computer's hardware to make things work smoothly. The OS manages all the resources of a computer, including memory, storage space, and processing power. It allocates these resources to different programs running simultaneously, enabling everything to run smoothly.
The OS is like an orchestra's conductor, arranging the various components of the computer system so that they function as a unit. It is basically a gatekeeper responsible for ensuring that programs run properly and interact with the hardware correctly.
Operating systems have evolved from simple software that supported physically large computers with punch cards and flashing lights to the most sophisticated OS versions that exist today. Early operating systems were very basic, mainly focusing on making the hardware work. However, they gained strength and usability over time, introducing capabilities like windows, multitasking, and internet connectivity.
The evolution has been marked by significant milestones, from early mainframe systems to modern cloud-based platforms. Advancements in user interfaces, networking, and virtualisation have driven innovation and adaptation to changing computing paradigms.
Desktop Operating Systems
These are OSs designed for desktop and laptop computers. They act as the control centre for personal computers through a graphical user interface (GUI) that includes windows, icons, and menus. Examples include:
- Microsoft Windows – widely used globally, known for user-friendly interface
- Apple macOS – powers Apple Macintosh computers, known for design and creative workflows
- Linux – free and open-source, popular among developers offering flexibility
- Chrome OS – lightweight OS for Chromebooks, focuses on web applications
Mobile Operating Systems
Mobile OS controls handheld devices like smartphones and tablets. They prioritise efficient battery usage and touch-friendly interfaces, focusing on apps for specific tasks. Examples include:
- Android – open-source with customization options and extensive app library
- Apple iOS – powers Apple handheld devices, known for security and smooth integration
- Windows Mobile – used in some smartphones
Server Operating Systems
Server OS supports powerful computers that store large amounts of data and run critical applications for multiple users on a network. Examples include:
- Microsoft Windows Server – known for integration with Microsoft products
- Linux Server Distributions (Ubuntu Server, Red Hat Enterprise Linux) – flexible and customisable
- Apple macOS Server – enhances file sharing and centralised management
The architecture provides the overall blueprint for how the OS interacts with hardware, defining how different parts communicate and work together.
Monolithic Kernel Architecture
In this architecture, the kernel is a single large program that handles everything from managing memory to running applications. It is simpler and faster but can be less flexible and secure. It is like a one-person orchestra leader who does everything themselves.
Microkernel Architecture
This breaks down the kernel into smaller, more specialised components. Only essential tasks like memory management are done by the core kernel. Other services like device drivers run as separate programs. This makes the system more modular, secure, and easier to update. It is like a conductor with a dedicated team for each instrument section.
Advantages of Microkernel:
- Highly modular design makes development and maintenance easier
- Can support a wide range of operating systems and hardware platforms
Disadvantages of Microkernel:
- Complexity grows due to necessity to oversee various components
- Performance diminishes owing to overhead in component communication
- Extensive testing required to guarantee accurate functioning

The structure represents the various building blocks of an OS and how core components are organised:
- Kernel – core component acting as bridge between hardware and software; manages memory, storage, processes, and device drivers
- User interface – what you see on screen (windows, icons, menus); allows interaction with OS and programs
- Device drivers – act as translators allowing OS to communicate with hardware like printers or keyboards
- System utilities – built-in programs that perform essential tasks like managing files or troubleshooting
- Application Programming Interfaces (APIs) – sets of instructions allowing developers to create programs that interact with OS and hardware
OS design follows key principles to achieve specific goals:
- Security – protects computer from unauthorised access, malware, and threats
- Stability – runs smoothly and reliably, avoiding crashes or errors
- Performance – efficiently utilises system resources for responsive experience
- Usability – user-friendly and easy to learn for people with varying technical skills
An OS's design significantly impacts how software applications are designed and how they perform. Consider a house's foundation: a strong foundation permits many structures on top, while a weak foundation restricts what may be built.
Worked Example: Photo Sharing Scenario
A school photography club has members using different devices (laptops, tablets, smartphones) with various operating systems (Android, macOS, Windows). They need to share hundreds of photos in different formats (JPEG, RAW).
The OS helps in this scenario through:
- Resource Management – The OS allocates memory and processing power to photo editing applications, allowing smooth handling of large image files
- Security – OS security features like password protection and app permissions protect photos from unauthorised access
- File System – OS file management organises photos into folders with proper naming conventions
- Compatibility – Well-designed OS uses standard interfaces (like USB) to recognise external storage devices for easy photo transfer
- APIs – Photo editing programs use OS APIs to access graphics cards for image rendering
If the OS has limitations in memory management or inefficient device drivers, bottlenecks occur that slow down photo processing and sharing.
In Tanzania, small business owners using mobile money services (such as M-Pesa) rely on mobile operating systems (Android/iOS) to run these applications. Understanding OS design helps them appreciate why their phones may slow down when many apps are open simultaneously, and how proper OS resource management ensures smooth transactions when withdrawing or sending money worth thousands of Tanzanian shillings at local markets like Mwanga Truck Market in Dar es Salaam.
Swali
Which of the following best describes the primary role of an operating system?
Ingia ili kuwasilisha jibu lako na lihesabiwe katika umahiri wako.
Ingia ili kufanya mazoeziMwalimu
Umekwama? Niulize chochote kuhusu mada hii.
Ingia ili kumuuliza Mwalimu wa AI wa Sonza kuhusu swali hili.
Ingia ili kuuliza