Unit-1 and Swayam Week 1 and Week 2 Revision Unit-1 Course Contents
Unit-1 and Swayam Week 1 and Week 2 Revision Unit-1 Course Contents
An operating system is a large and complex system that can only be created by partitioning into
small pieces. These pieces should be a well-defined portion of the system, which carefully
defined inputs, outputs, and functions.
Although Mac, Unix, Linux, Windows, and other OS do not have the same structure, most of the
operating systems share similar OS system components like File, Process, Memory, I/O device
management.
Types of Threads
There are two types of threads.
User Level Thread
Kernel Level Thread
Address space: The range of virtual addresses that the operating system assigns to a user or separately
running program is called an address space. This is the area of contiguous virtual addresses available
for executing instructions and storing data.
With multiple virtual address spaces, errors are confined to one address space, except for errors in
commonly addressable storage, thus improving system reliability and making error recovery easier.
Programs in separate address spaces are protected from each other. Isolating data in its own address
space also protects the data.
File system devices
A file system or file system controls how data is stored and retrieved. Without a file system, data placed
in a storage medium would be one large body of data with no way to tell where one piece of data stops
and the next begins. By separating the data into pieces and giving each piece a name, the data is easily
isolated and identified. Taking its name from the way paper-based data management system is named,
each group of data is called a file. The structure and logic rules used to manage the groups of data and
their names is called a file system device.
File system types can be classified into: -
1. Disk/tape file systems.
2. Network file systems.
3. Special-purpose file systems.
WEEK 2: LECT 1:
The interface between a computer’s hardware and its software is its architecture. The architecture is
described by what the computer’s instructions do, and how they are specified. Understanding how it all
works requires knowledge of the structure of a computer and its assembly language.
The computer is in a sense a communication system. Data is constantly being moved between the CPU,
memory and the various devices. The CPU uses I/O addresses to direct data to particular devices. The
devices in turn use interrupts to notify the CPU and operating system of their needs.
The von Neumann Architecture:
1. A von Neumann architecture machine, designed by physicist and mathematician John von
Neumann (1903–1957) is a theoretical design for a stored program computer that serves as the basis for
almost all modern computers. A von Neumann machine consists of a central processor with an
arithmetic/logic unit and a control unit, a memory, mass storage, and input and output.
The CPU Control Unit:
The control unit (CU) is a component of a computer's central processing unit (CPU) that directs
operation of the processor. It tells the computer's memory, arithmetic/logic unit and input and output
devices how to respond to a program's instructions Coordinates the parts of the CPU.
The Arithmetic Logic Unit (ALU):
An arithmetic logic unit (ALU) is a digital circuit used to perform arithmetic and logic operations. It
represents the fundamental building block of the central processing unit (CPU) of a computer. Modern
CPUs contain very powerful and complex ALUs. In addition to ALUs, modern CPUs contain a control
unit
All information in a computer is stored and manipulated in the form of binary numbers, i.e. 0 and 1.
Transistor switches are used to manipulate binary numbers since there are only two possible states of a
switch: open or closed. An open transistor, through which there is no current, represents a 0. A closed
transistor, through which there is a current, represents a 1.
WEEK 2: LECT 2 X86:
Instruction Set:
The x86 instruction set refers to the set of instructions that x86-compatible microprocessors
support. ...
The x86 instruction set has been extended several times, introducing wider registers and
datatypes as well as new functionality.
This is the full 8086/8088 instruction set of Intel.
GCC Calling convention:
There are often subtle differences in how various compilers implement these conventions, so it is often
difficult to interface code which is compiled by different compilers. On the other hand, conventions
which are used as an API standard (such as stdcall) are very uniformly implemented.