Learning outcomes
- Differentiate between the user perspective and system perspective of operating system services.
In OS study, the same system can be described from two angles: (1) user view and (2) system view. These views help us understand why an OS provides certain services and how it actually delivers them.
From the user’s perspective, the OS is mainly judged by: ease of use (simple interface, quick response), plus reasonable performance and security. Typical single-user PCs/laptops focus on maximizing the user’s work (or play). Mobile devices often use touch and even voice interfaces.
From the system’s perspective, the OS is the software closest to hardware. In this view, the OS is: a resource allocator (decides how CPU time, memory, storage, and devices are allocated) and also a control program (controls execution to prevent errors and improper use, especially around I/O devices).
An operating system provides an environment to execute programs and makes services available to programs and users. We can study OS structure from multiple vantage points: services provided, interfaces for users/programmers, and internal components.
A common “service view” includes the following major OS service classes:
| OS Service | User View (What you experience) | System View (What OS must do internally) |
|---|---|---|
| User Interface | You interact through a command-line (shell), GUI (windows/icons/menus), or touch interface. | OS supports interface programs (shell/desktop), accepts input events, and converts requests into system calls that trigger kernel services. |
| Program Execution | “I clicked an app / ran a command — it starts and later exits.” | OS must load the program into memory, run it, and handle normal/abnormal termination. |
| I/O Operations | You read keyboard input, write to screen, print documents, use USB/network—everything “just works.” | Users can’t usually control devices directly (for efficiency/protection), so OS provides controlled I/O through drivers, buffering, and safe interfaces. |
| File-System Manipulation | Create/open/read/write/delete files & folders; view file info; set permissions. | OS manages file structures, directories, metadata, and enforces access rules (ownership/permissions). |
| Communications | Apps “talk” locally (browser ↔ server process) or over network (chat, web, cloud). | OS supports process communication using shared memory or message passing, including networking support. |
| Error Detection | You expect stable behavior: meaningful error messages, retries, or safe shutdowns (not random crashes). | OS must detect and respond to errors in CPU/memory, I/O devices, and programs; may terminate a process, return error codes, retry, or halt if necessary. |
| Resource Allocation | You expect fairness: multiple apps run together without one “hogging” everything. | OS decides allocation of CPU cycles, memory, storage, and devices; scheduling routines consider CPU speed, workload, number of cores, etc. |
| Accounting / Logging | You can see usage: battery/app usage, storage usage, CPU/memory stats, per-user limits in labs/servers. | OS tracks which programs/users consume which resources; records may be used for billing or for usage statistics to improve system configuration. |
| Protection & Security | Login, permissions, privacy, app isolation—your data should remain safe from other users/apps. | OS enforces isolation and access control so programs/users cannot improperly access others’ resources; supports safe sharing and controlled privilege. |
In many systems, a command interpreter (shell) reads user commands and executes them. For example, a delete command like rm file.txt works by locating the program rm, loading it into memory, and executing it with the parameter file.txt.
In a GUI, users interact using windows, icons, and menus (desktop metaphor). Clicking an icon can invoke a program; selecting a file/folder triggers OS services behind the scenes.
Touch screens and voice interfaces are common on mobile devices, where interaction happens via taps, swipes, and speech—yet the same OS service idea remains: user actions become OS requests.
rm file.txt and press Enter.rm).rm program, passing file.txt as an argument.rm requests file deletion via OS mechanisms (system calls).User view emphasizes convenience and interface, while system view emphasizes resource allocation and control to ensure correct, efficient, and fair operation.