CS250OS-Syllabusx - 3.1.12 - Azusa Pacific University

perchorangeSoftware and s/w Development

Dec 1, 2013 (3 years and 6 months ago)

70 views






C
ollege of
L
iberal
A
rts and
S
ciences

C
omputer
S
cience
D
epartment

Spring

20
10



Assistant Professor


Sheldon X. Liang, Ph.D.



CS 2
5
0

O
perating
S
ystems

(
Conductor of Comput
ational

Resources
)











C
ontact
I
nformation


Dr. Sheldon X. Liang

Office: WC

204

Phone
: 626
-
815
-
5319

Email
: xliang@apu.edu

Office Hours

TR
:
4
:
30
PM


5
:
3
0PM

MW
F
:
1
:
30P
M


2
:
3
0
P
M




CS
2
50

Operating Systems

Page
1

U
NIVERSITY

I
NFORMATION


Statement of Mission and Purpose

Azusa Pacific
University is an evangelical Christian community of disciples and scholars who seek to advance
the work of God in the world through academic excellence in liberal arts and professional programs of higher
education that encourage students to develop a Chris
tian perspective of truth and life.


Department
Mission

The Department of Computer Science at Azusa Pacific University offers undergraduate degree programs in
computer science and computer information systems; provides general education computer literacy
courses for
our student community and support courses for mathematics majors; prepares students for graduate study and
success in their chosen careers; and seeks to assist students in applying their knowledge and skills in service to
society based on an un
derstanding of Christian truth and values.

Degree Program

The Computer Science major offers a solid foundation in computer science and is directly applicable to current
problems in society and industry. The Bachelor of Science in Computer Science prepares

students for graduate
work in computer science or for careers in fields such as computer programming or software engineering. The
Bachelor of Arts in Computer Information Systems provides an educational foundation for students planning a
career in the ana
lysis, design, and implementation of information systems.



CS
2
50

Operating Systems

Page
2


F
AITH

I
N
TEGRATION


Deepening our culture of faith integration in the academic realm calls for an application of faith to our
work based on unity in essentials, diversity, freedom in
non
-
essentials, and in all things charity.
Excellence in theologically informed reflection is paramount to an integration of faith within the
context of academic disciplines, professional programs, and lived practice, in order to advance the
understanding
of Christian higher education and to develop moral leaders who will impact the world.



My soul pants for you, O God

For the Lord is good and His love endures forever;

His faithfulness continues through all generations




--

Psalm 100:5


Reflection and Application:

I will give you every place where you set your foot, … your territory will extend

--

Joshua 1:3
-
4

You are students at APU who seek to advance the work of God in the world through academic
excellence in
(Co
mputer
)

Science
s
. Great dedication to the study of material of this course will
empower you to program in C++ and to solve computational problems. Y
ou might be overwhelmed with
plentiful content and rigorous details, yet be strong and courageous because your te
rritory will extend
.


Keep in mind God loves you

For the Lord is gracious, his mercy is everlasting, and His truth is from generation
to gen
eration. To what end? We have been transformed from being in bondage as
servants to the liberty of being sons and daughters. For this reason, let us honor
Him by using our intellect to excel at
conducting Computational Resources
with
gladness.


The
expectations of life depend upon diligence; the mechanic that would perfect his work must
first sharpen his tools."

C
onfucius

(
a Chinese thinker and social philosopher
.
551 BC


479 BC
)



CS
2
50

Operating Systems

Page
3

C
OURSE
I
NFORMATION


Course
Description

This course provides an
introduction to the basic functions of modern operating systems. These include
multi
-
tasking, process synchronization, deadlocks, memory management, virtual memory, file systems,
protection, and security. The course also includes a comparative analysis of
several popular operating systems
such as Windows XP, Windows NT, OS/2, and UNIX.


Textbook:


[1]

Operating Systems

(3
rd

Ed)
by
Gary Nutt




[2]

Guide to Unix Using Linux

by Palmer



Total Credits:


3

-

2
x1
.5

hr Lecture
in
Spring

20
10


Prerequisite
s
:


