Understanding Virtual Machines and Operating Systems
Classified in Computers
Written on in English with a size of 2.67 KB
Virtual machines are software that emulates a computer and can run programs like a real computer. This software was initially defined as "an efficient, isolated duplicate of a physical machine." The meaning of the term now includes virtual machines that have no direct equivalence with any actual hardware.
Understanding Shells
A shell is a piece of software that provides an interface for users. Usually, the term refers to the operating system shell that provides access to kernel services. The operating system shells generally fall into two categories according to their interface:
- Command Line Interface (CLI)
- Graphical User Interface (GUI)
Multiprogramming vs. Monoprogramming
Multiprogramming allows two or more processes to run in the same unit of main memory at the same time, while monoprogramming runs only one program at once and will not run another until the end of the previous one.
Batch Processing in Operating Systems
Operating systems batch process a large amount of work with little or no interaction between users and programs running. They handle all the common work performed at the same time, avoiding the wait of two or more jobs as in serial processing. These systems are more traditional and were introduced around 1956 to increase the processing capacity of programs.
Time-Sharing Systems
Time-sharing refers to sharing a computing resource among many users by multitasking. By allowing a large number of users to interact simultaneously on a single computer, it drastically lowers the cost of computing services while making the computing experience much more interactive.
Real-Time Systems
Real-time systems are related to hardware systems and programs that are limited by time constraints. Real-time software must necessarily have the characteristic of a critical response time. Key characteristics include:
- Determinism
- Sensitivity
- User Control
- Reliability
- Fault Tolerance
System Calls and Process Management
When a system call is invoked, the invoking program's execution is interrupted, and data is stored, usually in the Process Control Block (PCB), to continue running afterward. The processor then begins executing code instructions at a high privilege level to perform the required task. When this is completed, the process returns to the original and continues to run. The return to the demanding process is not necessarily immediate, depending on the runtime system call and scheduling algorithm.