39
1/38 Operating Systems Concepts (CS-351) Week 1

Operating Systems Concepts ( CS-351)

Embed Size (px)

DESCRIPTION

Operating Systems Concepts ( CS-351). Week 1. Course Information. Course: CS-351 (3 credits) Time: Section 01: TR 1:00 pm – 2:15 pm Section 03: TR 5:30 pm – 6:45 pm Place: CS-110B Course Website: Titanium Instructor: Mikhail I. Gofman Email: [email protected] - PowerPoint PPT Presentation

Citation preview

Page 1: Operating  Systems Concepts ( CS-351)

1/38

Operating Systems Concepts (CS-351)

Week 1

Page 2: Operating  Systems Concepts ( CS-351)

2/38

Course Information

Course: CS-351 (3 credits)

Time:

Section 01: TR 1:00 pm – 2:15 pmSection 03: TR 5:30 pm – 6:45 pm

Place: CS-110B

Course Website: Titanium

Instructor: Mikhail I. Gofman

Email: [email protected]

Phone: (657) 278-7304 (office)

Office: CS-538

Office Hours: TR 3:00pm - 5:00pm, and by appointment

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 3: Operating  Systems Concepts ( CS-351)

3/38

PrerequisitesPrior to taking this course, you must either:

Complete all of the following courses (strictly enforced):

CPSC-254: UNIX and Open Source SystemsCPSC 301/EPP (corequisite): Programming Lab Practicum

Or, have the permission of the CS department.

Failure to meet the prerequisites may result in you being dropped administratively.

Page 4: Operating  Systems Concepts ( CS-351)

4/38

Course ObjectivesTo learn about the design and implementation of modern operating systems (OSs):

Operating Systems. What are they? What do they do?

Classical components of modern operating systems: Processes ThreadsCPU schedulersMemory managersFile systemsI/O systemsInterposes communications mechanisms

State of the art and future:

Virtual machines

Cloud computing

Page 5: Operating  Systems Concepts ( CS-351)

5/38

TextsSilberschatz, Galvin, Gagne, Operating System Concepts, 8th edition, ISBN: 978-0-470-12872-5.

All additional materials shall be posted on Titanium.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 6: Operating  Systems Concepts ( CS-351)

6/38

Evaluation

Course grade breakdown:Assignments: 25% (around 4 Assignments)In-class/take-home quizzes: 20% (may drop 1 lowest)Attendance and participation: 10%Midterm: 20%Final Exam: 25%

The course grade shall be curved over the entire class, and (strictly) assigned according to the following range:

A > 92% B+: ≥ 88%C+: ≥ 78%D+: ≥ 68%

B: ≥ 82%C: ≥ 72%D: ≥ 62%B-: ≥ 80%

C-: ≥ 70%D-: ≥ 60%

Page 7: Operating  Systems Concepts ( CS-351)

7/38

Assignments

Written assignments: may be done by groups of 2 students.

Programming assignments:

To be done individually.

Must use Linux OS.

Must use C or C++ (unless specified otherwise).

Familiarity with basic C and Unix is assumed.

All completed assignments must be submitted via Titanium.

Late assignments shall be penalized 10%.

No assignment shall be accepted after 24 hours from the deadline.

Page 8: Operating  Systems Concepts ( CS-351)

8/38

QuizzesIn-Class quizzes:

Closed book.

Test your understanding of the material presented in class.

Missed quizzes shall earn a grade of 0 (unless you can provide written evidence of a legitimate excuse e.g. doctor’s note).

Take-home quizzes:

Require critical thinking (and creativity!).

Late submissions shall be penalized 10%.

No quiz shall be accepted after 24 hours from the deadline.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 9: Operating  Systems Concepts ( CS-351)

9/38

Exams

All exams are comprehensive and closed book.

Midterm:

10/25/2012 in class (tentative).

There will be no make ups (unless accompanied by written evidence of a valid excuse).

Final Exam (CS-110B):

Section 01: 12/18/2012 (12:00 pm - 1:50 pm).

Section 03: 12/20/2012 (5:00 pm - 6:50 pm).

Check with the Final Exam Schedule posted online.

Missed exams shall be dealt with according to University policies on incompletes and withdrawals.

Page 10: Operating  Systems Concepts ( CS-351)

10/38

Attendance and ParticipationThe attendance is mandatory and shall be taken at beginning of every class.

You may miss 1 class without incurring attendance penalties.

Participate in class discussions (don’t be afraid!).

Ask questions!

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 11: Operating  Systems Concepts ( CS-351)