CS 225 Fundamentals of Computer Science


Co
-
requisites:


Fond of systematic approach, and self motivated

D
iligent

in asking and working cooperatively

Enjoying learning graceful and thoughtful things



Class Information
:



Lecture


(
1
/
11
/20
10

~
5
/
14
/20
10
)

===============================================

TR
:

2:45
P
M
~
4:10
P
M


Place
:

AZ
DUKE517





I
nstructor Information
:


Name
:


Sheldon X. Liang, Ph. D.

Office
:


WCam 204 (Bldg 1)

Phone
:


(626)
815
-
5319 (Voice) / 5323(Fax) / 5310(Dept)

Email
:


xliang@apu.edu

Homepage
:

http://www.apu.edu/clas/faculty/xliang/


Required tools
:

Visual C++ (
Visual Studio
.Net installed in CS Lab
)

In addition, students must have Internet access for downloading course files from Instructor

s home page.
Also the Internet

b
rowser is needed for printing all course and
assignment
s.

CS
2
50

Operating Systems

Page
4

C
OURSE
R
O
ADMAP


Objective
-
Driven Teaching &
Learning (ODTL)

The course’s prime objective is to develop students’
computational
thinking skills

in a managerial approach
. As
J. M. Wing writes, “Computational thinking is a fundamental skill for everyone, not just for computer scientists”
(Communicatio
n of the ACM, March 2006/Vol. 49, No. 3).
Broadly speaking, why the student needs to come to
college is to develop problem
-
solving competence. Since problem solving forms part of thinking, the
development of thinking skills mainly motivates college educati
on.

Specifically, CS
250

Operating Systems
promises to in
corporate the management of computational resources,
and their application
into
a systematic approach

in order to help develop students with
managerial
thinking
skills. In addition, how to
wisely appl
y all kinds of computational recourses to applications
is especially
discussed in
a concurrent programming paradigm
.

The ODTL will be demonstrated in following two ways:

1.

Object
ive
-
Driven Course Offering (Teaching): ODTL specifies the relationship between
the development
of thinking skills and understanding via examples or analogies. The former is based on problem

solving
with questions in connection with factual knowledge, comprehension and application; the later is to teach
the unknown through the known,

that is
,

the student learn something unknown from something known to
them. The following figure and table are used to address the questions students may have while studying,
and
the relatedness between the unknown concepts and the known. And the teaching

approach
is
from the
simple to the complicated contents:

Problem
-
solving

Thinking Skills

Examples or analogies

Generalized objectives

Specialized objectives

The known to unknown




Evolvable Questions

Managerial
Thinking

Relat
ive

Similarities

How to administer a system



How to manage many parts in a
system


How to
conduct those parts in a
cooperative way


How to program
applications to
synchronously
/safely

use all
kinds of comput
ational

resource

Managerial
(thinking) model
emphasizes:

flatter, flexible, less
bureaucratic organization

Flatter

-



-

CUP, Memory, Devices
, Files

Flexible

-



-

Abstract machine


-

Transparent resource sharing


-

File/Recourse abstraction


-

Dev
-
dependent driver framework

Less
bureaucratic organization

-


I
mpl
ementation c
onsiderations
:


-

Processor modes


-

Kernels


-

Invocation of
sys
tem

service

OS plays an administering role in
managing the computer system


There are many components needed
managing: CPU, Memory, I/O Devices,
and Files


Process manager: Multi
-
Process and
multi
-
threaded applications

Memory Manager / Device Manager/

File Manager


Protection and Security

Semaphores / Monitor / Pipe model


2.

Object
ive
-
Driven Course Receiving (Learning):
ODTL stresses the transformation of education from
information to formation, namely the
trans
it of information to comprehensive
formation (
trans
-
formation

for short
)
. The
trans
-
formation
,

which combines course objectives with co
mprehensive
tasks in educati
on
(including lectures, labs, discussion, assignments, etc.) as inputs, brings out the desired outcomes as a
whole.



Developing

Understanding

CS
2
50

Operating Systems

Page
5

