CLICK HERE TO DOWNLOAD PPT ON COMPUTERS
Computers Presentation Transcript
1.Early Computers
Charles Babbage (1791-1871) designed the first true digital computer called the analytical engine.
That was purely mechanical and intended to do math operations
The engine was supposed to be made of brass, and steam powered
He did not actually built the machine but inspired others in the field.
Charles Babbage (1791-1871) designed the first true digital computer called the analytical engine.
That was purely mechanical and intended to do math operations
The engine was supposed to be made of brass, and steam powered
He did not actually built the machine but inspired others in the field.
2.Babbage also thought of the concept of software
And hired the first programmer (Lady Ada, Countess of Lovelace) for his analytical machine
3.Current Computer Systems
And hired the first programmer (Lady Ada, Countess of Lovelace) for his analytical machine
3.Current Computer Systems
4.A computer system consists of
hardware
system programs
application programs
hardware
system programs
application programs
5.What is an Operating System
It is the software that enables us the use the hardware
It is a resource manager
Allocates system resources such as I/O devices, CPU etc
Schedules different jobs etc
It is the software that enables us the use the hardware
It is a resource manager
Allocates system resources such as I/O devices, CPU etc
Schedules different jobs etc
6.History of Computing
Hewlett Packard was founded in 1939 by David Packard and Bill Hewlett,
Their first product, the HP 200A Audio Oscillator
Walt Disney Pictures ordered eight of the 200B model to use during the creation of the movie “Fantasia.”
Hewlett Packard was founded in 1939 by David Packard and Bill Hewlett,
Their first product, the HP 200A Audio Oscillator
Walt Disney Pictures ordered eight of the 200B model to use during the creation of the movie “Fantasia.”
7.First generation 1945 - 1955
vacuum tubes, plug boards
Still very slow and used for scientific calculations
No OS was needed
Programs were entered by setting some switches
vacuum tubes, plug boards
Still very slow and used for scientific calculations
No OS was needed
Programs were entered by setting some switches
8.A Famous Remark!
"I think there is a world market for maybe five computers."
Thomas Watson, chairman of IBM - 1943
"I think there is a world market for maybe five computers."
Thomas Watson, chairman of IBM - 1943
9.Second generation 1955 – 1965
transistors, batch systems
Universities started to buy computers (spending millions of dollars)
Punched cards were used
To run a job (a program or a set of related programs) first punch it and give the deck to the operators and wait for the output (batch operation)
Computers were single user
transistors, batch systems
Universities started to buy computers (spending millions of dollars)
Punched cards were used
To run a job (a program or a set of related programs) first punch it and give the deck to the operators and wait for the output (batch operation)
Computers were single user
10.$JOB card specifies:
the max runtime in minutes
The account number to be charged
The programmers name
$FORTRAN card: tells the operating
System to load Fortran compiler
$RUN means run the program with
The following data
$END end of job
the max runtime in minutes
The account number to be charged
The programmers name
$FORTRAN card: tells the operating
System to load Fortran compiler
$RUN means run the program with
The following data
$END end of job
11."I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won't last out the year.“
The editor in charge of business books for Prentice Hall - 1957
12.History of Operating Systems
Third generation 1965 – 1980
Integrated Circuits
Engineer at the Advanced Computing Systems Division of IBM, 1968, commenting on the microchip
"But what ... is it good for?"
The editor in charge of business books for Prentice Hall - 1957
12.History of Operating Systems
Third generation 1965 – 1980
Integrated Circuits
Engineer at the Advanced Computing Systems Division of IBM, 1968, commenting on the microchip
"But what ... is it good for?"
13.Third generation 1965 – 1980
Integrated Circuits and multiprogramming
IBM’s System/360 mainframe computer with a standard architecture designed to handle both scientific and commercial computing
Integrated Circuits and multiprogramming
IBM’s System/360 mainframe computer with a standard architecture designed to handle both scientific and commercial computing
14.Third generation 1965 – 1980
OS/360 was the operating system of System/360
First the single task “Primary Control Program” was introduced
Then “Multiprogramming with a Fixed number of Tasks”
Finally “Multiprogramming with a Variable number of Tasks”
In multiprogramming, multiple jobs are in the memory and when a job finishes another can start immediately while the free memory partition is being reloaded
OS/360 was the operating system of System/360
First the single task “Primary Control Program” was introduced
Then “Multiprogramming with a Fixed number of Tasks”
Finally “Multiprogramming with a Variable number of Tasks”
In multiprogramming, multiple jobs are in the memory and when a job finishes another can start immediately while the free memory partition is being reloaded
15.The concept of spooling was introduced by 3rd generation operating systems
They loaded the programs from cards to disk, and whenever a job is finished and a memory partition was available, it is loaded directly to memory.
Third generation OSs were still not interactive, i.e., whenever there is an error, programmers would realize it after a couple of hours.
This problem lead to timesharing systems where the user has an online terminal
They loaded the programs from cards to disk, and whenever a job is finished and a memory partition was available, it is loaded directly to memory.
Third generation OSs were still not interactive, i.e., whenever there is an error, programmers would realize it after a couple of hours.
This problem lead to timesharing systems where the user has an online terminal
16.History of OS
MULTICS, another third generation OS introduced the concept of client server computing and influenced other OS
MULTICS (father of all modern OS) led to the development of UNIX
UNIX (1970, ATT) became popular with companies and government agencies, and people started to develop their own UNIX OS
IEEE developed a standard for UNIX, called POSIX to prevent chaos.
POSIX defined a standard set of system call interface that conformant UNIX systems should support.
MULTICS, another third generation OS introduced the concept of client server computing and influenced other OS
MULTICS (father of all modern OS) led to the development of UNIX
UNIX (1970, ATT) became popular with companies and government agencies, and people started to develop their own UNIX OS
IEEE developed a standard for UNIX, called POSIX to prevent chaos.
POSIX defined a standard set of system call interface that conformant UNIX systems should support.
17.The concept of spooling was introduced by 3rd generation operating systems
They loaded the programs from cards to disk, and whenever a job is finished and a memory partition was available, it is loaded directly to memory.
Third generation OSs were still not interactive, i.e., whenever there is an error, programmers would realize it after a couple of hours.
This problem lead to timesharing systems where the user has an online terminal
They loaded the programs from cards to disk, and whenever a job is finished and a memory partition was available, it is loaded directly to memory.
Third generation OSs were still not interactive, i.e., whenever there is an error, programmers would realize it after a couple of hours.
This problem lead to timesharing systems where the user has an online terminal
18.MULTICS, another third generation OS introduced the concept of client server computing and influenced other OS
MULTICS (father of all modern OS) led to the development of UNIX
UNIX (1970, ATT) became popular with companies and government agencies, and people started to develop their own UNIX OS
IEEE developed a standard for UNIX, called POSIX to prevent chaos.
POSIX defined a standard set of system call interface that conformant UNIX systems should support.
MULTICS (father of all modern OS) led to the development of UNIX
UNIX (1970, ATT) became popular with companies and government agencies, and people started to develop their own UNIX OS
IEEE developed a standard for UNIX, called POSIX to prevent chaos.
POSIX defined a standard set of system call interface that conformant UNIX systems should support.
19.Tanenbaum wrote a version of UNIX called MINIX with POSIX support for educational use.
A Finnish student Linus Torvalds wrote a free production of MINIX called Linux
A Finnish student Linus Torvalds wrote a free production of MINIX called Linux
20.Third generation 1965 – 1980
Integrated Circuits and multiprogramming
IBM’s System/360 mainframe computer with a standard architecture designed to handle both scientific and commercial computing
Integrated Circuits and multiprogramming
IBM’s System/360 mainframe computer with a standard architecture designed to handle both scientific and commercial computing
21.Third generation 1965 – 1980
OS/360 was the operating system of System/360
First the single task “Primary Control Program” was introduced
Then “Multiprogramming with a Fixed number of Tasks”
Finally “Multiprogramming with a Variable number of Tasks”
In multiprogramming, multiple jobs are in the memory and when a job finishes another can start immediately while the free memory partition is being reloaded
OS/360 was the operating system of System/360
First the single task “Primary Control Program” was introduced
Then “Multiprogramming with a Fixed number of Tasks”
Finally “Multiprogramming with a Variable number of Tasks”
In multiprogramming, multiple jobs are in the memory and when a job finishes another can start immediately while the free memory partition is being reloaded
22.The concept of spooling was introduced by 3rd generation operating systems
They loaded the programs from cards to disk, and whenever a job is finished and a memory partition was available, it is loaded directly to memory.
Third generation OSs were still not interactive, i.e., whenever there is an error, programmers would realize it after a couple of hours.
This problem lead to timesharing systems where the user has an online terminal
They loaded the programs from cards to disk, and whenever a job is finished and a memory partition was available, it is loaded directly to memory.
Third generation OSs were still not interactive, i.e., whenever there is an error, programmers would realize it after a couple of hours.
This problem lead to timesharing systems where the user has an online terminal
23.History of OS
MULTICS, another third generation OS introduced the concept of client server computing and influenced other OS
MULTICS (father of all modern OS) led to the development of UNIX
UNIX (1970, ATT) became popular with companies and government agencies, and people started to develop their own UNIX OS
IEEE developed a standard for UNIX, called POSIX to prevent chaos.
POSIX defined a standard set of system call interface that conformant UNIX systems should support.
MULTICS, another third generation OS introduced the concept of client server computing and influenced other OS
MULTICS (father of all modern OS) led to the development of UNIX
UNIX (1970, ATT) became popular with companies and government agencies, and people started to develop their own UNIX OS
IEEE developed a standard for UNIX, called POSIX to prevent chaos.
POSIX defined a standard set of system call interface that conformant UNIX systems should support.
24.Tanenbaum wrote a version of UNIX called MINIX with POSIX support for educational use.
A Finnish student Linus Torvalds wrote a free production of MINIX called Linux
A Finnish student Linus Torvalds wrote a free production of MINIX called Linux
25.Fourth generation 1980 – present
personal computers were developed after LSI (Large Scale Integration) circuits were invented.
First Microcomputer:
Intel 8080 CPU + attached 8-inch floppy disk
First disk based OS CP/M (Control Program for Microcomputers)
In 1980s IBM designed the IBM PC and contacted Bill Gates for an operating System
personal computers were developed after LSI (Large Scale Integration) circuits were invented.
First Microcomputer:
Intel 8080 CPU + attached 8-inch floppy disk
First disk based OS CP/M (Control Program for Microcomputers)
In 1980s IBM designed the IBM PC and contacted Bill Gates for an operating System
26.“There is no reason anyone would want a computer in their home.“
Ken Olson, president, chairman and founder of Digital Equipment Corp. - 1977
Ken Olson, president, chairman and founder of Digital Equipment Corp. - 1977
27.Registers and OS
OS should be aware of the registers that keep the current state of a running program
When OS stops running a program it should save all the registers to restore the current state of the program later on
28.CPU Modes
A bit in PSW controls the mode
Kernel (supervisor) Mode :
CPU can execute every instruction in its instruction set
CPU can use every feature of the hardware
OS runs in kernel mode
User Mode:
Only a subset of instructions can be run
And a subset of hardware features are accessed
Generally all instructions involving I/O and Memory protection are disallowed in that mode
To obtain OS services, a user program must make a system call that traps into kernel mode and invokes the OS
Trap instruction switches from user mode to kernel mode and starts the operating system (system calls and errors such as division by zero causes trap instructions)
29.Pipelining
Parallelize the fetch, decode, execute sequence
Three stage pipeline : While executing instruction N, decode instruction N+1, and fetch instruction N+2
What happens when a conditional branch occurs in an instruction?
OS should be aware of the registers that keep the current state of a running program
When OS stops running a program it should save all the registers to restore the current state of the program later on
28.CPU Modes
A bit in PSW controls the mode
Kernel (supervisor) Mode :
CPU can execute every instruction in its instruction set
CPU can use every feature of the hardware
OS runs in kernel mode
User Mode:
Only a subset of instructions can be run
And a subset of hardware features are accessed
Generally all instructions involving I/O and Memory protection are disallowed in that mode
To obtain OS services, a user program must make a system call that traps into kernel mode and invokes the OS
Trap instruction switches from user mode to kernel mode and starts the operating system (system calls and errors such as division by zero causes trap instructions)
29.Pipelining
Parallelize the fetch, decode, execute sequence
Three stage pipeline : While executing instruction N, decode instruction N+1, and fetch instruction N+2
What happens when a conditional branch occurs in an instruction?
30.Computer Hardware Review (2)
31.Memory Hierarchy
Magnetic Tape :
backup purposes and for storing very large data sets.
One dimensional, only sequential access is possible
Reliable (no tape crashes, or time based data corruption)
Was the main data storage medium of the past
Optic CDs:
Faster than tape
Used for permanent storage (now rewritable)
Magnetic Tape :
backup purposes and for storing very large data sets.
One dimensional, only sequential access is possible
Reliable (no tape crashes, or time based data corruption)
Was the main data storage medium of the past
Optic CDs:
Faster than tape
Used for permanent storage (now rewritable)
32.Magnetic disks:
are faster than tapes and CDs
They are the main storage medium these days
Data stored in concentric cylinders
Disk head moves in discrete steps
Each position of the disk head identifies a track (divided into multiple sectors, typically 512 bytes)
Rotates continuously with a certain speed (e.g. 10000 rpm)
are faster than tapes and CDs
They are the main storage medium these days
Data stored in concentric cylinders
Disk head moves in discrete steps
Each position of the disk head identifies a track (divided into multiple sectors, typically 512 bytes)
Rotates continuously with a certain speed (e.g. 10000 rpm)
33.Disk Structure
34.Disk Access
Data Transfer Rate (DTR) : The rate at which bits are read from disk and sent to the controller
Rotational Latency: The avg time to locate a bit on a track
Seek time : Avg time for locating the track
Data Transfer Rate (DTR) : The rate at which bits are read from disk and sent to the controller
Rotational Latency: The avg time to locate a bit on a track
Seek time : Avg time for locating the track
35.Low Level formatting : dividing the disk into tracks and sectors (usually Hard Disks are already formatted)
Partitioning
divides the disk drive into logical drives (C: D: E:) (using fdisk command in DOS)
Every disk drive has a primary partition (say C:) plus some extended partitions
High Level Formatting : Preparing drive partitions for the OS by creating a root directory, creating a FAT etc.
Partitioning
divides the disk drive into logical drives (C: D: E:) (using fdisk command in DOS)
Every disk drive has a primary partition (say C:) plus some extended partitions
High Level Formatting : Preparing drive partitions for the OS by creating a root directory, creating a FAT etc.
36.Depends on:
Number of sides used,
How close the bits are (denser the better)
Number of tracks on disk
2. And 3. determine the bits/square-inch
Early hard disks were 40 MB
Nowadays hundreds of GB
Number of sides used,
How close the bits are (denser the better)
Number of tracks on disk
2. And 3. determine the bits/square-inch
Early hard disks were 40 MB
Nowadays hundreds of GB
37.File System
File system enables us to store and access data on various storage systems
FAT16 (DOS and Windows 3.x)
FAT32 (Windows95 and higher, FAT16 can be converted to FAT32 )
NTFS (Windows NT, not compatible with FAT16 or FAT32)
Disk is addresses by clusters (collection of sectors, ex: 512x4 bytes, can be more for larger disks)
File system enables us to store and access data on various storage systems
FAT16 (DOS and Windows 3.x)
FAT32 (Windows95 and higher, FAT16 can be converted to FAT32 )
NTFS (Windows NT, not compatible with FAT16 or FAT32)
Disk is addresses by clusters (collection of sectors, ex: 512x4 bytes, can be more for larger disks)
38.Memory Hierarchy
Disks and tapes are mechanical devices, therefore they are slow compared to (RAM and Cache)
Main Memory (Random Access Memory) :
Volatile
Much Much faster than magnetic disks but more expensive too
Cache:
Faster than RAM and more expensive
CPU requests first go to cache, and if they are there (cache hit) then fine, if not there (cache miss) then RAM is accessed
There can be multiple cache levels
Cache is divided into cache lines (usually 64 bytes at each line)
Disks and tapes are mechanical devices, therefore they are slow compared to (RAM and Cache)
Main Memory (Random Access Memory) :
Volatile
Much Much faster than magnetic disks but more expensive too
Cache:
Faster than RAM and more expensive
CPU requests first go to cache, and if they are there (cache hit) then fine, if not there (cache miss) then RAM is accessed
There can be multiple cache levels
Cache is divided into cache lines (usually 64 bytes at each line)
39.Registers
They are the fastest accessible memory locations
Placed at the CPU.
They are usually of size 32 bits, or 64 bits depending on the CPU type
40.Read Only Memory (ROM)
Write once, read many times
Low level I/O cards
Code for starting the computer
Electrically Erasable Rom (EEPROM)
Non volatile
Flash RAM
Non volatile
They are the fastest accessible memory locations
Placed at the CPU.
They are usually of size 32 bits, or 64 bits depending on the CPU type
40.Read Only Memory (ROM)
Write once, read many times
Low level I/O cards
Code for starting the computer
Electrically Erasable Rom (EEPROM)
Non volatile
Flash RAM
Non volatile
41.CMOS (Complementary Metal Oxide Semiconductor)
Volatile but can be sustained with mother board battery for years.
May give checksum errors when being corrupted
Very small, 64 bytes.
Holds the current time and date, configuration parameters (like which disk to boot from etc.)
42."640K ought to be enough for anybody."
Bill Gates, 1981
Volatile but can be sustained with mother board battery for years.
May give checksum errors when being corrupted
Very small, 64 bytes.
Holds the current time and date, configuration parameters (like which disk to boot from etc.)
42."640K ought to be enough for anybody."
Bill Gates, 1981
43.Moore’s Law
The figures in the previous slide reflect the state of year 2001, and typical numbers change every year.
In General Moore’s Law:
The observation made in 1965 by Gordon Moore (co-founder of Intel)
He observed that the number of transistors per square inch on integrated circuits had doubled every year since the integrated circuit was invented.
He predicted that this will continue for the near future.
The pace slowed down a little to 18 months (instead of 12) and this is the current definition of Moore's Law,
Most experts expect Moore's Law to hold for at least another two decades.
44.Main Memory
It is a sequence of subcells
Each subcell can store only two values, 0, or 1 (one bit)
8 subcells (bits) is a cell = 1 byte
divided into words (of size 2 or 4 bytes)
Byte addressible
45.Compiling, Linking and Loading
Each processor has a set of predefined instructions that it can understand
Ex (Intel 8088) : C7 C0 C5 9A
This tells the processor to load register AX with data 9AC
Assembly language defines a set of symbolic instructions instead of OpCodes (like C7)
Ex (Intel 8088) : MOV AX, 9AC5H
Load register AX with data 9AC5 (written in Hexadecimal format)
The programs that you write are too high level
A program needs to be compiled into a sequence of instructions (Machine Language)
Machine Language can be directly fetched, decoded and executed by the CPU
The figures in the previous slide reflect the state of year 2001, and typical numbers change every year.
In General Moore’s Law:
The observation made in 1965 by Gordon Moore (co-founder of Intel)
He observed that the number of transistors per square inch on integrated circuits had doubled every year since the integrated circuit was invented.
He predicted that this will continue for the near future.
The pace slowed down a little to 18 months (instead of 12) and this is the current definition of Moore's Law,
Most experts expect Moore's Law to hold for at least another two decades.
44.Main Memory
It is a sequence of subcells
Each subcell can store only two values, 0, or 1 (one bit)
8 subcells (bits) is a cell = 1 byte
divided into words (of size 2 or 4 bytes)
Byte addressible
45.Compiling, Linking and Loading
Each processor has a set of predefined instructions that it can understand
Ex (Intel 8088) : C7 C0 C5 9A
This tells the processor to load register AX with data 9AC
Assembly language defines a set of symbolic instructions instead of OpCodes (like C7)
Ex (Intel 8088) : MOV AX, 9AC5H
Load register AX with data 9AC5 (written in Hexadecimal format)
The programs that you write are too high level
A program needs to be compiled into a sequence of instructions (Machine Language)
Machine Language can be directly fetched, decoded and executed by the CPU
46.Multi programming
A program needs to be loaded into main memory before it can be executed
Multiple programs in RAM
Problems:
How to protect programs from one another?
How to handle relocation?
We do not know which MM location the program will be loaded
We need to handle the addresses referenced in the program
Solution
Modify all addresses when loading (X)
Do it on-the-fly during execution (X)
Use base and limit registers (++)
A program needs to be loaded into main memory before it can be executed
Multiple programs in RAM
Problems:
How to protect programs from one another?
How to handle relocation?
We do not know which MM location the program will be loaded
We need to handle the addresses referenced in the program
Solution
Modify all addresses when loading (X)
Do it on-the-fly during execution (X)
Use base and limit registers (++)
47.Base register points to the start of the program text
Limit register tells how large the combined program and data are
When an instruction is to be fetched:
Hardware checks to see if the PC (program counter) is less than the limit register
If so adds it to the base register and sends the sum the the Main Memory.
Base register contents are added to every memory address reference, so program can not reference the memory below base register
Limit register makes it impossible to reference locations above it
Both Protection and Relocation problems are solved with base and limit registers
Limit register tells how large the combined program and data are
When an instruction is to be fetched:
Hardware checks to see if the PC (program counter) is less than the limit register
If so adds it to the base register and sends the sum the the Main Memory.
Base register contents are added to every memory address reference, so program can not reference the memory below base register
Limit register makes it impossible to reference locations above it
Both Protection and Relocation problems are solved with base and limit registers
48.I/O Devices
An input device transfers data from a mechanism like keyboard, mouse, touch screen, or microphone into a CPU register
CPU will then store the data into Main Memory
For Output devices, CPU fetches the information from main memory to its registers and transfers this information via the bus to an output device like screen, speaker, or printer.
Communication devices : serial and parallel ports, infrared transmitter/receivers, wireless network cards, network interface cards
An input device transfers data from a mechanism like keyboard, mouse, touch screen, or microphone into a CPU register
CPU will then store the data into Main Memory
For Output devices, CPU fetches the information from main memory to its registers and transfers this information via the bus to an output device like screen, speaker, or printer.
Communication devices : serial and parallel ports, infrared transmitter/receivers, wireless network cards, network interface cards
49.Interrupts
Once a device is started by the device driver, the application can not proceed until the operation is complete
The Device driver can do:
Polling and busy-waiting (continuously checking the flags of the device)
Or the device can signal the CPU when it has finished its job
Once a device is started by the device driver, the application can not proceed until the operation is complete
The Device driver can do:
Polling and busy-waiting (continuously checking the flags of the device)
Or the device can signal the CPU when it has finished its job
50.An interrupt request flag is added to CPU and control unit checks this flag during each fetch-execute cycle.
All the device done flags are connected to the interrupt request flag using OR logic.
When a “done” flag is set for any device, then the interrupt request flag is also set informing the control unit of CPU
All the device done flags are connected to the interrupt request flag using OR logic.
When a “done” flag is set for any device, then the interrupt request flag is also set informing the control unit of CPU
0 comments