Class 1: Introduction - What is an Operating System?

5,737 views

Published on

What is an Operating System?

http://www.rust-class.org

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

No Downloads
Views
Total views
5,737
On SlideShare
0
From Embeds
0
Number of Embeds
2,022
Actions
Shares
0
Downloads
111
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Class 1: Introduction - What is an Operating System?

  1. 1. Class 1: Introduction cs4414 Fall 2013 University of Virginia David Evans Image: Roger Halbheer
  2. 2. What is an Operating System? 1
  3. 3. An operating system is a program that manages a computer’s hardware. It also provides a basis for application programs and acts as an intermediary between the computer user and the computer hardware. An amazing aspect of operating systems is how they vary in accomplishing these tasks. Mainframe operating systems are designed primarily to optimize utilization of hardware. Personal computer (PC) operating systems support complex games, business applications, and everything in between. Operating systems for mobile computers provide an environment in which a user can easily interface with the computer to execute programs. Thus, some operating systems are designed to be convenient, others to be efficient, and others to be some combination of the two. 2
  4. 4. It is hard to pin down what an operating system is other than saying it is the software that runs in kernel mode – and even that is not always true. Part of the problem is that operating systems perform two basically unrelated functions: providing application programmers (and application programs, naturally) a clean abstract set of resources instead of the messy hardware ones and managing these hardware resources. 3
  5. 5. What’s an operating system? You might say it’s what’s between you and the hardware, but that would cover pretty much all software. So let’s say it’s the software that sites between your software and the hardware. But does that mean that the library you picked up from some web site is part of the operating system? We probably want our operating-system definition to be a bit less inclusive. So, let’s say that it’s that software that almost everything else depends upon. This is still vague, but then the term is used in a rather nebulous manner throughout the industry. Perhaps we can do better by describing what an operating system is actually supposed to do. From a programmer’s point of view, operating systems provide useful abstractions of the underlying hardware facilities. Since many programs can use these facilities at once, the operating system is also responsible for managing how these facilities are shared. 4
  6. 6. An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function. 5
  7. 7. cs4414 OS Definition An operating system is a program that: Manages Resources How do you share processors, memory, and other hardware devices among programs? Provides Abstractions How do you provide programs with clean and easy to use interfaces to resources, without sacrificing (too much) efficiency and flexibility? 6
  8. 8. Does it have an Operating System? 7
  9. 9. 1977 8
  10. 10. ✖ Manage Resources ✔ Provide Abstractions 9
  11. 11. 10
  12. 12. 11
  13. 13. Simplistic View of Computing Systems Applications Operating System Hardware 12
  14. 14. More Realistic View 13
  15. 15. Main Ideas in cs4414 Managing Resources How do you share processors, memory, and hardware devices among programs? Providing Abstractions How do you provide programs with clean and easy to use interfaces to resources, without sacrificing (too much) efficiency and flexibility? 14
  16. 16. What is the minimal hardware support needed for an operating system (that can manage resources)? Programs Programs Operating System CPU CPU Memory Memory 15
  17. 17. 16
  18. 18. Content of the Course Problem Sets: systems programming Not in supervisor mode: above the level of the “operating system” Breaking into abstractions that are provided by OS or libraries Classes: understanding more of what is going on underneath 17
  19. 19. Charge • Do everything on the Class 1 notes Action Items before midnight tomorrow – Student survey – Office hours poll – Setup your student github account • Next class: – Brief history of operating systems – Introduction to Rust – Course syllabus questions 18

×