Objective
-
D
riven
Learning
Outcome

In order to motivate and activate the students to achieve the objectives, we employ plenty of teaching
-
learning
activities, such as lectures
/discussions

in class, labs
/projects

in laboratory,
readings/assignments out of class,
homework at home, and midterm and final exams. So
by the end of th
is course
, students should be able to:




Build a base of
Operating

Systems



Connect
system programming
with facts



Solve
operating
problems in
system programming



Develop skills and abilities in
managerial
thinking

F
igure

1

illustrate
s

the relationship between primary objective that is mapped into specified IDEA object, and
outcomes through ODTL.


IDEA
Objective

C
omprehensive

Tasks

Learning
Outcome


Problem
-
solving




Managerial

thinking




Examples &
Analogies

1.

Gaining factual
knowledge

ODTL



Lecture
s



Discussion


Reading
s


Assignment
s


Lab/Project
s


Due dates

Learning essence of OSs



I/O strategies and techniques



Device
-
independence



Programming with OS

2.

Learning fundamental
principles

Connecting facts



Operational view



Professional view



Structural view

3.

Learning to apply
course material

Applying to solve problems



Resource management



Resource allocation



Deep programming

4.

Developing specific
competencies

Developing skills and
abilities



Comprehension

and
a
pplication



Systematic approach



Analysis

and evaluation

Figure 1. Course Roadmap & Content, Objectives & Expectations

Course Content (In
put
)

The course content focuses on

managing and conducting all kinds of resources under an

Operating System

from

a systematic approach

perspective, including
computing unit, memory, I/O devices, parallel programming,
and deep programming
. This covers underlying principles of
operating systems
, and
systematic approach and
deep programming techni
ques
. Combined with course objectives, characteristics of C++ programs restrain
emphasize the core c
ontent to study, that is, computational resources management, conduction

applied to
application development
in a systematic approach
.

Obviously according to
figure

2
,
basic functions of operating systems
are
responsible directly for the
management of the related hardware parts
, of which better understanding helps to deepen programming skills,
and strengthen the ability of manipulating all kinds of devices via programming.
There are three types of major
parts


memory, processor and various devices. Processor management plays a
crucial role in conducting and/or
coordinating all kinds of hardware parts to work together effectively
.
The students in this class will be enthused
to grasp the essence of
OS

by walking through various
key components
, includ
ing:



Operational View



Professio
nal View



Device Management



Process Management



Memory Management

The following figure depicts the
principle of Operating Systems
that poin
ts to the
management of all kinds of
computational resources
. Basically, the soul of
Operations Systems
is
Process Man
ager and multiple
-
process
programming
.

CS
2
50

Operating Systems

Page
6


Figure 2. Course Roadmap & Content, Objective & Expectation



Se
ct
ion
0
.
Operational View
: A Symphony Conductor

(Ch 1)




(
1W
)


Computers and software


Abstract machine and transparent resources


Manager of Resource Sharing



Se
ct
ion
1
.
Professional View
: Concurrent Programming

(Ch 2
*
, Ch 3
-
4
)


(
4
W
)


POSIX


Portable OS Interface
[for Unix]


Processes and threads


Writing concurrent programs





Lab
-
1: Concurrent Programming



Se
ct
ion
2
.
DOS:
Device and
F
ile Management

(Ch 5, 13)




(
2
W
)


The
I/O
system and
strategies


Device manager design


Files and file management




Midterm



Se
ct
ion
3
.
Process Management

(Ch 6
*
, Ch 7
-
10)





(
4
W
)


The process abstraction




Lab
-
2: Cross
-
OS m
-
threaded App


Process scheduler organization






Cooperating process and i
nter
-
process communication



Se
ct
ion
4
.
Memory Management (Ch 11
-
12)






(
2
W
)


Managing
the address space


Memory allocation


Virtual memory





Lab
-
3: Stack
-
based M Manager

CS
2
50

Operating Systems

Page
7

R
EQUIREMENTS
,

G
RADING AND
P
OLICIES


Requirements

There will be diverse
comprehensive

