Skip to main content

1.1.10 Describe the following operating system structure

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 Protection
If 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.

    • Symmetric multiprocessing (SMP)

A single instantiation of an OS manages all CPUs simultaneously, and applications can float to any of them.

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.

Comments

Post a Comment

Popular posts from this blog

3.1.1 Identify Between Resident And Transient Routines

Memory Management Memory management is concerned with managing: The computer’s available pool of memory Allocating space to application routines and making sure that they do not interfere with each other. 3.1.1 Identify between resident and transient routines The operating system is a collection of software routines. Resident routines Transient routines Routines that directly support application programs as they run Stored on disk and read into memory only when needed Example: routine that control physical I/O Example: routine that formats disks The operating system occupies low memory beginning with address 0. Key control information comes first followed by the various resident operating system routines. The remaining memory, called the transient area, is where application programs and transient operating system routines are loaded. Resident & transient routines structure

2.1.4 Distinguish between logical I/O and physical I/O

2.1.4 Distinguish between logical I/O and physical I/O logical input relate to hard disk Logical I/O an Physical I/O Physical" I/O is an actual fetch of data from a storage device such as a disk. Logical" I/O is a programmatic request for data satisfied by a memory (block, buffer) access. A logical I/O may cause a physical I/O in the first place, or a logical I/O may retrieve a part of a block (buffer) of data from memory. 2.1.5 Distinguish between directory management and disk space management. 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. Disk management A hard disk is a rigid disk inside a computer that stores and provides relatively quick access to large amounts of data. It is the type of storage most often used with Windows. The system also supp

Operating Systems Definition and the Classification of OS

             OPERATING SYSTEMS ( OS ) What is an operating system? An operating system (sometimes abbreviated as "OS") is the program that, after being initially loaded into the computer by a boot program, manages all the other programs in a computer. The other programs are called applications or application programs. The application programs make use of the operating system by making requests for services through a defined application program interface (API). In addition, users can interact directly with the operating system through a user interface such as a command language or a graphical user interface (GUI). An operating system performs these services for applications:     In a multitasking operating system where multiple programs can be running at the same time, the operating system determines which applications should run in what order and how much time should be allowed for each application before giving another application a turn.     It manages the sharing of