Please enable JavaScript.
Coggle requires JavaScript to display documents.
Operating System, Virtualization, Cloud Computing - Coggle Diagram
Operating System
Operations
Processing
Multiprocessing
- Support more than one processor
- Allocate tasks to
multiprocessor
-
Multiprogramming
- Running more than one program at a time
- Not necessarily have to be multiprocessing
Batch System
- Only one program can run at a same time
Time-Sharing
- Sharing resource among many users at the same time
Interrupt
- Request for the processor to interrupt the currently executing code.
- Only one at a time can be processed to avoid lost interrupt
Interrupt Vector
- Address of latest executing tasks, so after interrupt is successfully handled, processor can continue working on where it was working previously.
Software Interrupt (Trap)
- Occur when user requests or error occurs
Hardware Interrupt
Vectored
- Interrupting device directs the processor to the appropriate ISR
- Looks like a table that maps interrupt to the ISR
Polled
- Computer or controlling device waits for an external devices
- Each ISR must determine the source of the interrupt by checking all potential interrupt sources
Interrupt Service Routine (ISR)
- Special block of code associated with the specific interrupt condition.
- Some example is drivers that handle hardwares
Direct Memory Access (DMA)
Allow I/O peripherals to communicate with the memory without going through CPU
-
-
-
-
Managements (Services)
Protection&Security
- User/Kernel mode (Dual Mode operation)
I/O Management
- Synchronous & Asynchronous I/O
Process Management
- Launch: load software to memory
- Synchronize: process to wait for another process
- Terminate: clean up the memory used
-
-
Components
Kernel
the one program running at all times
- For example,
systemd
of Linux or Windows NT
of Windows
- Typical kernels are in two types: Monolithic and Microkernel
- Hybrid kernel also exist to adopt the pros from both types or kernels
-
-
Apple Family [XNU (Darwin)]
Resource Allocator
- Manage & allocate resources
Control Program
- Control execution of user programs
- Manage I/O devices
Organization
- Peripherals of computer systems are connected with the main memory with common
bus
<Peripheral>: <Controller>
- Monitor: Graphics Adapter
- USB Peripherals: USB Controller
- Disks: Disk Controller
System Boot
- Jump to Firmware location
- Firmware (BIOS/UEFI) is loaded
- Firmware locates Bootstrap Loader in MBR and load it
- Bootstrap locates Kernel, load it, and Operating System is loaded
Virtualization
Hypervisor/Virtual Machine Monitor
- Responsible of providing various virtual resources to guest machine, utilizing the physical resources.
Type1 (bare metal)
This kind of hypervisor runs on hardware, so it has direct access to the hardware, allowing it to allocate resources and manage guest operating system at hardware level.
Type2 (process)
The typical version that runs on an conventional operating system as a process on the host environment.
In-between
Some applications, such as Kernel-based Virtual Machine (KVM) in Linux, are built to run on kernel-mode, so while they are a process of host operating system, they also have access to the hardware, so it is ambiguous whether it belongs to Type1 or Type2 hypervisor.
Benefits
Maximize the use of resources: usually, a physical computer doesn't utilize its resources 100%, then its capacity is wasted while it is sitting idle. Hypervisors have the ability to use all of the resources available on the physical computer, make it possible to utilize the capacity of the machine to it's maximum capacity.
Cost: since there is no physical hardware involved on the virtual side, various physical management, such as network cable, peripherals, etc. doesn't have to be worried about.
Consolidation: instead of running multiple applications in one operating system, each virtual operating system can run a single application.
Create virtual things:
- hardware platform
- Storage devices
- Networks
Guest Operating System
- runs on top of hypervisor
Host vs Guest
Host: host refers to the physical side of the virtualization.
Guest: guest refers to the virtual side of the virtualization.
Cloud Computing
-
Services
- Infrastructure as a service (IaaS)
- Platform as a service (PaaS)
- Software as a service (Saas)