tasks of promoting a success of teaching and learning for this course.
Assignments and lab practice are very helpful in developing the problem solving ability using the programming
language.

1.

Class Notes











[4%]

T
aking notes is considered
helpful in your study. Therefore you are encouraged to prepare a notebook for
handouts, assignments, and any inspirational notes presented in the class. Also, preparing, planning and drafting
the projects (PPA) play an important part in programming project
s. This is considered grace credit.

2.

Attendance













[
6
%]

It is critical to take attendance into account as a requirement, because “participation means performance”.

3.

Question
-
Directed Reflection Essay (
QDRE)






[
6
%]

There is a QDR
E for discussion of protection and security under a distributed operating system:

Optimization of Parallelism (Ch 1
4
)
--

Contemporary software
techniques
are dominated by network
-
centric computing
,
so protection and security at the OS level are crucial.

How to
protect or secure the resources that have to be exploded over
the networking environment
is still very challenging. Through this essay

based on chapter 14
, the student

is required
to pay
close attention to

the effectiveness and cost of protection
mechanisms
.



[
Essay Template
]

4.

Weekly Reading Journal (WRJ)



[
journal template
]



[
12
%]

Each student shall keep a log of time spent on
reading
the
text
on a week
-
by
-
week basis a
nd
then
submit a
journal

weekly. Total of turn
-
in WRJ is up to
twelve
. According to the WRJ template
, t
he WRJ includes
following items:



Your name
,

a heading,
and time period (i.e. 6/25


6/30)



Readings assigned to you, including chapter, and topic



Thoughts

while reading the appointed text



Questions that arise while reading the text



Reflections on the content (related to the content)

5.

Midterm











[1
6
%]

There will be two exams,
midterm

and
final
. They are used to check the extent of t
o which the students
have mastered the content.

The
midterm

will focus on
professional view of OS
, includes:



Ch 1:


operational view



Ch 2
*
, Ch 3
-
4
:

professional view

(
Ch 2 is stressed
);



Ch
5, 13
:


device and file management
;



Exam Date:

Feb
ruary

25
, 20
10

6.

Homework and Quizzes (HW&Q)








[1
8
%]

HW&Q

help to
clearly
clarify
answers to questions within
-
class
, promote
effective out of class reading
,
inspire further understanding of appointed content, and draw closer attention to the importa
nt knowledge points
and concepts.
So t
he HW&Q
are

designed
on section bas
is
.

7.

Lab and
Pro
ject
Assignments (
L
PA)






[18%]

LPAs

stress the
appl
ication of the knowledge to

solving the specific problems, and help the deep
understanding of principles.
The
s
e are
three LPAs
req
uired to complete in teamwork, that is, the students are
cooperative in groups to complete the assignments.

8.

Final Exam










[
20
%]

There will be
two exams,
midterm

and
final
. They are used to check the extent of to which the students
have mastered the content.

The

Final

will focus on
process and memory management
, including
:



Ch
6
*
-
10
:


process management
(
Ch
6

is stressed
)



Ch
11
*
-
12
:


memory management
(
Ch
11

is stressed
)



Exam Date:

May
4
, 20
10

CS
2
50

Operating Systems

Page
8


Grad
ing for the Course



Grades will be assigned based on the following weights:

No.

%

Evaluation and grading items

1

4%

C
lass notes
(grace credit) shown

at
final exam

2

6
%

Attendance (
60

pts)

3

6
%

QDRE
:
Question
-
directed reflection essay

(
60

pts)

4

12
%

WRJ: Weekly (Reading) Journals (
8

x
15

pts)

5

1
6
%

Midterm (1
6
0 pts)

6

1
8
%

HW&Q: Homework & Quizzes (
6

x
3
0

pts)

7

1
8
%

Lab

project
s

(
3

x
60

pts)

8

20
%

Final Exam (
20
0

pts)

100%

TOTAL




Letter grades will be assigned using the following scale:

93%

9
0
%

87
%

8
3%

80
%

77
%

73
%

70
%

67
%

63
%

60
%

A

A
-

B+

B

B
-

C+

C

C
-