11/38

Extra Credit

Some assignments, exams, and quizzes may include bonus sections.

No other forms of extra credit shall be granted.

Page 12: Operating  Systems Concepts ( CS-351)

12/38

Asking QuestionsNever be afraid to ask:

In class or after class.

During office hours.

Make Google your friend (can’t beat the availability and response time!)

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 13: Operating  Systems Concepts ( CS-351)

13/38

Anonymous Feedback

Please feel free to anonymously submit your comments and suggestions about the course through Titanium.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 14: Operating  Systems Concepts ( CS-351)

14/38

Class Cancellation Policy

All class cancellations shall be announced by email.

Instructor does not arrive within the first 15 minutes of class = class is canceled.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 15: Operating  Systems Concepts ( CS-351)

15/38

Academic Honesty

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 16: Operating  Systems Concepts ( CS-351)

16/38

Academic Honesty

Incidents of cheating shall be treated with utmost seriousness.

You may discuss the problems with other students, however, you must write your own solutions.

Discussing solutions to the problem is NOT acceptable.

Copying an assignment from another student or allowing another student to copy your work may lead to an automatic F for this course.

If you have any questions about whether an act of collaboration may be treated as academic dishonesty, please consult the instructor before you collaborate.

Moss shall be used to detect plagiarism in programming assignments.

Page 17: Operating  Systems Concepts ( CS-351)

17/38

Emergency Policy

Please familiarize yourself with the actions to take in case of an emergency.

The information can be found at http://prepare.fullerton.edu/

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 18: Operating  Systems Concepts ( CS-351)

18/38

Disabled Student Services

Information for students with disabilities can be found at: http://www.fullerton.edu/DSS/

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 19: Operating  Systems Concepts ( CS-351)

19/38

Course SyllabusYou are required to read the syllabus!

A copy of the syllabus is available on Titanium.

If something is not clear, ask the instructor.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 20: Operating  Systems Concepts ( CS-351)

20/38

Introduction to Operating Systems

Silberschatz Chapter 1

Page 21: Operating  Systems Concepts ( CS-351)

21/38

Agenda

Operating Systems, what are they? What do they do?

Computer organization fundamentals.

Operating System Functions

Process Management

Memory Management

Storage Management

I/O Management

Protection and Security

Distributed Systems

Special Purpose Operating Systems Computing Models

Page 22: Operating  Systems Concepts ( CS-351)

22/38

What is an Operating System?

A program that:

runs at all times (a.k.a. a resident monitor)

manages computer resources e.g. hardware

provides basis for application programs

acts as an intermediary between user and hardware

Why do we need such programs?

Increase the usability of computers.

Simplify problem solving.

They are everywhere!

Page 23: Operating  Systems Concepts ( CS-351)

23/38

Operating Systems are Everywhere

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 24: Operating  Systems Concepts ( CS-351)

24/38

What does an operating system do?

Components of a computer system: application programs, operating system, and computer hardware.

System and application programs

Operating System

Hardware (CPU, memory I/O devices)

User1

User2

User3

Usern…

Application 1

Application 2

Application 3

Application n

Page 25: Operating  Systems Concepts ( CS-351)

25/38

What does an operating system do?

Overall: provides the means for proper use of system resources e.g. hardware, software, and data.

Similar to a government: serves no useful function when by itself; only provides an environment in which user programs can do useful work.

User perspective:

Makes the computer easier to use.

Helps maximize the amount of work (or play) done by the user.

System Perspective:

Allocates and manages hardware resources e.g. CPU time, memory space, disk space, and I/O.

Manages the execution of user programs.

Page 26: Operating  Systems Concepts ( CS-351)

26/38

Process ManagementProcess: a unit of work on the systemProgram vs. Process:

Program: is a set of instructions (a passive entity).

Process: a program in execution (an active entity).

Processes require:CPU time

Memory

Files

I/O devices

Page 27: Operating  Systems Concepts ( CS-351)

27/38

Process Management

Operating system must:

Allocate resources when the process starts, manage them while it runs, and reclaim them when the process terminates.

Multiplex resources among multiple processes.

Provide means for process synchronization.

Provide means for process communications.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 28: Operating  Systems Concepts ( CS-351)

28/38

Memory ManagementMain memory:

A large array of bytes or words where each word or byte has its own address.

The only large storage directly accessible by the CPU.

For improved resource utilization, several programs are usually kept in memory:

Helps improve resource utilization.

Introduces the need for memory management.

Memory Management:

Keep track of what parts of memory are being used by what processes.

Decide which processes (or parts of) to move into and out of memory.

Allocate and deallocate memory as needed.

Page 29: Operating  Systems Concepts ( CS-351)

29/38

Storage ManagementFor convenience, the information on the storage device is abstracted into units called files.

File is a collection of related information defined by its creator.

Operating system file management services:

Creating and deleting files.

Creating and deleting directories (i.e. collections of files).

Mapping files to memory on the storage device.

File Backup.

Mass-storage management:

Managing free space

Storage allocation

Disk scheduling (i.e. managing multiple operations that read/write to/from the disk).

Page 30: Operating  Systems Concepts ( CS-351)

30/38

Storage Management

Caching: temporarily store data/instructions in faster storage (i.e. cache) and access them from there.

OS must manage a finite cache space and ensure data consistency along all levels of the hierarchy.

Magnetic Disk

Main Memory

Cache Memory

Hardware Registers

Speed

Page 31: Operating  Systems Concepts ( CS-351)

31/38

I/O Management

Purpose: hide the peculiarities of specific devices from the user.

Example: the Unix I/O subsystem provides:

Functionality to manage data buffering, caching, and spooling.

A general device driver interface.

Drivers for specific hardware devices (which know how to control the specific device).

Page 32: Operating  Systems Concepts ( CS-351)

32/38

Protection and Security

Protection: controls the access of users and processes to the system resources (e.g. memory, files, etc).

Internal to the OS

Example: process A attempts to (illegally) write to the memory of process B. The operating system detects the violation and terminates process A.

Security: defending the OS against external threats involving e.g. malware (e.g. viruses, worms, etc).

Protection vs. Security: definitions vary

Page 33: Operating  Systems Concepts ( CS-351)

33/38

Distributed Systems

A collection of physically separate, networked, systems, that share resources.

Advantages of resource sharing: increases computation speed, functionality, data availability, and reliability.

Types of networks:

Local-Area Network (LAN): connects systems within a single floor room or building.

Wide-Area Network (WAN): connects buildings, cities, or countries.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 34: Operating  Systems Concepts ( CS-351)

34/38

Real-Time Embedded Systems

Embedded Systems: systems dedicated to specific tasks e.g. controlling car engines, robotic arms, etc.

Usually have little to no user interface.

One of the most prevalent types of computers.

Real-Time Systems: systems where the processing must be done within the defined timing constraints.

Example: the robotic arm must stop moving before it smashes into a car it was building (not after).

Embedded systems usually run real-time operating systems.

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control

Page 35: Operating  Systems Concepts ( CS-351)

35/38

Multimedia Systems

Systems specialized to deliver media content (i.e. a mix of text, video, sound, etc).

Some media must be delivered within certain timing constraints.

Page 36: Operating  Systems Concepts ( CS-351)

36/38

Computing Models: Virtual Machines

Virtual Machines (VMs): a software that can run its own operating system and applications just like a real physical system.

Virtualization Software (Bare-Metal Hypervisor)

Hardware (CPU, memory I/O devices)

Virtual Hardware

OS

Applications

Virtual Hardware

OS

Applications

Virtual Hardware

OS

Applications

VM1 VM2 VM3

Page 37: Operating  Systems Concepts ( CS-351)

37/38

Computing Models: Virtual Machines

Virtual Machines (VMs): a software that can run its own operating system and applications just like a real physical system.

Virtualization Software (Hosted Hypervisor)

Hardware (CPU, memory I/O devices)

Operating System

Virtual Hardware

OS

Applications

Virtual Hardware

OS

Applications

Virtual Hardware

OS

Applications

VM1 VM2 VM3

Page 38: Operating  Systems Concepts ( CS-351)

38/38

Computing Models: Cloud ComputingComputing services delivered over the network.

Three types of cloud computing services:

Infrastructure-as-a-Service (IaaS): provides hardware resources e.g. storage, CPU, and networking services.

Platform-as-a-Service (PaaS): provides hardware and operating systems services.

Software-as-a-Service (SaaS): provides software applications over the network.

Helps reduce operating costs.

Helps to improve resource utilization (by combining computing resources).

Makes it easier to tackle large scale computing problems.

Page 39: Operating  Systems Concepts ( CS-351)

39/38

Next Class

ProcessesQuiz next class:

What are operating systems, what do they do, etc.

What kind of services to the operating systems provide?

Computing models

Preserving Confidentiality in Virtual Machine Checkpointing and Role Based Access Control