Real Time or Reactive Systems are systems subject to time constraints. These are bounds which act as operational deadlines for processes.
While driving a vehicle, if we apply the breaks for a particular time(bound), the car stops. Similarly, if a bound is met the process stops.
A system may be classified as soft real time(deadlines met generally) or hard real time(deadlines met deterministically).
A soft real time may only lead to decrease in service quality while a heard real time may lead to complete failure of the system on meeting a bound.
Real time systems are used to guarantee that deadlines are met, are where throughput is not the major aim. These are used largely in medical equipment, missile systems, etc.
Operating Systems, real time os, real time systems
(A4) Parallel Computing Systems:
In parallel systems, large jobs are divided into smaller ones which are then processed simultaneously(hence, the name parallel). Since, the task is broken down, the efficiency largely increases.

Parallel computing has a number of advantages over other paradigms:
-It leads to a large increase in efficiency.
-It helps in power consumption.
It is the hence, the most dominant paradigm in computer architecture.
The disadvantages regarding parallel computing are:
-The processes difficult to write.
-Gives more scope for bugs to crawl in.
Operating Systems, parallel computing, parallel computing systems
(A3) Time Sharing Systems

The main idea of time sharing systems is to allow a large number of users to interact with a single computer(system) concurrently.
Hence, it extended the idea of multiprogramming to allow multiple terminals with each-in-use terminal to be associated with one or more jobs.
Hence, the there are spaces for more than one user, each associated with a program or more.
The main objective of these systems is to minimize the response time to user commands.
(and lead to interactive work)
multiprogramming os, Operating Systems, time sharing systems
In Multiprogramming Batch systems, when one job waits for the completion of an I/O operation, another is executed.

A multiprogramming system is responsible for:
-starting jobs
-taking I/P for jobs
-switching between jobs
(& ensuring protection while doing so)
Classified jobs as foreground and background jobs.
When a foreground jobs encounters an operation requiring input or giving output to the user, a background job is executed.
Hence, more than one program could be executed, but, by the same user.
multiprogramming batch systems, multiprogramming os, Operating Systems
(A) Computer Architecture Paradigms
(A1) Simple Batch Systems
Simple Batch systems or just Batch systems process jobs bundled together, leading to an increase in efficiency.

When a job is processed, the system transfers the entire control over to it. Once it is done, the control shifts to the next job, and so on.
This hence, has the following ADVANTAGES:
-maximum processor utilization
-the setup time for jobs is saved
-performance increases, since, the job are sequenced together
It also, however, has a few DISADVANTAGES:
-difficult to debug
-one job affects all the pending jobs.
- job could enter an infinite loop, and others will never be processed.
Hence, we would need some protection scheme for the pending jobs, in case a job is affected/corrupt.
batch os, Operating Systems, os, simple batch systems
Operating Systems – INTRODUCTION TO OS
We’ve heard of applications that run on Windows or Mac and so on. Thus Windows or Mac act as hosts for our computer applications.
Hence, The Operating System is an interface between the user and the hardware, and the host for the applications & software.
Thus, the applications need to access the services of the OS. This is done through what are called APIs(Application Programming Interfaces) or system calls.

The central component of the OS is the kernel. The kernel is the bridge between the applications & the hardware. Hence, It allows applications to process data at the hardware level. It can also control a process’ access to the computer memory.
Sometimes, the kernel is used to limit a certain process’ access to memory, a phenomenon called memory allocation/protection. This can be achieved by Segmentation & Paging.
The kernel & kernel extentions are alloted certain memory space, which, together with the user space alloted for all user apps, form the Virtual Memory. Virtual Memory is the key to multitasking kernels.
basics, introduction, Operating Systems, os