D+

D

D
-


At the discretion of the instructor, grades may be curved. However, no student will receive a grade less
than that prescribed by the above schedule.


Expectations for the Course

This is a required course for Computer Science major
s
. You will be expected to spend a great deal of time
working on (project)

assignments, and you will be responsible for the programming content in this course. The
most important rule for this course is that
you cannot get behind in your work!! Always stay
up to date with
the material in this course. Make succeeding in this course a priority.

NOTE: The instructor reserves the right to tailor the following policies as needed, within the requirements
established by the official APU handbooks and guidelines.

Ho
nor System and Academic Honesty


It is expected that students will not have given nor received unauthorized aid in any work that is submitted
for a grade in this course. Please refer to and carefully read the policy on
academic honesty and plagiarism
onli
ne for
this syllabus. Note the penalties for such behavior in the course. On every assignment, I reserve
the right to discuss the nature and origins of your work with you prior to awarding a grade on the work.

Attendance


Because this is a
lecture
-
directed discussion course, attendance in class is critical to your success in this
course. You are expected to be present and on time each day we meet. You are responsible for
announcements made in class concerning material covered, assignments, c
hanges in the syllabus or due
dates, or anything else pertinent to the course.

Preparation and Participation


It is imperative that you work on a consistent basis. This applies to both the day
-
to
-
day work to prepare for
class as well as the more
long
-
term work such as the assignments and programs. You should keep a well
-
organized record of your study notes, completed problems, and problems in progress for future reference.

You must understand that a great deal of your learning in this course must
occur on your own. It is your
responsibility to do the preview assignments, read the text, do the problems, be prepared for class, and to
seek help as needed.

Due Dates


All due dates for the course will be strictly enforced. It is expected that all
assignments will be turned in by
the due date. No late work will be accepted without prior approval from the instructor.


Internet and Student Email


Most of the materials and information for this course will be posted to the course home page.

Students
are expected to check the course home page daily since the course schedule and assignments
will be posted on this home page. Students are also expected to use the e
-
mail as the instructor will
frequently send e
-
mail messages to the entire class
.

CS
2
50

Operating Systems

Page
9

Graded
Work and Visual Studio Environment


I expect your very best work on all graded assignments. All course programming and writing should adhere
to the writing guidelines and principles established in CS225. The assignments, quizzes, and labs will require
you

to code solutions to programming problems. It requires explanations of all significant steps taken in the
solution of a problem.

The grading of the assignments will be based on the quality of the coding, the quality of the programming
content, and the lo
gical organization of the writing.

Students will be required to use word processing / Visual Programming Environment for the assignments.
Following are some specific writing guidelines for this course.

1.

For the Preview Assignments, you may choose to either
provide well
-
written work using pen or pencil.
Please use loose
-
leaf paper, rather than the fuzzy stuff from a spiral bound notebook. Submissions with
more than one page must always be stapled (with one staple in the upper left corner), not paperclipped
or

otherwise connected.

2.

For problems on the assignments, be certain that a statement of the problem you are solving is included
before you begin your solution. Ideally, you will provide this in your own words. In all cases, the
solution of the problem must b
e given in context so that anyone reading the problem knows what the
question is without access to the original problem statement.

3.

In every graded assignment, reasoning counts! While “the” answer is important, I consider how you
found your answer even mor
e important. In every graded response in the course (assignments and
exams), you are expected to document your reasoning and demonstrate an argument that justifies your
conclusion.

4.

On any assignment,
if you collaborate with peers, please clearly indicate their names on the paper
next to the relevant problems or ideas in which they were involved.
See the statement on academic
honesty for permitted forms of collaboration.

5.

Overall, the expectation is that
, in every assignment, you will strive to implement the professional
programming standards that we teach and learn in
our class
. In each case, your very best work is
expected. If you have any questions about how to present an idea or result, I would be gla
d to discuss
that with you at any time prior to when the assignment is due.


Academic Integrity Policy

NOTE: The instructor reserves the right to tailor the following policies as needed, within the requirements
established by the official APU handbooks a
nd guidelines.

