Your SlideShare is downloading. ×
0
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Chapter 6
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Chapter 6

533

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
533
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. CHAPTER 6 OPERATING SYSTEMS
  • 2. TYPES OF COMPUTERS <ul><li>MAIN FRAMES </li></ul><ul><li>MINIS </li></ul><ul><li>SUPER COMPUTERS </li></ul><ul><li>WORKSTATIONS </li></ul><ul><li>PERSONAL COMPUTERS </li></ul>
  • 3. TYPES OF SOFTWARE <ul><li>APPLICATION SOFTWARE </li></ul><ul><li>SYSTEMS SOFTWARE </li></ul>
  • 4. EXAMPLES OF APPLICATION SOFTWARE: <ul><li>WORD-PROCESSING PROGRAMS </li></ul><ul><li>SPREADSHEET PROGRAMS </li></ul><ul><li>DATABASE MANAGEMENT </li></ul><ul><li>DESK TOP PUBLISHING </li></ul><ul><li>EDUCATIONAL/TUTORIALS </li></ul><ul><li>ENTERTAINMENT </li></ul><ul><li>ETC. </li></ul>
  • 5. EXAMPLES OF SYSTEMS SOFTWARE <ul><li>OPERATING SYSTEM SOFTWARE </li></ul><ul><ul><li>Language translators </li></ul></ul><ul><ul><li>Memory managers </li></ul></ul><ul><ul><li>Information managers </li></ul></ul><ul><ul><li>Schedulers </li></ul></ul><ul><ul><li>Utilities </li></ul></ul>
  • 6. EXAMPLES OF SYSTEMS SOFTWARE (continued) <ul><li>DEVICE DRIVERS </li></ul><ul><li>UTILITY PROGRAMS (VIRUS CHECKERS, DEFRAG PROGRAMS, ETC.) </li></ul>
  • 7. EXAMPLES OF SYSTEMS SOFTWARE <ul><li>OPERATING SYSTEM SOFTWARE </li></ul><ul><ul><li>Language translators: </li></ul></ul><ul><ul><ul><li>Assemblers (translators for low-level languages) </li></ul></ul></ul><ul><ul><ul><li>Compilers (translators for high-level languages) </li></ul></ul></ul>
  • 8. Programming Languages <ul><li>Low-level Languages </li></ul><ul><ul><li>Machine language </li></ul></ul><ul><ul><li>Assembly language </li></ul></ul><ul><li>High-level Languages (programming languages) </li></ul><ul><ul><li>BASIC, C++, FORTRAN, Pascal </li></ul></ul>
  • 9. Machine Language <ul><li>Instructions that can be decoded and executed by the control unit of a computer. </li></ul><ul><ul><li>The hardware language </li></ul></ul><ul><ul><li>First generation languages </li></ul></ul><ul><ul><li>Note: machine language programs are called object programs </li></ul></ul>
  • 10. Problems with Machine Language <ul><li>Difficult to understand </li></ul><ul><li>It uses binary, no English-like words, no mathematical expressions or symbols </li></ul><ul><li>Difficult to change </li></ul><ul><li>Difficult to create data </li></ul>
  • 11. Assembly Language <ul><li>The second generation of Languages. </li></ul><ul><li>Developed to produce more friendly environment between programmers and machines. </li></ul><ul><li>Each instruction is translated into exactly one binary machine language. </li></ul>
  • 12. Advantages of Assembly Language over Machine Language <ul><li>Use of symbolic operation codes (load , add, store, etc.) </li></ul><ul><li>Use of symbolic memory addresses (BEGIN, LOOP, COUNT, etc.) </li></ul><ul><ul><li>( i.e. BEGIN: LOAD X) </li></ul></ul><ul><ul><li>BEGIN is equivalent to the address of the memory holding instruction LOAD X </li></ul></ul><ul><ul><li>(See Figure 6.5 page 244) </li></ul></ul>
  • 13. Translation and Loading <ul><li>The program written in assembly must be translated into machine language. </li></ul><ul><li>Each instruction is translated into exactly one binary machine language. </li></ul><ul><li>Assembler , a piece of system software to provide this translation </li></ul><ul><li>This translation is written to a file called object file. </li></ul>
  • 14. Loading and Execution <ul><li>Assembler , a piece of system software to provide this translation </li></ul><ul><li>This translation is written to a file called object file. </li></ul><ul><li>Loader (part of system software) loads the instructions from object file into memory for execution. </li></ul><ul><li>The hardware begins the fetch, decode, and execute cycle. </li></ul>
  • 15. Assembly language program Assembler Machine language program Loader Machine language program loaded into memory Hardware Results Object program Source Program
  • 16. OPERATING SYSTEM SOFTWARE <ul><li>A COLLECTION OF PROGRAMS THAT CONTROL THE OVERALL OPERATION OF THE COMPUTER </li></ul>
  • 17. EXAMPLES OF O/S SOFTWARE: <ul><li>O/S SOFTWARE FOR MAIN FRAMES: </li></ul><ul><ul><li>IBM&apos;S MVS AND VM </li></ul></ul><ul><ul><li>DEC&apos;S VMS </li></ul></ul><ul><li>O/S FOR MINIs AND WORKSTATIONS: </li></ul><ul><ul><li>UNIX </li></ul></ul><ul><li>FOR PCs: </li></ul><ul><ul><li>IBM COMPATIBLE: </li></ul></ul><ul><ul><ul><ul><li>MS- DOS AND PC- DOS </li></ul></ul></ul></ul><ul><ul><ul><ul><li>WINDOWS 95/98 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>OS/2 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>UNIX </li></ul></ul></ul></ul><ul><ul><ul><ul><li>WINDOWS NT </li></ul></ul></ul></ul><ul><ul><li>MACINTOSH: </li></ul></ul><ul><ul><ul><ul><ul><li>OS-7, OS-8 </li></ul></ul></ul></ul></ul>
  • 18. <ul><li>Virtual Memory System </li></ul><ul><li>&lt;operating system&gt; (VMS) DEC&apos;s proprietary operating system originally produced for its VAX minicomputer. </li></ul><ul><li>VMS V1 was released in August 1978. VMS was renamed &amp;quot;OpenVMS&amp;quot; around version 5.5. </li></ul>
  • 19. MVS ==&gt;Multiple Virtual Storage &lt;operating system&gt; (MVS) Release 2 of OS/VS2, called MVS because it had multiple 16 MB virtual address spaces, in contrast to SVS. MVS ran on the IBM 390 series mainframes. It became MVS/SP, then MVS/XA (with 31-bit addressing) and then MVS/ESA.
  • 20. SO WHAT DOES AN OPERATING SYSTEM PROGRAM DO EXACTLY? <ul><li>1. RECEPTIONIST </li></ul><ul><li>2. SCHEDULER </li></ul><ul><li>3. RESOURCE MANAGER/EFFICIENCY EXPERT </li></ul><ul><li>4. DISPATCHER </li></ul><ul><li>5. SECURITY GUARD </li></ul><ul><li>6. FILE MANAGER </li></ul>
  • 21. 1. THE RECEPTIONIST: <ul><li>THE SHELL PROVIDES A USER INTERFACE; IT DISPLAYS THINGS ON THE SCREEN THAT WE USE TO INSTRUCT THE COMPUTER. </li></ul><ul><ul><li>WINDOWS USES A GRAPHICAL USER INTERFACE (GUI) </li></ul></ul><ul><ul><li>MICROSOFT’S DOS ORIGINALLY USED A COMMAND LINE INTERFACE. </li></ul></ul><ul><li>THE COMMAND PROCESSOR “WATCHES” THE KEYBOARD, MOUSE, AND OTHER INPUT DEVICES AND INTERPRETS INPUT (MOUSE CLICKS) </li></ul><ul><ul><li>IT PASSES OUR REQUESTS TO THE SCHEDULER . </li></ul></ul>
  • 22. 2. THE SCHEDULER: <ul><li>THE SCHEDULER ARRANGES FOR THE EXECUTION OR LOADING OF A PROGRAM (PLACING IT IN THE QUEUE). EACH RUNNING PROGRAM BECOMES A ‘PROCESS’ THAT MUST HAVE ITS TURN WITH THE CPU. </li></ul>
  • 23. 3. THE RESOURCE MANAGER/EFFICIENCY EXPERT: <ul><li>THE RESOURCE ALLOCATOR COORDINATES THE ASSIGNMENT OF PERIPHERIAL DEVICES. IT MAKES SURE THAT ALL PROGRAMS AND USERS GET TIMELY ACCESS TO THESE RESOURCES. </li></ul><ul><li>IT PREVENTS DEADLOCK AND IT MANAGES INTERUPT PROCESSING . </li></ul><ul><li>RESOURCES INCLUDE : CPU TIME , MEMORY SPACE , PERIPHERIAL DEVICES </li></ul>
  • 24. ALLOCATING RESOURCES: <ul><ul><li>THE CPU </li></ul></ul><ul><ul><li>IF MULTIPLE PROGRAMS ARE RUNNING IN MEMORY, THEY MAY HAVE TO SHARE THE CPU. THIS IS DONE USING MULTI-TASKING OR TIME SHARING. </li></ul></ul>
  • 25. ALLOCATING RESOURCES: <ul><ul><li>THE MEMORY MANAGER </li></ul></ul><ul><ul><li>ALLOCATES SPACE TO A PROCESS </li></ul></ul><ul><ul><li>RECOVERS THAT SPACE WHEN THE PROCESS COMPLETES. </li></ul></ul><ul><ul><li>MAKES SURE PROCESSES CANNOT ACCESS EACH OTHER’S MEMORY SPACE . </li></ul></ul><ul><ul><li>OTHER DEVICES: </li></ul></ul><ul><ul><ul><li>PROGRAM MAY COMPETE FOR THE USE OF PRINTERS AND OTHER DEVICES. THE O.S. MAKES SURE EVERYONE GETS A TURN AND NO DEADLOCKS OCCUR. </li></ul></ul></ul>
  • 26. 4. THE DISPATCHER: <ul><li>THE DISPATCHER COORDINATES THE SWITCHING OF THE CPU’S ATTENTION AMONG THE VARIOUS PROCESSES SCHEDULED FOR EXECUTION. </li></ul><ul><li>IT ALSO OVERSEES THE ACTUAL EXECUTION OF A PROCESS AND REPORTS BACK TO THE SCHEDULER WHEN THE PROCESS IS COMPLETE . </li></ul>
  • 27. 5. THE SECURITY GUARD: <ul><li>CONTROLS PASSWORD ACCESS TO THE SYSTEM </li></ul><ul><li>CONTROLS EACH FILE’S USER PRIVILEDGES SETTINGS </li></ul><ul><ul><li>THE FILE’S OWNER CAN READ, EDIT, DELETE IT </li></ul></ul><ul><ul><li>SOME USERS CAN READ BUT NOT EDIT IT </li></ul></ul><ul><ul><li>SOME USERS CAN NEITHER READ NOR EDIT IT </li></ul></ul>
  • 28. 6. The File Manager: <ul><li>THE FILE MANAGER MAINTAINS THE LOCATIONS AND FILE ACCESS PRIVILEGES OF EVERY FILE. </li></ul><ul><li>IT LOCATES FILES WHEN YOU REQUEST THEM. </li></ul>
  • 29. THE OPERATING SYSTEM MAKES THE SYSTEM SEEM MORE USER FRIENDLY (magician) <ul><li>IT DOES THIS BY CREATING ILLUSIONS. </li></ul><ul><li>IT CREATES THE ILLUSION THAT FILES ARE ACTUALLY STORED IN FOLDERS </li></ul><ul><li>IT CREATES THE ILLUSION THAT FILES ARE DELETED BY DRAGGING THEM INTO A PICTURE OF A WASTE BASTET. </li></ul>
  • 30. THE OPERATING SYSTEM MAKES THE SYSTEM SEEM MORE USER FRIENDLY <ul><li>IT CREATES THE ILLUSION THAT YOU HAVE X AMOUNT OF MEMORY WHEN REALLY YOU ONLY HAVE Y AMOUNT OF MEMORY. </li></ul><ul><li>WE USE THE TERM “ VIRTUAL ” TO REFER TO A CHARACTERISTIC WHOSE EXISTENCE IS SIMULATED WITH SOFTWARE RATHER THAN ACTUALLY EXISTING WITHIN HARDWARE. </li></ul>
  • 31. OTHER COMPONENTS OF THE OPERATING SYSTEM: UTILITIES <ul><li>TODAY’S O.S.’S ALSO CONTAIN A VARIETY OF ADDITIONAL PROGRAMS </li></ul><ul><li>EXAMPLES: EDITORS, LANGUAGE TRANSLATORS, FILE FINDERS, DISK FORMATTERS, ETC . </li></ul>
  • 32. AND SOME OPERATING SYSTEMS CONTAIN LIBRARIES <ul><li>UNIX CONTAINS PARTIAL ROUTINES FOR THE INCLUSION INTO USER-WRITTEN PROGRAMS. </li></ul><ul><li>WHEN YOU WRITE A PROGRAM IN ‘C’, YOU CAN INSERT (ACTUALLY “ LINK ”) A SEGMENT OF CODE INTO YOUR OWN PROGRAM. </li></ul>
  • 33. HISTORICAL OVERVIEW OF OPERATING SYSTEMS: <ul><li>OPERATING SYSTEMS BEGAN AS SYSTEMS FOR SIMPLIFYING PROGRAM SETUP AND FOR STREAMLINING TRANSITION BETWEEN JOBS. </li></ul>
  • 34. FIRST GENERATION (1945-1955) - SERIAL PROCESSING - NO OPERATING SYSTEM PROGRAM <ul><li>APPLICATION PROGRAMMERS... DO IT YOURSELF! </li></ul><ul><li>BRING YOUR OWN PROGRAMS (ON TAPE OR PUNCH CARD) TO THE COMPUTER! </li></ul><ul><li>SET UP THE HARDWARE BY MOUNTING TAPES OR LOADING CARDS INTO A CARD READER, PRESS THE BUTTON ON THE CONSOLE TO GET A PROGRAM TO COMPILE! </li></ul><ul><li>THE CPU WAS BORED MOST OF THE TIME. </li></ul>
  • 35. SECOND GENERATION (1955-1965) - BATCHED PROCESSING (THE IBM 701 &amp; 704) <ul><li>APPLICATION PROGRAMMERS... GIVE IT TO THE COMPUTER OPERATOR! </li></ul><ul><li>HE’LL ADD YOUR PROGRAM TO THE BATCH OF JOBS IN MASS STORE AND THE JOB QUEUE. </li></ul><ul><li>WHEN ONE PROGRAM FINISHED EXECUTING, THE OS STARTED THE NEXT JOB. </li></ul><ul><li>IF YOUR PROGRAM REQUIRED THAT THE COMPUTER OPERATOR LOAD A TAPE BEFORE YOUR PROGRAM EXECUTES, YOUR PROGRAM WOULD CONTAIN JOB CONTROL INSTRUCTIONS THAT THE OS. WOULD DISPLAY ON A CONSOLE AT THE START OF YOUR JOB. </li></ul><ul><li>PROGRAMS RAN IN SERIAL - ONE AFTER THE OTHER. THE CPU WAS BORED 96% OF THE TIME. </li></ul>
  • 36. HOW WOULD YOU LIKE TO BE A 2ND GENERATION OPERATING SYSTEM PROGRAMMER? <ul><li>YOU WOULD HAVE TO ADD MEMORY PROTECTION FEATURES </li></ul><ul><li>YOU MUST MAKE SURE THAT PROGRAMS DO NOT ATTEMPT TO ACCESS A MEMORY LOCATION THAT IS OUTSIDE OF ITS DESIGNATED PROGRAM-SPACE. </li></ul>
  • 37. THIRD GENERATION (MID 1960&apos;S) - MULTI-PROGRAMMED, BATCHED SYSTEMS <ul><li>APPLICATION PROGRAMMERS... GIVE ME YOUR PROGRAMS! </li></ul><ul><li>MY OPERATING SYSTEM WILL LOAD THEM ALL INTO MEMORY AT ONCE! </li></ul><ul><li>BUT IF YOUR JOB PAUSES TO DO A (SLOW) I/O OPERATION, MY OPERATING SYSTEM WILL PUT YOUR PROGRAM ON HOLD (CALLED A “WAIT-STATE”) AND START RUNNING SOMEONE ELSE’S PROGRAM! YOU’LL GET TO FINISH YOUR TURN LATER. </li></ul>
  • 38. HOW WOULD YOU LIKE TO BE A 3RD GENERATION OPERATING SYSTEM PROGRAMMER? <ul><li>NOW YOU’VE GOT TO KNOW HOW TO PAUSE AND RESUME RUNNING PROCESSES! </li></ul><ul><li>MULTI-PROGRAMMING REQUIRES THE USE OF INTERRUPTS! (INTERRUPTS ARE DISCUSSED UNDER “TIME SHARING)”. </li></ul>
  • 39. THEN CAME THE “AGE OF THE INTERACTIVE COMPUTER” <ul><li>(MY TURN, COMPUTER’S TURN, MY TURN, COMPUTER’S TURN....) </li></ul><ul><li>AIRLINE RESERVATION SYSTEMS, VISA AUTHORIZATION SYSTEMS, FINANCIAL INSTITUTION ON-LINE SYSTEMS </li></ul><ul><li>LOTS OF PEOPLE INTERACTING WITH THE MAINFRAME, ALL WANTING RAPID RESPONSE TIME. </li></ul><ul><li>LET’S GIVE EVERYBODY A “TIME SLICE”! </li></ul>
  • 40. TIME SHARING <ul><li>USER 1 GETS 1/10 OF A SECOND OF CPU TIME, THEN USER 2 GETS 1/10 OF A SECOND OF CPU TIME, THEN USER 3, THEN USER 1 AGAIN, THEN USER 2 AGAIN... </li></ul>
  • 41. TIME SHARING REQUIRES INTERRUPT HANDLING <ul><li>THE CPU IS EXECUTING YOUR PROCESS. </li></ul><ul><li>YOUR TIME IS UP. IT’S MY TURN. </li></ul><ul><li>AN INTERUPT SIGNAL IS SENT TO THE CPU. </li></ul><ul><li>THE CPU COMPLETES THE CURRENT MACHINE CYCLE. </li></ul><ul><li>THE CPU RECORDS THE ADDRESS OF THE NEXT INSTRUCTION TO BE EXECUTED IN YOUR PROCESS, AND THE CONTENTS OF EACH OF ITS REGISTERS (CALLED THE “STATE OF THE PROCESS”) </li></ul><ul><li>IT (RE)LOADS THE NEXT (FIRST) INSTRUCTION IN MY PROCESS AND STARTS EXECUTING MY PROCESS. </li></ul>
  • 42. AND THEN CAME THE PC.... <ul><li>PCs APPEARED ON PEOPLE’S WORK DESKS AROUND 1981 </li></ul><ul><li>THE CONCEPT OF A LARGE CENTRAL MACHINE SERVING MANY USERS GAVE WAY TO THE CONCEPT OF MANY SMALL MACHINES CONNECTED VIA NETWORK . </li></ul>
  • 43. FOURTH GENERATION OPERATING SYSTEMS: THE NETWORK OPERATING SYSTEM! <ul><li>APPLICATION PROGRAMMERS... GIVE ME YOUR PROGRAMS! </li></ul><ul><li>MY OPERATING SYSTEM CAN HANDLE ALL YOUR REQUEST! </li></ul><ul><li>IF YOU WANT TO DOWNLOAD FILES FROM THE MAINFRAME, FINE! IF YOU WANT TO PRINT USING THE LASER PRINTER DOWN THE HALL, FINE! I CAN HANDLE IT! WANT YOUR E-MAIL? FINE! </li></ul><ul><li>OS MUST BE ABLE TO COORDINATE THE ACTIVITIES OF MANY COMPUTERS SIMULTANEOUSLY. </li></ul>
  • 44. HOW WOULD YOU LIKE TO BE A 4TH GENERATION OPERATING SYSTEM PROGRAMMER? <ul><li>BECAUSE OF THE LIMITATIONS ON (EARLY) PC MEMORY, YOU’D HAVE TO USE MORE SOPHISTICATED MEMORY MANAGERS, OTHERWISE YOU MIGHT RUN OUT OF MEMORY SPACE ON YOUR PC WHEN YOU’RE LOADING THOSE SOPHISTICATED PROGRAMS AND LARGE FILES. </li></ul><ul><li>BECAUSE SO MANY PEOPLE ARE USING COMPUTERS, YOU’LL NEED A BETTER, FRIENDLIER USER INTERFACE (A NEW RECEPTIONIST) </li></ul><ul><li>WHAT ELSE CAN YOU THINK OF? </li></ul>
  • 45. WHAT IS A FIFTH GENERATION OPERATING SYTEM? <ul><li>MORE POWERFUL USER INTERFACES SUCH AS VOICE RECOGNITION SYSTEMS. </li></ul><ul><li>PARALLEL PROCESSING SYSTEMS THAT CAN MANAGE HUNDREDS OF PROCESSORS AT A TIME. </li></ul><ul><li>DISTRIBUTED SYSTEM WHICH WOULD PROVIDE USERS WITH FILES, ACCESS TO PRINTERS, ACCESS TO MAIL, TOTALLY TRANSPARANTLY TO THE USER. USERS COULD ACCESS FILES WITHOUT KNOWING WHERE THOSE FILES ARE STORED OR SEND OUTPUT TO DIFFERENT PRINTERS WITHOUT KNOWING HOW TO SELECT DIFFERENT PRINT DRIVERS. </li></ul>
  • 46. THE BOOT PROCESS: <ul><li>1. THE POWER SUPPLY DISTRIBUTES CURRENT TO THE MOTHER BOARD. </li></ul><ul><li>2. THE CPU PASSES CONTROL TO THE BIOS PROGRAM STORED PERMANENTLY THE COMPUTER&apos;S MEMORY (IN ROM CHIPS) THE BIOS PROGRAM BEGINS EXECUTING. </li></ul>
  • 47. THE BOOT PROCESS: <ul><li>3..THE RESIDENT PORTION OF THE OPERATING SYSTEM ( THE KERNEL ) LOADS INTO RAM MEMORY. </li></ul><ul><li>4. THE KERNEL EXECUTES THE COMMANDS IN THE CONFIGURAION FILES (DEVICE DRIVERS ARE LOADED) </li></ul>
  • 48. THE BOOT PROCESS: <ul><li>5. THE KERNEL LOADS THE COMMAND INTERPRETOR PROGRAM ( COMMAND.COM ). </li></ul><ul><li>6. THE COMMAND INTERPRETOR EXECUTES THE STATEMENTS IN THE AUTOEXEC.BAT FILE. </li></ul>

×