Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its:...
-
Upload
eleanore-lester -
Category
Documents
-
view
216 -
download
3
Transcript of Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its:...
![Page 1: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/1.jpg)
Operating Systems
Lecture 1
Jinyang Li
![Page 2: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/2.jpg)
Class goals
• Understand how an OS works by studying its:– Design principles– Implementation realities
• Gain some hands-on experience with implementing some OS components
![Page 3: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/3.jpg)
OS makes a computer “usable”
• What is an OS? • Why need an OS? (Why not directly programm h/w?)
– Lots of tedious details– Devices differ in their programming details– Redundant work across apps – Many apps want to use the same device (simultaneously)
QuickTime™ and a decompressor
are needed to see this picture.
QuickTime™ and a decompressor
are needed to see this picture. QuickTime™ and a decompressor
are needed to see this picture.QuickTime™ and a decompressorare needed to see this picture.
![Page 4: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/4.jpg)
What’s an OS?
• The small view:– A library that manages hardware
• The big view:– OS provides an abstract machine on top of
the physical machine– The abstract machine has better properties
than the physical one
![Page 5: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/5.jpg)
OS is an abstract machine
Hardware(CPU, memory, disk, printer,
network cards)
OS kernel(e.g. Linux, OS X, Windows)
User applications (e.g. emacs, firefox)
OS controls h/w using h/w’s interfacee.g. write data to diskread h/w registerwrite h/w register to set up DMAstart DMA….
Apps use OS interfaces:e.g. write data to a filewrite(fd, buffer);
![Page 6: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/6.jpg)
This class is about both design & implementation
Hardware(CPU, memory, disk, printer,
network cards)
OS kernel(e.g. Linux, OS X, Windows)
User applications (e.g. emacs, firefox)
How to program the hardware is part of the OS implementation
What type of OS abstractions to provide to apps is part of the OS design
![Page 7: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/7.jpg)
Typical OS services
• Processes
• Address space
• File contents
• File namespace (directories, pathnames)
• Inter-process communication
• …
![Page 8: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/8.jpg)
OS design goals• Usability: abstract the hardware for programmer
convenience• Utilization: Multiplex the hardware among
multiple applications• Robustness: Isolate applications to contain
bugs; prevent bad apps from crashing OS• High Performance, low overhead
![Page 9: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/9.jpg)
Why is OS design hard?
• Performance vs. ease of programmability
• Many features
• Complex component interactions
• Constantly evolving to handle new h/w, new app demands etc.
• Open problems: security, parallelism
![Page 10: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/10.jpg)
Why should you take this class?
• OS is the foundation of systems programming– It’s challenging and important
• Learn what goes under the hood so you’ll be better at:– Using OS services effectively to build your own
programs– Understanding the performance of your own programs– Diagnosing bugs and security problems
![Page 11: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/11.jpg)
Class structure
• Staff:– Jinyang Li, 715 Broadway Rm 708
• Lectures– Teach basic OS concepts– Read required book chapters, papers, handouts
before attending lecture– Check class schedule on the web often!
![Page 12: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/12.jpg)
Class structure• Mini-labs
– 3 programming labs– C-based– Each lab is a fully functional small kernel illustrating
one OS functionality– You need to have basic C programming experience
to do the labs!
• Two quizzes– In-class quizzes, one mid-term, one final quiz– Strong students can skip final quiz and do a project
instead (upon approval)
![Page 13: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/13.jpg)
Class materials• WebSite
– http://www.news.cs.nyu.edu/~jinyang/sp09– Check schedule, announcements, reading preparation,
labs etc.
• Textbook– ``Modern Operating Systems'' by Andrew Tanenbaum– Lectures loosely follow this book
• Class mailing list:– [email protected]– Email the list your question so everybody can
contribute to the discussion
![Page 14: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/14.jpg)
How are you evaluated?
• Class participation (10%)
• Three labs (15% each)
• Two quizzes (25% each)
![Page 15: Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3fd85/html5/thumbnails/15.jpg)
Question?