Virtualization
Virtualization in computing is the process of simulating hardware and software in a virtual(software) environment.
- This one server is running 3 VMS (Virtual machines).
- Running 3 different Application like Emails , Web Server and DATABASE.
- The Software that creates and runs the virtualization is called a hypervisor.
- It allocates and controls the sharing.
- It allocates and controls the sharing of a machines resources.
- Storage space.
- RAM.
- CPUS
Type-1
Installed on Empty , bare metal hardware.
Eg. VMware ESX1, Citrix Xen Server.
Type-2
Installed on an existing operating System.
Eg. Personal Computers, Oracle VM Virtual Box , Microsoft Virtual PC, VM ware work station.
Processes
A Program which we executing enters into a main memory is called Process.
- When Process is executing it is changing its state from one to another.
- (Process State Diagram)
Process API Code
- API - Application programming Interface.
- API helps to get functions available to write user programs.
- API provided by OS is a set of "System Calls".
- System call is a function call in OS which run in higher privilege level of the CPU where Sensitive Operations (accessing hardware) takes place.
- There is Blocking System calls cause the process to be blocked and descheduled.
POSIX API
- A standard set of system calls an OS must implement.
- Now days OS are POSIX compliant.
- Programs languages libraries contains details of System calls.
Proccess related System calls (in Unix)
- fork() - Create a new child process.
- init - ancestor of all processes.
- exec()- makes a process execute a given executable.
- exit()- terminates a process.
- wait()- Causes a parent to block util child terminates.
Shell
- After initialization of hardware init process is created.
- Init process spawns a shell like bash.
Working of shell
Direct Execution
When more no. of applications are accessing direct on hardware after that OS is scheduling next application to run. This is done by Time interrupt for some milliseconds.