1.1.10 Describe the following operating system structure
Monolithic system
A software system is called "monolithic" if it has a monolithic architecture, in which functionally distinguishable aspects (for example data input and output, data processing, error handling, and the user interface), are not architecturally separate components but are all interwoven.Mainframe computers used a monolithic architecture with considerable success. Monolithic architectures implemented on DOS and earlier Windows based PCs often worked poorly with multiple user. This performance degradation is mainly due to poor mechanisms for record locking and file handling across local area networks.
monolithic |
Layered system
A layered system is a system in which components are grouped, i.e., layered, in a hierarchical arrangement, such that lower layers provide functions and services that support the functions and services of higher layers.Systems of ever-increasing complexity and capability can be built by adding or changing the layers to improve overall system capability while using the components that are still in place.
Virtual machines
A virtual machine (VM) is an emulation of a particular computer system. Virtual machines operate based on the computer architecture and functions of a real or hypothetical computer, and their implementations may involve specialized hardware, software, or a combination of both.Virtual Machine |
Client-server model
The client–server model of computing is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system.A server host runs one or more server programs which share their resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await incoming requests.
1.1.11 Identify three major subsystems of the operating system
Process management
- A process is a program in execution
- A process needs certain resources, including CPU time, memory, files, and I/O devices, to accomplish its task.
- A process is an active entity whereas a program is a passive entity.
- OS process management activities:
- Process creation and deletion.
- Process suspension and resumption.
- Process synchronization.
- Process communication.
- Process deadlock handling
File management
- The OS provides a uniform logical view of information storage. (Many different types of physical media.)
- A file is a collection of related information defined by its creator. File contents, file formats, file structures, file attributes.
- Files are organized into directories.
- OS file management activities
- File creation and deletion.
- Directory creation and deletion.
- Support of primitives for manipulating files and directories.
- Mapping files onto secondary storage.
- File backup on stable (nonvolatile) storage media
Memory management
- Memory is a large array of words or bytes, each with its own address.
- Memory is a repository of quickly accessible data shared by the CPU and I/O devices.
- Main memory is a volatile storage device. It loses its contents in the case of system failure.
- OS memory management activities:
- Keep track of which parts of memory are used and by whom.
- Decide which processes are to be loaded when memory space becomes available.
- Allocate and deallocate memory space as needed.
1.2 Understand the interface between operating systems and its application program (System Calls)
An operating system (OS) is software that manages computer hardware and software resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function.
Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.
For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and frequently makes a system call to an OS function or be interrupted by it. Operating systems can be found on many devices that contain a computer from cellular phones and video game consoles to super computers and web servers.
1.2.1 Describe system calls for the following:
Process management
- Process management is the ensemble of activities of planning and monitoring the performance of a process. The term usually refers to the management of business processes and manufacturing processes. Business process management (BPM) and business process reengineering are interrelated, but not identical.
- Process management is the application of knowledge, skills, tools, techniques and systems to define, visualize, measure, control, report and improve processes with the goal to meet customer requirements profitably.
- It can be differentiated from program management in that program management is concerned with managing a group of inter-dependent projects. But from another viewpoint, process management includes program management. In project management, process management is the use of a repeatable process to improve the outcome of the project
Signaling
- In telephony, signaling is the exchange of information between involved points in the network that sets up, controls, and terminates each telephone call. In in-band signaling , the signaling is on the same channel as the telephone call. In out-of-band signaling , signaling is on separate channels dedicated for the purpose.
File management
- A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening (e.g. viewing, playing, editing or printing), renaming, moving or copying, deleting and searching for files, as well as modifying file attributes, properties and file permissions.
- Folders and files may be displayed in a hierarchical tree based on their directory structure. Some file managers contain features inspired by web browsers, including forward and back navigational buttons.
Directory management
- A directory is a hierarchical collection of directories and files. The only constraint on the number of files that can be contained in a single directory is the physical size of the disk on which the directory is located.
Protection
CPU ProtectionIf a program hangs, it shouldn’t hang the machine
Use a timer interrupt
- Decremented every clock tick
- Zero ) Interrupt
I/O Protection
Protect I/O devices from errant programs
Solution: I/O Protection
- Only kernel may interact with I/O hardware
- I/O instructions are privileged
- Interrupt jumps to kernel, sets kernel mode
Memory Protection
Protecting I/O devices also requires that we protect
- Interrupt vector
- Interrupt service routines (and rest of kernel)
- Operating system data structures from modification by errant or malicious programs
Time management
Time management is the act or process of planning and exercising conscious control over the amount of time spent on specific activities, especially to increase effectiveness, efficiency or productivity.
It is a meta-activity with the goal to maximize the overall benefit of a set of other activities within the boundary condition of a limited amount of time.
Time management may be aided by a range of skills, tools, and techniques used to manage time when accomplishing specific tasks, projects, and goals complying with a due date. Initially, time management referred to just business or work activities, but eventually the term broadened to include personal activities as well.
A time management system is a designed combination of processes, tools, techniques, and methods. Time management is usually a necessity in any project development as it determines the project completion time and scope.
Multicore management (SMP – simultaneous multiprocessing)
A system that has separate physical processors hooked up in multiprocessing mode over a board-level bus.
A chip that has one physical processor with multiple CPUs interconnected over a chip-level bus. Multicore processors deliver greater computing power through concurrency, offer greater system density, and run at lower clock speeds than uniprocessor chips.
Multicore processors also reduce thermal dissipation, power consumption, and board area (and hence the cost of the system).
Multiprocessing includes several operating modes:
- Asymmetric multiprocessing (AMP)
A separate OS, or a separate instantiation of the same OS, runs on each CPU.- Asymmetric multiprocessing (AMP)
- Symmetric multiprocessing (SMP)
A single instantiation of an OS manages all CPUs simultaneously, and applications can float to any of them.- Symmetric multiprocessing (SMP)
Multithreading
Multithreading is the ability of a program or an operating system to serve more than one user at a time and to manage multiple simultaneous requests without the need to have multiple copies of the programs running within the computer.
To support this, central processing units have hardware support to efficiently execute multiple threads. This approach is distinguished from multiprocessing systems (such as multi-core systems) in that the threads have to share the resources of a single core: the computing units, the CPU caches and the translation look a side buffer (TLB).
Where multiprocessing systems include multiple complete processing units, multithreading aims to increase utilization of a single core by using thread-level as well as instruction-level parallelism. As the two techniques are complementary, they are sometimes combined in systems with multiple multithreading CPUs and in CPUs with multiple multithreading cores.
niche ni rare di pasaran.
ReplyDeleteTerima kasih Encik Erman
DeleteGreat breakdown of the operating system structure! It’s amazing how organized each layer is, ensuring efficient management and user interface. up bijli bill systems could benefit from a similar layered approach for streamlined operations.
ReplyDelete