360 likes | 497 Views
Operating Systems. Prof. Navneet Goyal Department of Computer Science & Information Systems BITS, Pilani. Team. Prof. Navneet Goyal (goel@) Prof. J P Misra(jpm@) Varuni Ganesan(varuni@). Text & Reference Books. Text Book
E N D
Operating Systems Prof. Navneet Goyal Department of Computer Science & Information Systems BITS, Pilani
Team • Prof. Navneet Goyal (goel@) • Prof. J P Misra(jpm@) • Varuni Ganesan(varuni@)
Text & Reference Books Text Book • Silberschatz, A, Galvin, P.B, and Gagne, G., Operating System Principles, 7e, John Wiley & Sons, 2006. Reference Books • Stallings W., Operating Systems, 4e, PHI, 2001. • Bach, M.J., The Design of the UNIX Operating System, PHI, 1986.
Evaluation Components • Test 1 (20%) • Test 2 (20%) • Online Test * (20%) • Comprehensive Exam (40%) * Details will be announced later
What is OS? O P E R A T I N G S Y S T E M How do I use them? How do I manage them?
What is an OS? • Interface between humans & computers • Interface between software & hardware • An OS is a software (a very complex one!) that makes the hardware usable by humans/software • Hardware provides “raw computing power” • OS makes the computing power conveniently available to users, by managing the hardware carefully to achieve good performance • OS is a “Manager” of resources!
History of OS • Evolved through generations through 1940s • One decade roughly corresponding to one generation • Early computers lacked any form of operating system • User had sole use of the machine and would arrive armed with program and data, often on punched paper and tape • The program would be loaded into the machine, and the machine would be set to work until the program completed or crashed
History of OS • Computers of this time were so primitive compared to those of today that programs were often entered into the computer one bit at a time on rows of mechanical switches • Punched cards & Paper tapes • Single user systems – all resources were at the user’s disposal • No need to manage resources! • User wrote all of the code necessary to implement a particular application, including the highly detailed machine level I/O instructions
History of OS • Programs could generally be debugged via a front panel using switches and lights • Alan Turing was a master of this on the early Manchester Mark I machine
Alan Turing • Alan Mathison Turing (23 June 1912 – 7 June 1954) was an English Mathematician, logician and cryptographer • Turing is often considered to be the father of modern computer science • Association of Computing Machinery (ACM) has constituted an award “Turing Award” in his honour • Turing Award is considered as the Nobel Prize for Computer Science
History of OS • Early single user systems were dedicated to one job for more than the job’s execution time! • High turn-around time • Reason? • Considerable time needed for job ‘setup’ and job ‘teardown’ • Automation of job-to-job transition • First OS was designed by the General Motors Research Laboratories for their IBM 701 mainframe beginning in early 1956
History of OS • Its success helped establish batch computing – the groupings of the jobs into a single deck of cards • Separated by control cards • Control cards instructed computers about the various specification of the job • Job Control Language (JCL) • Job control cards helped in setting up the job • This type of processing called single stream batch processing systems became the state-of-the-art in the early 1960s
History of OS • The 1960s – Disappointing Efforts of IBM to Develop OS/360 Operating System • In April 1964, IBM introduced its new generation of mainframe computers, System/360 • For this computer system, IBM also planned a very ambitious operating system, called OS/360 • Estimated budget of $ 125 million (at that time!!) • Multiprogramming concepts
History of OS • 1000 programmers were working on it simultaneously • “The bearing of a child takes nine months, no matter how many women are assigned” (Brooks, 1974, p. 17) • IBM had spent half a billion dollars on it – four times the original estimate of $125 million • When OS/360 came out in late 1967, it was not just late but full of bugs as well, that took years to eradicate • The failure of OS/360 gave rise to the concept of Software Engineering
History of OS – Contd… • IBM developed many sequels of OS/360 for its system/360 system • These OSes were for mainframes only • Bell joined project MUTLICS (Multiplexed Information and Computing Service) at MIT in 1965 but withdrew in 1969 (complex, costly, cumbersome)
History of OS – Contd… • Bell started its own effort – UNIX • First version was written in Assembly language which made it machine dependent • Ritchie who was working on UNIX (was earlier with MULTICS) developed a new language C for writing UNIX • C made UNIX portable • UNIX case study (will be covered in common hours)
History of OS – Contd… • In 1983, Thompson and Ritchie received the ACM’s Turing Award • In January 1975, the first microprocessor-based computer, the Altair 8800 was introduced • Bill Gates and Paul Allen formed a partnership which they named Micro-Soft (the hyphen was dropped later) • BASIC programming system licensed to MITS (Micro Instrumentation and Telemetry Systems) in February 1975 on royalty basis
History of OS – Contd… • IBM for its PC wanted to negotiate with Gates for BASIC • IBM also sought his help for developing OS • Royalty model - $10 - $50 for each copy sold • Microsoft, however, did not have an actual operating system ready, neither did it have the resources to develop one to beat IBM’s deadline.
History of OS – Contd… • However, Gates knew that TimPaterson, the owner of Seattle Computer Products had developed an operating system for Intel 8086 chip, known internally by QDOS for “Quick and Dirty Operating System.” • Microsoft initially paid $ 15,000 for the rights to use the product and later paid a larger sum of money for the complete rights. Microsoft, after slight modification named it MSDOS (MS standing for Microsoft) • Rest is History!
Functionalities • What functionalities a user should expect from the OS? • Provide easy to use User interface • Input & output • Enable computing • Resource Sharing • Organizing data • Security • Support for networking • Efficient utilization of resources
Functionalities • Providing easy to use User interface • Command line interface (DOS, UNIX) • Graphical User Interface (WINDOWS, LINUX)
Functionalities • Input & output • Support for different I/O devices • Keyboard, mouse, pointing devices, joy stick, CD, USB • Monitor, printer, speaker etc.
Functionalities • Enable computing • Allocation of resources (CPU, Memory,…) • Programs can execute only if it is loaded in memory
Functionalities Some Questions: Program Execution • Who loads it in memory? • How it is loaded/unloaded? • Who decides how much memory is required for a program? • Who decides the location of program in memory? • After loading how and when the execution begins?
Functionalities Some More Questions Can there be more than one program in memory at the same time? If YES, then • Who will guarantee territorial integrity? • Which program will execute first and for how long? • How much memory is required for each program?
Functionalities • Resource Sharing • Processor • Memory • I/O devices • File sharing
Functionalities • Organizing data • Concept of files and file system support • Concept of directories • Hierarchical structure File system is nothing but an abstraction of persistent storage
Functionalities • Security • Controlled system access • Controlled file/directory access • Permissions & passwords
Functionalities • Support for networking • Support for networking protocols • TCP/IP • Network card
Functionalities • Efficient utilization of resources • Processor • Memory • I/O
How much you know? • 32-bit, 64 bit processor • 3 GHz processor • Dual core, Quad core • Mobile OS • RTOS
Next Lecture • Components & Architecture of OS • Kernel of OS • “The one program running at all times on the computer” is the kernel of the OS. Everything else is either a system program (ships with the operating system) or an application program How we are able to work on more than one documents simultaneously?