1. KERNEL IS THE ONE PROGRAM RUNNING AT ALL TIMES ON THE COMPUTER.
2. INTERRUPT
2.1. DEVICE CONTROLLER INFORMS CPU THAT IT HAS FINISHED ITS OPERATION.
2.2. TWO TYPES OF INTERRUPT
2.2.1. POLLING
2.2.1.1. NOTIFIES THE PART OF THE COMPUTER CONTAINING THE I/O INTERFACE THAT A DEVICE IS READY TO BE READ OR OTHERWISE HANDLED BIT DOES NOR INDICATE WHICH DEVICES.
2.2.2. VECTORED
2.2.2.1. TELLS THE PART OF THE COMPUTER THAT HANDLES I/O INTERRUPT IS AN I/O INTERRUPTS AT THE HARDWARE LEVEL THAT A REQUEST FOR ATTENTION FROM AN I/O DEVICE HAS BEEN RECEIVED AND ALSO IDENTIFIES THE DEVICE THAT SENT THE REQUEST.
2.3. OS IS INTERRUPT DRIVEN
2.3.1. HARDWARE
2.3.1.1. INTERRUPT BY ONE OF THE DEVICE
2.3.2. SOFTWARE
2.3.2.1. DIVISION BY ZERO
2.3.2.2. REQUEST FOR OPERATING SERVICE
2.3.2.3. INFINITE LOOP
2.3.2.3.1. HOW TO PREVENT IT?
3. CACHING - COPYING INFORMATION INTO FASTER STORAGE SYSTEM; MAIN MEMORY CAN BE VIEWED AS A CACHE FOR SECONDARY STORAGE
4. DEVICE DRIVER - PROVIDES UNIFORM INTERFACE BETWEEN CONTROLLER AND KERNEL
5. OPERATING SYSTEM STRUCTURE
5.1. MULTIPROGRAMMING (BATCH SYSTEM)
5.1.1. JOB SCHEDULING
5.2. TIMESHARING (MULTITASKING)
6. USER MODE AND KERNEL MODE
7. PROCESS MANAGEMENT ACTIVITIES
7.1. CREATING AND DELETING BOTH USER AND SYSTEM PROCESSES
7.2. SUSPENDING AND RESUMING PROCESSES
7.3. PROVIDING MECHANISMS FOR PROCESS SYNCHRONIZATION
7.4. PROVIDING MECHANISM FOR PROCESS COMMUNICATION
7.5. PROVIDING MECHANISMS FOR DEADLOCK HANDLING
8. PROTECTION - ANY MECHANISM FOR CONTROLLING ACCESS OF PROCESSES OR USERS TO RESOURCES DEFINED BY THE OS
9. SECURITY - DEFENSE AGAINST SYSTEM AGAINST INTERNAL AND EXTERNAL THREATS
10. WHAT IS OPERATING SYSTEM?
10.1. A PROGRAM THAT ACTS AS AN INTERMEDIARY BETWEEN A USER OF COMPUTER AND COMPUTER HARDWARE.
10.2. GOALS
10.2.1. EXECUTE USER PROGRAMS AND MAKE SOLVING USER PROBLEMS EASIER
10.2.2. MAKE THE COMPUTER SYSTEM CONVENIENT TO USE
10.2.3. USE THE COMPUTER HARDWARE IN AN EFFICIENT MANNER
10.3. OS FUNCTIONS
10.3.1. RESOURCE ALLOCATOR
10.3.1.1. MANAGE ALL RESOURCES
10.3.1.2. DECIDES BETWEEN CONFLICTING REQUESTS FOR EFFICIENT AND FAIR RESOURCE USE.
10.3.2. CONTROL PROGRAM
10.3.2.1. CONTROLS EXECUTION OF PROGRAMS TO PREVENT ERRORS AND IMPROPER USE OF THE COMPUTER.
11. COMPUTER SYSTEM
11.1. HARDWARE
11.1.1. PROVIDES BASIC COMPUTING RESOURCES
11.2. OPERATING SYSTEM
11.2.1. CONTROLS AND COORDINATES USE OF HARDWARE AMONG VARIOUS APPLICATIONS AND USERS
11.3. APPLICATION PROGRAMS
11.3.1. WORD PROCESSORS, COMPILERS, WEB BROWSERS, DATABASE SYSTEM, VIDEO GAMES
11.4. USERS
11.4.1. PEOPLE, MACHINES, OTHER COMPUTERS
11.4.2. PEOPLE, MACHINES, OTHER COMPUTERS
12. I/O STRUCTURE
12.1. SYSTEM CALL
12.1.1. REQUEST TO THE OS TO ALLOW USER TO WAIT FOR I/O COMPLETION
12.2. DEVICE-STATUS TABLE
12.2.1. CONTAINS ENTRY TO DETERMINE DEVICE STATUS AND TO MODIFY TABLE ENTRY TO INCLUDE INTERRUPT.
13. STORAGE STRUCTURE
13.1. MAIN MEMORY
13.1.1. ONLY LARGE STORAGE MEDIA THAT THE CPU CAN ACCESS DIRECTLY
13.1.2. RANDOM ACCESS
13.1.3. TYPICALLY VOLATILE
13.2. SECONDARY STORAGE
13.2.1. EXTENSION OF MAIN MEMORY THAT PROVIDES
13.3. HARD DISKS
13.3.1. RIGID METAL OR GLASS PLATTERS COVERED WITH MAGNETIC RECORDING MATERIALS
13.4. SOLID STATE DISKS
13.4.1. FASTER THAT HARD DISKS, NONVOLATILE
14. DIRECT MEMORY ACCESS STRUCTURE
14.1. USED FOR HIGH SPEED I/O DEVICES ABLE TO TRANSMIT INFORMATION AT CLOSE TO MEMORY SPEEDS.
14.2. DEVICE CONTROLLER TRANSFERS BLOCKS OF DATA FROM BUFFER STORAGE DIRECTLY TO MAIN MEMORY WITHOUT CPU INTERVENTION
15. COMPUTER SYSTEM ARCHICTECTURE
15.1. MOST SYSTEM USE A SINGLE GENERAL PURPOSE PROCESSOR
15.2. MULTIPROCESSORS
15.2.1. ALSO KNOWN AS PARALLEL SYSTEM, TIGHTLY COUPLED SYSTEM
15.2.2. ADVANTAGES
15.2.2.1. INCREASED THROUGHTPUT
15.2.2.2. ECONOMY OF SCALE
15.2.2.3. INCREASED RELIABILITY
15.2.3. ASYMMETRIC
15.2.3.1. EACH PROCESSOR IS ASSIGNED A SPECIFIC TASK
15.2.4. SYMMETRIC
15.2.4.1. EACH PROCESSOR PERFORM ALL THE TASKS
16. MEMORY MANAGEMENT
16.1. KEEPING TRACK OF WHICH PARTS OF MEMORY ARE CURRENTLY BEING USED AND BY WHOM
16.2. DECIDING WHICH PROCESSES AND DATA TI MOVE INTO AND OUT OF MEMORY
16.3. ALLOCATING AND DEALLOCATING MEMORY SPACE AS NEEDED
17. STORAGE MANAGEMENT
17.1. FILE SYSTEM MANAGEMENT
17.1.1. FILES USUALLY ORGANIZED INTO DIRECTORIES
17.1.2. ACCESS CONTROL ON MOST SYSTEMS TO DETERMINE WHO CAN ACCESS WHAT
17.1.3. OS ACTIVITES
17.1.3.1. CREATING AND DELETING FILES AND DIRECTORIES
17.1.3.2. PRIMITIVES TO MANIPULATE FILES AND DIRECTORIES
17.1.3.3. MAPPING FILES ONTO SECONDARY STORAGE
17.1.3.4. BACKUP FILES ONTO STABLE STORAGE MEDIA