Operating systems courseClass 1/spring 2013
2
Teacher: Pekka
• [email protected]• Skype pmakkone• http://fi.linkedin.com/pub/pekka-makkonen/
24/643/155• Room 1.242• Here at TTC until next summer• Tenure lecturer’s position at the University of
Jyvӓskylӓ in Finland (www.jyu.fi)
3
Course content• Introduction• Windows• Processes (next week)• THREADS, SMP, AND MICROKERNELS• CONCURRENCY: MUTUAL EXCLUSION AND
SYNCHRONIZATION• CONCURRENCY: DEADLOCK AND STARVATION• Linux• … (to be updated)
4
Teaching and learning methods
• Lectures (as short as possible)• Exercises• Presentations– Oral– On the web
• Self-study (for exam especially)
• The keypoint is collaborative learning
5
Evaluation
• Exam 60%• Exercises 30%• Presence 10%
6
Reference material
• Tanenbaum, A.S. Modern operating systems (latest edition). Pearson.
• Harris, J. A. Operating systems (latest edition). McGraw-Hill
• Material from related course in Finland and other countries
7
Today
• Questionnaire• Introduction• Studying and slide creating exercise• Collecting your emails that you can join our
wikispaces sites
8
• Today, a computer quite often consist of more than one processors, main memory, disks( Harddisk drives (HDD), memory sticks etc.), a keyboard, a mouse, a display, network interfaces and other input/output devices.
9
• Windows, Unix, Linux, FreeBSD or Mac OS X or Android and Symbian– Different versions for different purposes• For example Linux
– Redhat (for servers)– Ubuntu (for personal computers)– Android (for mobile)
– Comparing personal computers and servers– It may be good if you use Windows on your personal
computers and Linux on servers. You must also think about security issues and Linux is more safe and that it is good for servers used by many users.
10
• Shell - text based input– In Windows use the command cmd to go to text-
based input– You can use old DOS commands such as DIR– In Ubuntu version of Linux you have similar
terminal• GUI (Graphical User Interface) - icon, menu
based
11
• An operating system is the most fundamental software and runs in kernel mode (supervisor mode).As supervisor , it can execute privileged operations
12
What is an operating system?
• It is software that runs in kernel mode• Provides application programmers a clean abstract
set of resources instead of a messy hardware ones• Manages hardware• Abstraction is the key to managing complexity. Good
abstraction turns a nearly impossible task into two manageable ones. The first one of these is defining and implementing the abstraction. The second one is using these abstractions to solve the problem at hand.
13
• A typical abstraction is a file, or as we handled last term in data structures und algorithms unit things like stacks and linked lists– Application in use is divided into many processes
when used on a computer. Each process includes process control block and those process control blocks are in stacks on a computer
14
• The job of the operating system is to create good abstractions and then implement and manage the abstract objects thus created.
15
• Example of abstraction : Linux user running Gnome (http://en.wikipedia.org/wiki/GNOME) or KDE (http://en.wikipedia.org/wiki/KDE) sees a very different interface than a Linux user working directly on top of the underlying (text-oriented X Window System), but the underlying operating system abstractions are same in both cases.
16
We can look at an operating system from an alternative view
• Than a operating systems function is to provide an orderly and controlled allocation of the processors, memories, and I/O devices among the various programs competing for them.
17
For example
• the print manager manages a print queue to ensure that complete print jobs are printed if a printer is shared with other users/ computers. When a computer or network has multiple users, the need for managing and protecting the memory, I/O devices, and other resources is even greater, since the users often need to share not only hardware, but information (files, data bases, etc.) as well.
18
Multiplexing
• An operating system multiplexes hardware resources.
• Time Multiplexing: – E.g., The operating system allocates the CPU to one
task at a time, but to each task in its turn. • Space Multiplexing – E.g., The operating system allocates a part of the
memory to each task.• http://www.comsci.us/os/notes1/ch01.html
(accessed Dec 31, 2012)
19
History of Operating Systems
• The first generation 1945-55 with vacuum tubes
• The second generation 1955-65 Transistors and batch systems
• The third Generation 1965-1980 ICs and multiprogramming
• The fourth Generation 1980-present – Personal Computers
20
Exercises/Exercise 1
• You will be divided in small groups (6 people in one group)– Tell Pekka the names in your group
• Visit http://os-ttc-13.wikispaces.com/• Read this material and possible additional material
– Select you task and alternate task• Inform Pekka about your task selection (task choices are on next slide)• Study your topic using google. Clarify the following things
– What is the meaning of your concept or technology in practice (your slide 2)?– How does a computer benefit from your technology? (your slide 3)– How does your concept or technology is connected to other concepts and
technologies? (your slide 4)
• When ready, you must present these what you have learnt by using slides (see next pages)– We will talk about your presentations next time
21
Topics
• Option 1 Shell text-based input• Option 2 GUI (Graphical User Interface)• Option 3 Kernel mode• Option 4 Abstraction• Option 5: Multiplexing
22
Your slides• Start slides including the main title and the names in your group• Slide 2 (What is the meaning of your concept or technology in
practice)• Slide 3 (How does a computer benefit from your technology?)• Slide 4 (How does your concept or technology is connected to
other concepts and technologies?)• Slide 5 (Summary-you should summarize your presentation-all
the things together)• Slide 6 Report how different members in your group participated
in the group work. Mention each member separately.
23
Wikispaces• Join Wikispaces if not done before– http://www.wikispaces.com/content/student
• You can go to http://os-ttc-13.wikispaces.com/ and ask for the invitation there
Please notice in this course all the material will be given through http://os-ttc-13.wikispaces.com/
You must download all the material immediately when published. We do not give softcopies (papers).