Honesty, Integrity and Professional Ethics

Academic dishonesty includes:

Assignment and Cheating Policy:


For details, please go to website:
http://cs
-
linux.cs.apu.edu/~sliang/Fall2009/CS225/Syllabus/ReqCS225Syllabus.htm


Reservation of Rights

The instructor reserves the right to change this syllabus, at his/her sole discretion, at any time, and without
prior notice. The contents of the curren
t undergraduate catalog are incorporated herein by reference. In the event
of a conflict between this syllabus and the undergraduate catalog, the undergraduate catalog shall have
precedence.

CS
2
50

Operating Systems

Page
10

T
ENTATIVE

C
OURSE

S
CHEDULE



Weekly Reading Journal:
8

x

WRJ,

Homework

&

Quiz:
6

x

HW&Q


Project
:
3

x

LAB


W#

Reading

Day

Handouts

Due Dates

Topics

Section 0
.

Operational View
:

A Symphony Conductor


(Ch 1) [1W]

1

1.1

01/1
2



Computers and Software

1.2

01/1
4


WRJ#1

Abstract and Transparent

Se
ct
ion 1
.

Professional View:

Concurrent Programming
(Ch 2
*
-

4
)

[
4
W]

2

2.1
-
2.2

01/1
9

HW&Q#1


POSIX

PuTTY

Linux

01/
21


WRJ#
2

PuTTY Linux Experience

3

PuTTY Linux

01/2
6

HW&Q#2

HW&Q#1


2.3

01/2
8



Processes and Threads

4

2.4

02/0
2


HW&Q#2

Writing Concurrent
Programs


02/0
4

Lab
-
1 (2)

WRJ#
3

Concurrent Programming

5

3.1
-
3.2

02/0
9



Processor Modes

4.4
-
4.5

02/1
1


WRJ#
4

Interrupts and the Trap instruction

Se
ct
ion 2
.

DOS: Device Management (
Ch 5
, Ch 13
) [
2
W]

6

5.1
-
5.2

02/1
6

HW&Q#3


The I/O system and
strategies

5.3

02/1
8


WRJ#
5

Device Manager (Design)

7

13.1
-
13.2

02/2
3



Files and File Management


02/2
5

Midterm

HW&Q#3

Ch 2*, Ch 3
-
5, 13

Se
ct
ion 3
.

Process Management
(Ch
6*, Ch 7
-
10
) [
4
W]

8

6.1
-
6.3

03/0
2

HW&Q#4


The abstract machine for classic
processes

6.4

03/0
4


WRJ#
6

The process abstraction (Linux)

9

6.5

03/0
9


HW&Q#4

The process abstraction (Windows)


03/1
1

Lab
-
2 (6)


M
-
threaded Application for cross
-
platform

10

7.4
-
7.5

03/1
6

HW&Q#5


Scheduling strategies

8.1, 8.3, 10.1

03/1
8


WRJ#
7

Cooperating processes & deadlock

11

9 .1
-
9.3

03/2
3


HW&Q#5

High
-
level syn & inter
-
proc communication


03/2
5

Modern PLs


Inter
-
thread communication (Java/Ada)

Easter Vacation (
March 27

~ April
5
)

Se
ct
ion 4
.

VMS
:
Memory Management
(Ch 1
1*
-
12
) [3W]

12

11.1
-
11.2

0
4
/
06

HW&Q#6


Basics: Address Space Abstraction

11.3

0
4
/
08


WRJ#
8

Memory Allocation

13

11.4

04/
13


HW&Q#6

Dynamic Address Space Binding


04/
15

Lab
-
3 (11)


Stack
-
based dynamic memory manager

14

12.2
-
12.4

04/
20

QDRE (14)


Virtual Memory:
Paging


04/2
2

Continue to do Lab


Stack
-
based dynamic memory manager

15


04/2
7

Guidance of Final




04/2
9

IDEA



1
6

Final on May
4

(
12:15pm~2:1
5pm)

QDRE (14)

Class Notes

Ch 6*, Ch 7
-
10, 11*
-
12