Professional Documents
Culture Documents
Operating System
B.Tech
Operating System Structure
Delhi Technological University
Instructor: Divyashikha Sethia
divyashikha@dtu.ac.in
1
1/21/2020
2
1/21/2020
3
1/21/2020
4
1/21/2020
System Calls
• Programming interface to the services provided by the OS
• Typically written in a high-level language (C or C++). A few low level
tasks are also written in assembly language.
• Mostly accessed by programs via a high-level Application Program
Interface (API) rather than direct system call.
• Three most common APIs are Win32 API for Windows, POSIX API
for POSIX-based systems (including virtually all versions of UNIX,
Linux, and Mac OS X), and Java API for the Java virtual machine
(JVM)
System call sequence to copy the contents of one file to another file
5
1/21/2020
6
1/21/2020
7
1/21/2020
8
1/21/2020
9
1/21/2020
10
1/21/2020
System Programs
• System programs provide a convenient environment for program
development and execution.
• They are simply user interfaces to system calls.
• The can be categorized into:
– File manipulation
– Status information
– File modification
– Programming language support
– Program loading and execution
– Communications
– Application programs
• Most operating systems are also supplied with programs that are useful in
solving common problems such as web browsers, word processors etc.
These programs are known as system utilities or application programs.
11
1/21/2020
12
1/21/2020
13
1/21/2020
14
1/21/2020
15
1/21/2020
16
1/21/2020
Virtual Machines
• Abstract hardware of single computer into several different
execution environments – illusion each separate execution
environment running its own private computer
• VM: layered approach. It treats hardware and the operating system
kernel as though they were all hardware
• VM provides interface identical to the underlying bare hardware.
• OS creates illusion of multiple processes, each executing on its own
processor with its own (virtual) memory
17
1/21/2020
18
1/21/2020
19
1/21/2020
VMware architecture.
20
1/21/2020
Virtual Machines
(Java Virtual Machine - JVM)
• The JVM is a specification for an abstract computer.
• consists of a class loader and a Java interpreter that executes
the architecture-neutral byte codes.
• The class loader loads the compiled .class files from both the
Java program and the Java API for execution by the Java
interpreter.
Virtual Machines
(Java Virtual Machine - JVM)
• The JVM also automatically manages memory by performing
garbage collection—the practice of reclaiming memory from
objects no longer in use and returning it to the system.
• Implementation
– On top of native operating system such as Windows or
Linux.
– On chip; designed specifically to run Java programs.
21
1/21/2020
22
1/21/2020
System Boot
• Operating system must be made available to hardware so
hardware can start it
– Small piece of code – bootstrap loader, locates the kernel,
loads it into memory, and starts it
– Sometimes two-step process where boot block at fixed
location loads bootstrap loader
– When power initialized on system, execution starts at a
fixed memory location
• Firmware used to hold initial boot code
THANKS
23