1 operating systems. 2 course information 1. operating systems: internals and design principles,...
TRANSCRIPT
1
Operating Systems
2
Course Information1 Operating Systems Internals and Design Principles William Stallings Prentice Hall
httpWilliamStallingscomOS4ehtml2 操作系统教程(第三版)孙钟秀等高等教育出版社本书的电子版教材和讲稿会被放在网络教学平台上
3 推荐学有余力的同学自行阅读关于MINIXLINIXUNIX内核分析的书籍
3
课程学习目标 明确计算机操作系统的作用与功能 掌握操作系统实现的基本原理与方法
在微观上掌握设计实现各个操作系统模块的方法策略与算法
在宏观上掌握操作系统的结构和设计实现方法进一步了解大型软件系统的结构和设计实现方法
掌握并发程序设计的基本方法
4
Syllabus
An introduction to the principles underlying the design and the implementation of contemporary computer operating systems
Class designed for students majoring in Computer Science or in areas having a strong emphasis in Computer Science
5
At the end of the course the student should have a basic understanding of Design and implementation issues of contemporary
operating systems Detailed analysis of process multithreading
symmetric multiprocessing and microkernels Memory management techniques including virtual
memory Various approaches to process scheduling Operating system control of InputOutput Operating system management of files
Syllabus (continuedhellip)
6
Prerequisites
Knowledge of C C++ Java Ability to complete large programming
project Understand existing framework Design system solutions to particular problems
Able to use Windows Unix Linux MacOS hellip
7
Organization and Grading This class consists of lectures homework
programming assignments and a final exam Each has a weighted contribution to your final grade Homework and Participation 10 Programming Assignments 30 Final Exam 60
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
2
Course Information1 Operating Systems Internals and Design Principles William Stallings Prentice Hall
httpWilliamStallingscomOS4ehtml2 操作系统教程(第三版)孙钟秀等高等教育出版社本书的电子版教材和讲稿会被放在网络教学平台上
3 推荐学有余力的同学自行阅读关于MINIXLINIXUNIX内核分析的书籍
3
课程学习目标 明确计算机操作系统的作用与功能 掌握操作系统实现的基本原理与方法
在微观上掌握设计实现各个操作系统模块的方法策略与算法
在宏观上掌握操作系统的结构和设计实现方法进一步了解大型软件系统的结构和设计实现方法
掌握并发程序设计的基本方法
4
Syllabus
An introduction to the principles underlying the design and the implementation of contemporary computer operating systems
Class designed for students majoring in Computer Science or in areas having a strong emphasis in Computer Science
5
At the end of the course the student should have a basic understanding of Design and implementation issues of contemporary
operating systems Detailed analysis of process multithreading
symmetric multiprocessing and microkernels Memory management techniques including virtual
memory Various approaches to process scheduling Operating system control of InputOutput Operating system management of files
Syllabus (continuedhellip)
6
Prerequisites
Knowledge of C C++ Java Ability to complete large programming
project Understand existing framework Design system solutions to particular problems
Able to use Windows Unix Linux MacOS hellip
7
Organization and Grading This class consists of lectures homework
programming assignments and a final exam Each has a weighted contribution to your final grade Homework and Participation 10 Programming Assignments 30 Final Exam 60
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
3
课程学习目标 明确计算机操作系统的作用与功能 掌握操作系统实现的基本原理与方法
在微观上掌握设计实现各个操作系统模块的方法策略与算法
在宏观上掌握操作系统的结构和设计实现方法进一步了解大型软件系统的结构和设计实现方法
掌握并发程序设计的基本方法
4
Syllabus
An introduction to the principles underlying the design and the implementation of contemporary computer operating systems
Class designed for students majoring in Computer Science or in areas having a strong emphasis in Computer Science
5
At the end of the course the student should have a basic understanding of Design and implementation issues of contemporary
operating systems Detailed analysis of process multithreading
symmetric multiprocessing and microkernels Memory management techniques including virtual
memory Various approaches to process scheduling Operating system control of InputOutput Operating system management of files
Syllabus (continuedhellip)
6
Prerequisites
Knowledge of C C++ Java Ability to complete large programming
project Understand existing framework Design system solutions to particular problems
Able to use Windows Unix Linux MacOS hellip
7
Organization and Grading This class consists of lectures homework
programming assignments and a final exam Each has a weighted contribution to your final grade Homework and Participation 10 Programming Assignments 30 Final Exam 60
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
4
Syllabus
An introduction to the principles underlying the design and the implementation of contemporary computer operating systems
Class designed for students majoring in Computer Science or in areas having a strong emphasis in Computer Science
5
At the end of the course the student should have a basic understanding of Design and implementation issues of contemporary
operating systems Detailed analysis of process multithreading
symmetric multiprocessing and microkernels Memory management techniques including virtual
memory Various approaches to process scheduling Operating system control of InputOutput Operating system management of files
Syllabus (continuedhellip)
6
Prerequisites
Knowledge of C C++ Java Ability to complete large programming
project Understand existing framework Design system solutions to particular problems
Able to use Windows Unix Linux MacOS hellip
7
Organization and Grading This class consists of lectures homework
programming assignments and a final exam Each has a weighted contribution to your final grade Homework and Participation 10 Programming Assignments 30 Final Exam 60
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
5
At the end of the course the student should have a basic understanding of Design and implementation issues of contemporary
operating systems Detailed analysis of process multithreading
symmetric multiprocessing and microkernels Memory management techniques including virtual
memory Various approaches to process scheduling Operating system control of InputOutput Operating system management of files
Syllabus (continuedhellip)
6
Prerequisites
Knowledge of C C++ Java Ability to complete large programming
project Understand existing framework Design system solutions to particular problems
Able to use Windows Unix Linux MacOS hellip
7
Organization and Grading This class consists of lectures homework
programming assignments and a final exam Each has a weighted contribution to your final grade Homework and Participation 10 Programming Assignments 30 Final Exam 60
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
6
Prerequisites
Knowledge of C C++ Java Ability to complete large programming
project Understand existing framework Design system solutions to particular problems
Able to use Windows Unix Linux MacOS hellip
7
Organization and Grading This class consists of lectures homework
programming assignments and a final exam Each has a weighted contribution to your final grade Homework and Participation 10 Programming Assignments 30 Final Exam 60
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
7
Organization and Grading This class consists of lectures homework
programming assignments and a final exam Each has a weighted contribution to your final grade Homework and Participation 10 Programming Assignments 30 Final Exam 60
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
8
Homework and Participation (10) Homework is designed to reinforce class
material and help in exam preparation Each homework consists of 10+ questions
and covers the material from the previous class discussion
Any homework submitted after the due date will lose 50 per week (After 1 week an assignment has no grading value)
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
9
Programming Assignments (30)
There are three programming assignments (10 each) designed to emphasize topics discussed in class
The programming assignments are done in teams of 3 students
Programming assignments can be found on the class web site (httpsoftwarenjueducnxli)
Programming assignments must be passed off by a TA during regular TA hours in the TA offices or class programming labs
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
10
Programming (continuedhellip)
To receive full credit programming assignments must be completed and passed off with a ldquoDate Modifiedrdquo timestamp on or before the due date
Any assignment completed and passed off after the due date will lose 10 per school day (After 2 weeks an assignment has no grading value)
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
11
Final Exam (60)
The final exam are administered in the school
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
12
Programming Environmentshellip Programming of the assignments will be
done in any programming language The choice of the software tools and
programming environment is left to the studentrsquos discretion
In any case it is the studentrsquos responsibility to present their work to a TA in the designated lab for pass off
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
13
Academic Honesty
Academic honesty includes completing your own homework labs and final
Students should work together to help each other understand material but should always turn in their own work
Examples of academic dishonesty include sharing code for labs with other students turning in someone elses writing as your own report and cheating on an exam
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
14
Miscellaneous
TArsquos Help sessions Office hours Linux vs Microsoft users Questions
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
15
Abstract View of System Components
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
16
Operating Systems
What is an operating system Hard to define precisely because operating
systems arose historically as people needed to solve problems associated with using computers
How abouthellipldquoSoftware that makes computing power available to users
by controlling the hardwarerdquo
ldquoSoftware executes when nothing else is happeningrdquo
ldquoA collection of software modules including device drivers libraries and access routinesrdquo
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
17
What does a modern operating system do
Provides Abstractions Hardware has low-level physical resources with
complicated idiosyncratic interfaces OS provides abstractions that present clean interfaces Goal make computer easier to use Examples Processes Unbounded Memory Files
Synchronization and Communication Mechanisms
Provides Standard Interface Goal portability Unix runs on many very different computer systems
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
18
What does a modern operating system do Mediates Resource Usage
Goal allow multiple users to share resources fairly efficiently safely and securely
Examples Multiple processes share one processor (preemptable resource) Multiple programs share one physical memory (preemptable
resource) Multiple users and files share one disk (non-preemptable resource) Multiple programs share a given amount of disk and network
bandwidth (preemptable resource)
Consumes Resources Solaris takes up about 8 Mbytes physical memory Windows XP has 40 million lines of code
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
19
Where are OSrsquos Used
In more and more places 1048708 Desktop and Server Computers 1048708 DOS + Windows 9598ME 1048708 Windows NT2000XP 1048708 Free Unix variants Linux FreeBSD NetBSD etc 1048708 Commercial Unix variants Solaris HP-UX AIX etc 1048708 MacOS
Some Game Consoles 1048708 Xbox Cut-down Windows 2000
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
20
Where are OSrsquos Used
Personal Digital Assistants (PDAs) 1048708 PalmOS 1048708 Windows CE 1048708 Windows Mobile 1048708 Embedded Linux
1048708 Mobile Phones 1048708 Symbian OS 1048708 Windows Mobile
1048708 Cars (fancy ones)
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
21
Where are OSrsquos Used
In the future also 1048708 Digital Cameras (fancy ones) 1048708 MP3 Players (iPods etc) 1048708 Refrigerators 1048708 Others
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
22
Example OS PalmOS
Used for PalmPilot PDAs and successors
Multitasking since PalmOS 5
CPUs Intel XScaleTexas Instruments OMAP Motorola Dragonball MX
Wireless 80211b Bluetooth GSM CDMA
320times320+ displays Good battery utilisation
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
23
Example OS PalmOS
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
24
Example OS Symbian OS
Designed for mobile phones
Gives access to graphics multimedia networking telephony crypto
PC connectivity etc
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
25
Example OS Symbian OS
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
26
The Futurehellip
In the future computers will continue to become physically smaller and more portable
Operating systems have to deal with issues like disconnected operation and mobility
Media rich information within the grasp of common people - information with psuedo-real time components like voice and video
Operating systems will have to adjust to deliver acceptable performance for these new forms of data
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-
27
Finally
Operating systems are so large no one person understands whole system Outlives any of its original builders
The major problem facing computer science today is how to build large reliable software systems
Operating systems are one of very few examples of existing large software systems and by studying operating systems we may learn lessons applicable to the construction of larger systems
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
-