First Day of CS202, 2022 Winter
Fun facts about CS202, 2022 Winter
Copyright By PowCoder代写 加微信 powcoder
Who we are
PhD student in EE PhD student in CSE MS student in CSE MS student in CEN
I love to study about OS
This course is one of the core courses in my curriculum.
To learn concepts of advanced operating systems
Recommendation
I want to learn more about schedulers in operating systems and optimising them for different workloads and processors.
to learn about os
To fulfill my core requirements for my degree
To complete my understanding about Operating Systems
Might help writing better code
to help me with reseach in high performance computing
Because operating systems allows us to make most out of our computers To gain high end knowledge in Operating Systems
I would like to learn more about Operating Systems.
It is one of the optional Core Requirements which I enjoyed during my undergrad, hence I am taking it
Very much interested and eager to learn about the most fundamental thing about computers ie an OS. Will be looking forward to it
Core course
To understand more about the Operating System and also for complete MS CS course core course requirement
I believe this class is very important
My research project is about OS security and I love OS
Core course
Because I like this professor teaching style
I would like to learn OS in depth
Interested to learn more about OS
To learn more about operating system structures and how they work! Advanced course for prelim exam
To understand the working of kernel and RPCs
I am interested to learn about OS which is vital to any area we dive into further. This is also part of my core requirement.
I want to learn about virtual machine
Core requirement
Core Course for MS in CS
It is an interesting Core course for CEN
Required class
Interest and also a required course for degree
core/good professor this quarter
To build up on my Systems knowledge and complement it with the Architecture knowledge I have.
To have a better understanding of Operating Systems
core course
I took Design of Operating Systems and enjoyed it. I wanted to move on with the advanced.
Core course
I really liked OS during my undergrad and want to learn more
I want to understand OS so that I can adapt an OS for different situations. It sounds the most useful one in the core area.
To learn about operating systems and fulfill the comprehensive exam questions requirement.
To enhance my Technical core knowledge in Operating Systems
It’s a requirement to graduate
personal interest
To learn about Operating systems and see if I can apply practical aspects of the course, for my future research.
interested in distributed system
Why we are here
Most exciting new year/holiday season experience
I share the best moments and the worst moments of the year with my closest friends
My birthday which is on jan1st –
Spending time with my family in my home country
I just arrived to the US as a Winter student and my friend ordered food for me as a welcome gift.
I was doing bjj
Going out and partying with friends at San Diego
Having pizza with friends
Toshikoshi soba
This is the first time I will experience new year in USA.
Probably this year in San Diego
Spending time with my best friends.
Far from home
Seeing the trees decorated with lights
Traveling around
Going to a bar and drink a lot with friends
Go to the big bear lake and play snowboarding there
Deep understand about OS
Being in Yellowstone and photographing wildlife!
A trip to the grand canyon!
Visiting the southernmost city in the world!
The current date is Dec 28.
Celebrating it with family.
Hanging out with friends and family
Nothing much planned. I’ll cook some good food and prepare prepare for interviews.
watch fireworks
Being with family
Spending time with friends
sleeping in
Visiting 6 Flags
Watching all fields in a date change
Me and my friend joined a random party in Germany and we lost each other but people were so fun we didn’t try to find each other Celebrations with family
Party with friends and family
Bonfire & food!
I made sukiyaki for the first time and it was delicious!
2018 New year Eve is my unforgettable with more exciting memories with my undergrad friends in College Hostel
I cannot see this question, the “read and agree” text is blocking it came from non cs background and build my web site, and also review quite a bit of stochastic process
Anytime with close friends is a good experience.
pandemic ends
8 https://upload.wikimedia.org/wikipedia/commons/d/d9/EDSAC_2_1960.jpg
The usage model of computers in the past…
What releases human beings from the queues?
The usage model of computers in the past…
Operating System
• • • • • • • •
Why is there an operating system?
Make it easy to run programs
Enable programs to interact with devices Allow programs to share hardware resources Support multithreaded programs
Execute programs efficiently
Low overhead
Store data safely
What modern operating systems support?
Virtualize hardware/architectural resources
Easy for programs to interact with hardware resources
Share hardware resource among programs Protect programs from each other (security)
Execute multithreaded programs concurrently Support multithreaded programming model
Store data safely Secure
Execute multithreaded programs efficiently •
Store data persistently
Fun facts about operating systems
The first operating system — GMOS
The first operating system used for real work was GM-NAA I/O, produced in 1956 by General Motors’ Research division for its IBM 704.
Functionality
Batch processing — The main function of GM-NAA I/O was to automatically execute a new program once the one that was being executed had finished
https://en.wikipedia.org/wiki/GM-NAA_I/O
I/O virtualization — provided common access to the input/output
Virtualization
Concurrency
Persistency
take the result later
Keep the computer running •
• Drawbacks
Head-of-line blocking
Cannot terminate a process in the middle Cannot communicate among different machines Hard to debug
Batch systems
You don’t have to be physically in the line, just drop your cards and
The first “portable” operating system — UNIX
Created in AT&T Bell Labs, a project leading by and Dennis
Ritchie — Started in 1969, internally public in 1971, public in 1973
Also the first OS written in a “high-level language” — Closely tied to the
development of the C programming language
Large portion of UNIX version 2 was written in C (version 1 was written in
Unix was one of the first operating system kernels implemented in a language
other than assembly
Easier to port to many other platforms •
Support interprocess communication No GUI
Support multiple users
Virtualization
Concurrency
Persistency
Descendants
UNIX (cont.)
BSD (Berkeley Software Distribution) FreeBSD, OpenBSD, NetBSD
The base of Apple’s MacOS X and iOS •
• Solaris IBM AIX
Started in 1983 by
Linus Torvalds, principal developer of the Linux kernel 19
What about this?
The most popular OS in the 80s — DOS
Disk Operating System
Originally Quick and Dirty Operating System
Introduced in 1981 for IBM PC based on 8086/8088
Only 640KB memory available for applications No virtual memory
Need quite a few tricks (EMS, XMS, QEMM, and etc.) to use all memory that you
installed on the computer
No multi-user, no multi-tasking, no multi-threading
Notorious 8.3 filename restrictions
Now the command line environment of Windows
Windows is originally a graphic user interface running on DOS — like X-Window
Virtualization
Concurrency
Persistency
The first GUI-based OS — Xerox PARC
The first GUI-based OS — Xerox PARC
Designed for Star Information system.
Object-oriented design
Editor: “What You See Is What You Get” (WYSIWYG) Only around 25,000 devices were sold
GUI elements: bitmapped display, windows, folders, icons,
Ethernet networking, file and print servers, and the mouse.
Virtualization
Concurrency
Persistency
The first popularized (kind of) GUI OS — Classical Mac OS
Released in 1984 w/ the legendary Macintosh Adopted GUI/mouses from Xerox PARC
The first popularized all GUI OS
Support multitasking
Not a multi-user system
Virtualization
Concurrency
Persistency
The most popular OS in late 90s — Windows 95/98/ME
Before Windows 95, “Windows” (e.g., Windows 3.1) was just a
GUI operating “environment” on DOS
You cannot directly boot your machine using early versions of
Similar to X-window, Xorg in UNIX/Linux
First full-fledged Windows OS introduced in 1995 as Windows
Virtualization
Concurrency
Persistency
The most popular OS before 2014 — Windows NT/2000/XP/Vista/7/8
Originally for servers, initially released in 1993
Support multi-user, multi-tasking
NTFS: more secure, modernized file system Different driver model than DOS/Windows 95
Most code in C/C++, reasonably portable (IA-32, x86-64, DEC Alpha, MIPS, PowerPC, ARM, Itanium)
First true 32-bit Windows OS, Windows Vista/7 started to
become natively 64-bit
Virtualization
Concurrency
Persistency
The most popular UNIX now — MacOS X
Initially released in 2001
Originated from NeXTSTEP, a company funded Darwin: based on Mach and BSD kernels
after leaving from Apple in 1985
Inherits all the good things from UNIX Better integration with GUI
Shares the same kernel with iOS
Virtualization
Concurrency
Persistency
The 2nd most popular mobile OS — iOS
Share the same kernel foundation with The 2nd most popular mobile OS
Virtualization
Concurrency
Persistency
The most popular OS now — Android
Based on Linux
The most popular operating system
since 2014
Virtualization
Concurrency
Persistency
What to virtualize?
The beast: von Neumman Architecture
Don’t Don’t
The beast: von Neumman Architecture
05f090c0bbd273
0f00bb27 00c2e800 509cbd23 00000008
By loading different programs into memory,
00005d24 00c2f000 0000bd24 00000008
0f00bb27 00c2e800
ent functions
your computer can
Instructions
Instructions
How processor executes a program
The program counter (PC) tells where the upcoming instruction is in the
Processor fetches the instruction, decode the instruction, execute the The processor fetches the next instruction whenever it’s safe to do so
instruction, present the instruction results according to clock signals
instruction memory
120007a30: 0f00bb27 ldah gp,15(t12)
120007a34: 509cbd23 lda gp,-25520(gp)
120007a38: 00005d24 ldah t1,0(gp)
120007a3c: 0000bd24 ldah t4,0(gp)
120007a40: 2ca422a0 ldl t0,-23508(t1)
120007a44: 130020e4 beq t0,120007a94
120007a48: 00003d24 ldah t0,0(gp)
120007a4c: 2ca4e2b3 stl zero,-23508(t1)
120007a50: 0004ff47 clr v0
120007a54: 28a4e5b3 stl zero,-23512(t4)
120007a58: 20a421a4 ldq t0,-23520(t0)
120007a5c: 0e0020e4 beq t0,120007a98
120007a60: 0204e147 mov t0,t1
120007a64: 0304ff47 clr t2
120007a68: 0500e0c3 br 120007a80
Desktop Computer
Peripherals (e.g., GPUs)
Peripherals (e.g., H.D.D.)
I/O Connectors (e.g., keyboard/mouse)
Peripher als (e.g., GPUs)
I/O Connectors (e.g., keyboard/mouse)
Processor ProcessPorrocessor Processor
Peripherals (e.g., H.D.D.)
MacBook Pro 13”
Processor + GPU
WiFi Modules/ Codecs
I/O Connectors
iPhone 13 Pro
Network Modules/ Codecs
I/O Connec tors
Power Manag ement
Process or +GPU
Power Managem ent IC
Power Manag ement IC
Power Manag ement IC
Play Station 5
I/O Connectors/ Controllers (e.g., HDMI)
Processor + GPU
Peripherals (SSD)
I/O Connectors/ Controllers (e.g., HDMI)
Peripherals (e.g., SSD)
Nintendo Switch
I/O Connectors (e.g., HDMI)
Network Modules/ Codecs
Peripherals (e.g., memory cards.)
Processor + GPU
Tesla Model 3
Proces sor
Proces sor
I/O Connectors
Power Management IC
I/O Connectors
Operating System
CS202: Advanced Operating Systems
Why? What? How?
What is an operating system What?
How to implement a red-black tree
How to use semaphores
What is a program
How to avoid dead lock What is BFS
How the processor works
How to implement a linked-list
How to implement greedy algorithm What are semaphores
How to implement a hash
What is a stack
What is greedy algorithm
How to implement dynamic-programming algorithm What is a binary tree
How cache works
What is a processor
How to write a C program What is a queue
How to use SQL databases
How to write a Java program
What is cache
What is DFS
What is deadlock
How to implement Dijkstra algorithm
How to implement socket programming
What is a red-black tree
What is a hash
How to write a Python program
How to implement depth-first search
How to implement a stack
What is a programming language
How to implement breadth-first search What is sortest-path problem
How to implement a queue What is a linked-list
How to analyze the complexity of an algorithm
How to implement a binary tree
How to implement an OS scheduler
How to implement an efficient sorting algorithm
What is dynamic-programming algorithm
CS202 Lecture
CS202 Project
Lectures: TuTh 2p-3:20p on Zoom (for at least the first two weeks)
Office Hours: (Find the link through Google Calendar) Hung- : MTu 11a-12p on Zoom
Yu- : W 2p-3p, F 11a-12p on Zoom
Schedule, slides on course webpage: Discussion on piazza:
Course resource
https://piazza.com/class/kxgldzml6k71g2
Reading quizzes, homework submissions on eLearn: Youtube Channel
https://elearn.ucr.edu/courses/31822
https://www.youtube.com/profusagi
https://calendar.google.com/calendar/u/0/r?
Instructor — Hung-
https://intra.engr.ucr.edu/~htseng/
Office hour:
MTu 11:00a-12:00p on Zoom
Research Interests
Intelligent storage devices Non-volatile memory based systems Anything could accelerate applications
BS/MS in Computer Science, PhD in Computer Science,
National Taiwan University
University of California, San Diego
Accelerating applications using AI/ML
accelerators
Office hours: W 2p-3p F 11a-12p on Zoom E-mail:
Teaching Assistant — Yu-
Login/discussion in eLearn and piazza. Read the text before class!
I’m not going to cover everything in class, but you are responsible for all the assigned text. Papers
Reading quizzes in eLearn (15%)
Your tasks
Operating Systems: Three Easy Pieces Remzi H. Arpaci-Dusseau and . Arpaci-Dusseau
(free online http://pages.cs.wisc.edu/~remzi/OSTEP/)
Come to class — answering at least 50% of Zoom Polls or Everywhere Polling during 4 grading
periods, counted as 4 reading quizzes
We will drop at least 5 of your lowest reading quizzes, so it’s OK if you don’t attend •
Midterm (20%) — take home/online, format TBA Final (40%) — take home/online, format TBA
Project (25%) — intensive C programming in the system/kernel level
You can see your grades on eLearn.
Errors in grading
If you feel there has been an error in how an assignment or test was graded, you have one week
from when the assignment is return to bring it to our attention. You must submit (via email to the
instructor and the appropriate TAs) a written description of the problem. Neither I nor the TAs will discuss regrades without receiving an email from you about it first.
For arithmetic errors (adding up points etc.)
you do not need to submit anything in writing, but the one week limit still applies.
Don’t cheat.
Academic Honesty
Copying solutions of the internet or a solutions manual is cheating They are incorrect sometimes
Review the UCR student handbook When in doubt, ask.
Cheating on a test will get you an F in the class and no option to drop, and a visit
with your college dean.
Cheating on homework means you don’t have to turn them in any more, but you don’t get points either. You will also take at least 25% penalty on the exam grades.
Learning eXperience
Most lectures today …
I expect the lecture to be…
Peer instruction
An Active Learning teaching method proposed by Prof. from Harvard
University in the early 1990s
Before the lecture — You will first try your best to go through and understand the
required reading
During the lecture — I’ll bring in activities to ENGAGE you in exploring your understanding of the material
Popup questions
Individual thinking — use polls in Zoom to express your opinion
Group discussion
Discuss in breakout rooms
Use polls in Zoom or Poll Everywhere to express your group’s opinion
Whole-classroom discussion — we would like to hear from you I will explain and lecture on those related concepts
Before the lecture
Peer Instruction
During the lecture
Before lectures: reading quizzes
This is a peer instruction class
The lecture will require you to read and try your best to understand the material first
We need to make sure that you read the material first to achieve the best learning outcome
Reading assignments from
Textbook: Operating Systems: Three Easy Pieces Remzi H. Arpaci-Dusseau and . Arpaci-Dusseau
(free online http://pages.cs.wisc.edu/~remzi/OSTEP/)
Papers — at least get through those “focuses” listed in the schedule
Reading quizzes: On eLearn
Due before the lecture, usually once a week. Check the schedule on our webpage You will have two chances. We take the average
No time limitation until the deadline
No make up reading quizzes — we will drop probably one or two lowest at least
Why attend live sessions and discuss?
Let you practice
Bring out misconceptions
Let us LEARN from each other about difficult parts It’s going to be fun!
You will be GET CREDIT for your efforts to learn in class
By answering questions with polls within Zoom/Polleverywhere
Answer 50% of the clicker questions in class, get full credits for 4 reading quizzes
Group Discussion
We will divide the class into four groups for the first two weeks (at least)
I’ll bring in activities to ENGAGE you in exploring your understanding of the
kernel module
We will work on “real Linux systems” and implement a linux Details will come soon
Real human beings work on real systems!
Slides (Preview)
Slides (Release)
The Structure of Operating Systems and the Abstraction of Processes
– Arpaci-Dusseau Chapter 2, 4, 6
The Structure of Operating Systems
– E. W. Dijkstra. The Structure of the ‘THE’-Multiprogramming System. Communications of the ACM, Vol. 11, No. 5, May 1968, pp. 341-346. – P. B. Hansen. The Nucleus of a Multiprogramming System, Communications of the ACM, Vol. 13, No. 4, April 1970, pp. 238-241, 250. Focusing on:
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com