Introduction to Computer Systems
|
|
- Gyles Norris
- 5 years ago
- Views:
Transcription
1 CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06
2 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech L459) TBD Undergraduate assistant Responsible for grading the homework and projects Location and Time Lecture: 2-3:20pm, Tech M164 2 CS-213, F 06
3 Prerequests CS211 or equivalent Experience with C or C++ Required CS311 Useful Required CS213 is required CS course It is prerequisite for CS 343 (Operating Systems) It is also prerequisite for ALL systems courses»see for a current list 3 CS-213, F 06
4 Textbooks Required: Randal E. Bryant and David R. O Hallaron, Computer Systems: A Programmer s Perspective, Prentice Hall csapp.cs.cmu.edu Recommended: Brian Kernighan and Dennis Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1988 Richard Stevens, Advanced Programming in the Unix Environment, Addison-Wesley, CS-213, F 06
5 Homeworks, Labs, and Exams 3 labs, remove the malloc lab due to lack of TA 3 ~ 4 homeworks, 2 exams Grading 10% Homeworks 10% Class attendance and discussion 30% Programming labs (10% per lab) 25% Midterm (covers first half of the course) 25% Final (covers second half of the course) Late Policy After 1 day, maximum score is 90% After 2 days, meximum score is 80%, etc. 5 CS-213, F 06
6 Policies: Assignments Work groups You must work in groups of 2 for all labs Handins Assignments due at 11:59pm on specified due date. Electronic handins only. 6 CS-213, F 06
7 Course Components Lectures Higher level concepts Recitations Labs None due to lack of TA The heart of the course 2 ~ 3 weeks Provide in-depth understanding of an aspect of systems Programming and measurement 7 CS-213, F 06
8 Getting Help Web f06/ Copies of lectures, assignments, exams, solutions Newsgroup cs.213 For more info on newsgroup access, Clarifications to assignments, general discussion Personal help Professors: office hours 2-4pm on Thu. 8 CS-213, F 06
9 Cheating What is cheating? Sharing code: either by copying, retyping, looking at, or supplying a copy of a file. What is NOT cheating? Helping others use systems or tools. Helping others with high-level design issues. Helping others debug their code. Penalty for cheating: Removal from course with failing grade. 9 CS-213, F 06
10 Facilities TLAB (Tech F-252: F the Tech end of the bridge that connects Tech and Ford) - a cluster of Linux machines - (e.g., TLAB-11.cs.northwestern.edu) You should all have TLAB accounts by now; -if not, contact root (root@eecs.northwestern.edu( root@eecs.northwestern.edu) For accessing the TLAB facilities - contact Carol Surma (carol@rhodes.ece.northwestern.edu) 10 CS-213, F 06
11 Programs and Data (8) Topics Bits operations, arithmetic, assembly language programs, representation of C control and data structures Includes aspects of architecture and compilers Assignments L1: Manipulating bits L2: Defusing a binary bomb L3: Hacking a buffer bomb 11 CS-213, F 06
12 The Memory Hierarchy (2) Topics Memory technology, memory hierarchy, caches, disks, locality Includes aspects of architecture and OS. 12 CS-213, F 06
13 Linking and Exceptional Control Flow (3) Topics Object files, static and dynamic linking, libraries, loading Hardware exceptions, processes, process control, Unix signals, nonlocal jumps Includes aspects of compilers, OS, and architecture 13 CS-213, F 06
14 Virtual Memory (2) Topics Virtual memory, address translation, dynamic storage allocation Includes aspects of architecture and OS 14 CS-213, F 06
15 I/O, Networking, and Concurrency (3) Topics High level and low-level I/O, network programming, Internet services, Web servers concurrency, concurrent server design, threads, I/O multiplexing with select. Includes aspects of networking, OS, and architecture. 15 CS-213, F 06
16 Lab Rationale Doing a lab should result in new skills and concepts Data Lab: computer arithmetic, digital logic. Bomb Lab: assembly language, using a debugger, understanding the stack. Exploit Lab: understanding the calling stack organization and buffer overflow vulnerabilities. 16 CS-213, F 06
17 Course Theme Abstraction is good, but don t forget reality! Courses to date emphasize abstraction Abstract data types Asymptotic analysis These abstractions have limits Especially in the presence of bugs Need to understand underlying implementations Useful outcomes Become more effective programmers Able to find and eliminate bugs efficiently Able to tune program performance Prepare for later systems classes in CS & ECE Compilers, Operating Systems, Networks, Computer Architecture, Embedded Systems 17 CS-213, F 06
18 Coarse Goal Must understand system to optimize performance How programs compiled and executed How to measure program performance and identify bottlenecks How to improve performance without destroying code modularity and generality Implementations change, but concepts don t 18 CS-213, F 06
19 Course Perspective Most Systems Courses are Builder-Centric Computer Architecture Design pipelined processor in Verilog Operating Systems Implement large portions of operating system Compilers Write compiler for simple language Networking Implement and simulate network protocols 19 CS-213, F 06
20 Course Perspective (Cont.) Our Course is Programmer-Centric Purpose is to show how by knowing more about the underlying system, one can be more effective as a programmer Enable you to Write programs that are more reliable and efficient Incorporate features that require hooks into OS» E.g., concurrency, signal handlers Not just a course for dedicated hackers We bring out the hidden hacker in everyone Cover material in this course that you won t see elsewhere 20 CS-213, F 06
21 Hello World What happens and why when you run hello on your system? /*hello /*hello world*/ world*/ # include include <stdio.h> <stdio.h> int int main() main() { printf( hello, printf( hello, world\n ); world\n ); } Goal: introduce key concepts, terminology, and components 21 CS-213, F 06
22 Information is Bits + Context Hello is a source code Sequence of bits (0 or 1) 8-bit data chunks are called Bytes Each Byte has an integer value that corresponds to some character (ASCII standard) E.g., # -> 35 Files that consist of ASCII characters -> text files All other files -> binary files (e.g., 35 is a part of a machine command) Context is important The same sequence of bytes might represent a character string or machine instruction 22 CS-213, F 06
23 Programs Translated by Other Programs unix> unix> gcc gcc o o hello hello hello.c hello.c printf.o hello.c Source program (text) Preprocessor (cpp) hello.i Modified source program (text) Pre-processing Compiler (cc1) hello.s Assembly program (text) Assembler (as) hello.o Relocatable object programs (binary) E.g., #include <stdio.h> is inserted into hello.i Compilation Linker (ld) hello Executable object program (binary) hello.s: each statement is an assembly language program Assembly hello.o: a binary file whose bytes encode machine language instructions Linking E.g., hello.c uses printf(), it resides in a separate precompiled object file printf.o 23 CS-213, F 06
24 Why do We Care about This? Optimizing program performance To write efficient code Understanding link-time errors Why does it matter what order we list libraries? Why some link-errors do not appear before run time? Avoiding security holes Buffer overflow bugs 24 CS-213, F 06
25 Shell unix> unix>./hello./hello hello, hello, world world unix> unix> Shell a command-line interpreter that prints a prompt waits for you to type command line loads and runs hello program prints a prompt 25 CS-213, F 06
26 Buses Hardware organization Buses CPU PC Register file ALU System bus Memory bus Transfer fixedsized chunks of data (WORDS) Intel Pentium -> 4Bytes bus Bus interface I/O bridge Main memory USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display 26 CS-213, F 06 Disk hello executable stored on disk
27 Hardware organization CPU PC Register file ALU System bus Memory bus I/O Devices System connections to external world Mouse, keyboard (input) Display, disk device (output) Bus interface I/O bridge Main memory USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display 27 CS-213, F 06 Disk hello executable stored on disk
28 Hardware organization CPU PC Register file ALU System bus Memory bus Main Memory Temporary storage device Holds both a program and the data it manipulates with Bus interface I/O bridge Main memory USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display 28 CS-213, F 06 Disk hello executable stored on disk
29 Hardware organization CPU Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory Control Processor Unit (CPU) Executes instructions stored in main memory Program Counter (PC or Register) contains the address of some machine-language instruction from memory CPU Reads the instruction from memory Performs simple operation (load, store, update) Updates the PC to point to next instruction 29 CS-213, F 06
30 Running the Hello Program Reading the hello command from the keyboard Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory "hello" USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display 30 CS-213, F 06 User types "hello" Disk
31 Running the Hello Program Shell program loads hello.exe into main memory Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory "hello,world\n" hello code USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display Disk hello executable stored on disk 31 CS-213, F 06
32 Running the Hello Program The processor executes instructions and displays hello Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory "hello,world\n" hello code USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display "hello,world\n" 32 CS-213, F 06 Disk hello executable stored on disk
33 Caching A system spends a lot of time moving information from one place to another Larger storage devices are slower than smaller ones Register file ~ 100 Bytes Main memory ~ millions of Bytes It is easier and cheaper to make processors run faster than it is to make main memory run faster CPU chip L1 Register file cache (SRAM) ALU Cache bus System bus Memory bus L2 cache (SRAM) Bus interface Memory bridge Main memory (DRAM) 33 CS-213, F 06
34 Storage Devices Form a Hierarchy Storage at one level serves as cache at the next level Smaller, faster, and costlier (per byte) storage devices Larger, slower, and cheaper (per byte) storage devices L5: L4: L3: L2: L1: L0: Registers On-chip L1 cache (SRAM) Off-chip L2 cache (SRAM) Main memory (DRAM) Local secondary storage (local disks) Remote secondary storage (distributed file systems, Web servers) CPU registers hold words retrieved from cache memory. L1 cache holds cache lines retrieved from the L2 cache. L2 cache holds cache lines retrieved from memory. Main memory holds disk blocks retrieved from local disks. Local disks hold files retrieved from disks on remote network servers. 34 CS-213, F 06
35 Operating System (OS) OS a layer of software interposed between the application program and the hardware Application programs Operating system Processor Main memory I/O devices Software Hardware Two primary purposes To protect the hardware from misuse by applications To provide simple and uniform mechanisms for manipulating low-level hardware devices 35 CS-213, F 06
36 OS Abstractions Files are abstractions of I/O devices Virtual Memory is an abstraction for the main memory and I/O devices Processes are abstractions for the processor, main memory, and I/O devices Processes Virtual memory Files Processor Main memory I/O devices 36 CS-213, F 06
37 Processes The OS provides the illusion that the program is the only one in the system Process OS s abstraction of a running program Context switching Saving the context of one process Restoring the process of the new process Time shell process hello process Application code OS code Application code OS code Context switch Context switch 37 CS-213, F 06 Application code
38 Virtual Memory Illusion that each process has exclusive use of main memory Example The virtual address space for Linux 0xffffffff 0xc x x Kernel virtual memory User stack (created at runtime) Memory mapped region for shared libraries Run-time heap (created at runtime by malloc) Read/write data Read-only code and data Unused Memory invisible to user code printf() function Loaded from the hello executable file 38 0 CS-213, F 06
39 Networking Computers do more than execute programs They need to get data in and out I/O system critical to program reliability and performance They communicate with each other over networks Many system-level issues arise in presence of network Coping with unreliable media Cross platform compatibility Complex performance issues 39 CS-213, F 06
Introduction to Computer Systems
Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer
More informationChris Riesbeck, Fall Introduction to Computer Systems
Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck
More informationIntroduction to Computer Systems
Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer
More informationIntroduction to Computer Systems
15-213 The Class That Gives CMU Its Zip! Introduction to Computer Systems David O Hallaron August 27, 2002 Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS
More informationComputer Organization - Overview
Computer Organization - Overview Hyunyoung Lee CSCE 312 1 Course Overview Topics: Theme Five great realities of computer systems Computer system overview Summary NOTE: Most slides are from the textbook
More informationGreat Reality #2: You ve Got to Know Assembly Does not generate random values Arithmetic operations have important mathematical properties
Overview Course Overview Course theme Five realities Computer Systems 1 2 Course Theme: Abstraction Is Good But Don t Forget Reality Most CS courses emphasize abstraction Abstract data types Asymptotic
More informationA software view. Computer Systems. The Compilation system. How it works. 1. Preprocesser. 1. Preprocessor (cpp)
A software view User Interface Computer Systems MTSU CSCI 3240 Spring 2016 Dr. Hyrum D. Carroll Materials from CMU and Dr. Butler How it works hello.c #include int main() { printf( hello, world\n
More informationENCE Computer Organization and Architecture. Chapter 1. Software Perspective
Computer Organization and Architecture Chapter 1 Software Perspective The Lifetime of a Simple Program A Simple Program # include int main() { printf( hello, world\n ); } The goal of this course
More informationCourse Overview CSCE 312. Instructor: Daniel A. Jiménez. Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition
Course Overview CSCE 312 Instructor: Daniel A. Jiménez 1 Overview Course theme Five realities How the course fits into the CS/ECE curriculum Academic integrity 2 Course Theme: Abstraction Is Good But Don
More informationBilgisayar Sistemlerine Genel Bakış
Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr.
More informationIntroduction to Computer Systems
CSCE 230J Computer Organization Introduction to Computer Systems Dr. Steve Goddard goddard@cse.unl.edu http://cse.unl.edu/~goddard/courses/csce230j Giving credit where credit is due Most of slides for
More informationIntroduction to Computer Systems
CSCE 230J Computer Organization Introduction to Computer Systems Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs.
More informationIntroduction to Computer Architecture. Meet your Colleagues. Course Theme CISC Michela Taufer September 4, 2008
CISC 360-010 Introduction to Computer Architecture Michela Taufer September 4, 2008 Topics: Course policies and overview Theme Five great realities of computer systems Powerpoint Lecture Notes for Computer
More informationIntroduction to Computer Systems
Introduction to Computer Systems Syllabus Web Page http://www.cs.northwestern.edu/~pdinda/icsclass Instructor Peter A. Dinda 1890 Maple Avenue, Room 338 847-467-7859 pdinda@cs.northwestern.edu Office hours:
More informationIntroduction to Computer Systems
Introduction to Computer Systems Web Page http://pdinda.org/ics Syllabus See the web page for more information. Class discussions are on Piazza We will make only minimal use of Canvas (grade reports, perhaps
More informationCSCI2467: Systems Programming Concepts
CSCI2467: Systems Programming Concepts Slide set 1: A Tour of Computer Systems (CS:APP Chapter 1) Instructor: M. Toups Spring 2018 Overview 1 A Tour of Computer Systems Systems Information is bits plus
More informationWelcome To The New Foundations of Computer Systems (Fall 2017)
Welcome To The New 18-600 Foundations of Computer Systems (Fall 2017) Instructors: John P. Shen & Gregory Kesden Head TAs: Abhinav Jauhri & Gautam Arakalgud 8/28/2017 ( J.P. Shen) 18-600 Lecture #1 1 18-600
More informationIntroduction to Computer Systems /18 243, Spring st Lecture, Aug. 25 th. The course that gives CMU its Zip!
Introduction to Computer Systems 15 213/18 243, Spring 2009 1 st Lecture, Aug. 25 th Instructors: Roger Dannenberg and Greg Ganger The course that gives CMU its Zip! Overview Course role and theme Five
More informationComputer Systems Organization
Computer Systems Organization 1 Outline 2 A software view User Interface 3 How it works 4 The gcc compilation system 5 The gcc compilation system hello.c (source code) Pre-processor (cpp) hello.i (modified
More informationOverview of the ECE Computer Software Curriculum. David O Hallaron Associate Professor of ECE and CS Carnegie Mellon University
Overview of the ECE Computer Software Curriculum David O Hallaron Associate Professor of ECE and CS Carnegie Mellon University The Fundamental Idea of Abstraction Human beings Applications Software systems
More informationA Tour of Computer Systems
CHAPTER 1 A Tour of Computer Systems 11 Information Is Bits + Context 3 12 Programs Are Translated by Other Programs into Different Forms 4 13 It Pays to Understand How Compilation Systems Work 6 14 Processors
More informationChapter 1 A Tour of Computer Systems
Chapter 1 A Tour of Computer Systems A computer system consists of hardware and systems software that work together to run application programs. Specific implementations of systems change over time, but
More informationCourse Overview. CSCI 224 / ECE 317: Computer Architecture. Instructors: Prof. Jason Fritts. Slides adapted from Bryant & O Hallaron s slides
Course Overview CSCI 224 / ECE 317: Computer Architecture Instructors: Prof. Jason Fritts Slides adapted from Bryant & O Hallaron s slides 1 Overview Course theme Five realities Logistics 2 Course Theme:
More informationIntroduction Presentation A
CSE 2421/5042: Systems I Low-Level Programming and Computer Organization Introduction Presentation A Read carefully: Bryant Chapter 1 Study: Reek Chapter 2 Skim: Reek Chapter 1 08/22/2018 Gojko Babić Some
More informationIntroduction to Computer Systems: Semester 1 Computer Architecture
Introduction to Computer Systems: Semester 1 Computer Architecture Fall 2003 William J. Taffe using modified lecture slides of Randal E. Bryant Topics: Theme Five great realities of computer systems How
More informationCS241 Computer Organization Spring
CS241 Computer Organization Spring 2015 Prof. Searleman jets@clarkson.edu http://www.clarkson.edu/~jets/cs241 ! Name (as you like to be called)! Major! Graduating Year! Hometown! Programming & Computer
More informationThe Memory Hierarchy 10/25/16
The Memory Hierarchy 10/25/16 Transition First half of course: hardware focus How the hardware is constructed How the hardware works How to interact with hardware Second half: performance and software
More informationCourse Information and Introduction
August 22, 2017 Course Information 1 Instructors : Email : arash.rafiey@indstate.edu Office : Root Hall A-127 Office Hours : Tuesdays 11:30 pm 12:30 pm. Root Hall, A127. 2 Course Home Page : http://cs.indstate.edu/~arash/cs256.html
More informationHigh Performance Computing Lecture 1. Matthew Jacob Indian Institute of Science
High Performance Computing Lecture 1 Matthew Jacob Indian Institute of Science Agenda 1. Program execution: Compilation, Object files, Function call and return, Address space, Data & its representation
More informationLecture 1: Course Overview
Lecture 1: Course Overview Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3 Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU) Mohamed Zahran
More informationChapter 2. OS Overview
Operating System Chapter 2. OS Overview Lynn Choi School of Electrical Engineering Class Information Lecturer Prof. Lynn Choi, School of Electrical Eng. Phone: 3290-3249, Kong-Hak-Kwan 411, lchoi@korea.ac.kr,
More informationComputer Systems Organization
Carnegie Mellon Computer Systems Organization Shuai Mu Slides are based on Tiger Wang s and Jinyang Li s class Why study CSO? The path of your next few years graduation interview programmer The path of
More informationSyllabus of ENPM 691: Secure Programming in C
Syllabus of ENPM 691: Secure Programming in C Spring Semester 2018 Instructor: Dharmalingam Ganesan, PhD Contact: dganesan@umd.edu Class hours: Thursday 7:00 PM to 9:40 PM Class location: TBA Course Description:
More informationComputer Systems A Programmer s Perspective 1 (Beta Draft)
Computer Systems A Programmer s Perspective 1 (Beta Draft) Randal E. Bryant David R. O Hallaron August 1, 2001 1 Copyright c 2001, R. E. Bryant, D. R. O Hallaron. All rights reserved. 2 Contents Preface
More informationIntroduction to System Programming Course 2015 Spring Euiseong Seo
Introduction to System Programming Course 2015 Spring Euiseong Seo (euiseong@skku.edu) 1 Overview What this course is about Who teaches this course Why you have to take this course What you will learn
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Introduction o Instructor of Section 002 Dr. Yue Cheng (web: cs.gmu.edu/~yuecheng) Email: yuecheng@gmu.edu Office: 5324 Engineering
More informationCS 3330 Introduction 1
CS 3330 Introduction 1 layers of abstraction 2 x += y Higher-level language: C add %rbx, %rax! 60 03 SIXTEEN Assembly: X86-64 Machine code: Y86 Hardware Design Language: HCLRS Gates / Transistors / Wires
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 From Programs to Processes Hello. In
More informationLC-3 Assembly Language
Chapter 7 LC-3 Assembly Language CS Reality You ve got to know assembly Chances are, you ll never write program in assembly Compilers are much better & more patient than you are Understanding assembly
More informationCS 61: Systems programming and machine organization. Prof. Stephen Chong November 15, 2010
CS 61: Systems programming and machine organization Prof. Stephen Chong November 15, 2010 CS 61 Fall 2011, Tuesdays and Thursdays 2:30pm 4pm Prereqs: CS 50 (or C programming experience) An introduction
More informationSWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
SWE3004: Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction Schedule 16:30 17:45 (Monday), 13:30 14:45 (Wednesday) Lecture
More informationCOS 318: Operating Systems
COS 318: Operating Systems Overview Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times Lectures 9/20 Lecture is here Other lectures in
More informationCOMP 321: Introduction to Computer Systems
COMP 321: Introduction to Computer Systems Alan L. Cox alc@rice.edu Michael Fagan mfagan@rice.edu Goals Understand programming better Linking Exceptions Memory I/O Networking Prepare for systems classes
More information18-447: Computer Architecture Lecture 16: Virtual Memory
18-447: Computer Architecture Lecture 16: Virtual Memory Justin Meza Carnegie Mellon University (with material from Onur Mutlu, Michael Papamichael, and Vivek Seshadri) 1 Notes HW 2 and Lab 2 grades will
More informationCS 211 Programming I for Engineers
CS 211 Programming I for Engineers Instructor: Tom Bartenstein Course Web Page: http://www.cs.binghamton.edu/~tbartens/cs211_fall_2018/ 1 Catalog Description Introduction to computer programming with engineering
More information198:231 Intro to Computer Organization. 198:231 Introduction to Computer Organization Lecture 14
98:23 Intro to Computer Organization Lecture 4 Virtual Memory 98:23 Introduction to Computer Organization Lecture 4 Instructor: Nicole Hynes nicole.hynes@rutgers.edu Credits: Several slides courtesy of
More informationCS 3330 Introduction. Daniel and Charles. CS 3330 Computer Architecture 1
CS 3330 Introduction Daniel and Charles CS 3330 Computer Architecture 1 lecturers Charles and I will be splitting lectures same(ish) lecture in each section Grading Take Home Quizzes: 10% (10% dropped)
More informationMemory Management. Kevin Webb Swarthmore College February 27, 2018
Memory Management Kevin Webb Swarthmore College February 27, 2018 Today s Goals Shifting topics: different process resource memory Motivate virtual memory, including what it might look like without it
More informationIntroduction to System Programming
Introduction to System Programming Introduction to System Programming Why system programming? Basic operation of a computer system Summary Acknowledgement: slides based on the cs:app2e material 2 Why System
More informationWhat s next. Computer Systems A Programmer s Perspective
What s next Computer Systems A Programmer s Perspective 198 The role of the operating system Protect the computer from misuse Provide an abstraction for using the hardware so that programs can be written
More informationAdvanced Memory Organizations
CSE 3421: Introduction to Computer Architecture Advanced Memory Organizations Study: 5.1, 5.2, 5.3, 5.4 (only parts) Gojko Babić 03-29-2018 1 Growth in Performance of DRAM & CPU Huge mismatch between CPU
More informationAdvanced Operating Systems (CS 202)
Advanced Operating Systems (CS 202) Presenter today: Khaled N. Khasawneh Instructor: Nael Abu-Ghazaleh Jan, 9, 2016 Today Course organization and mechanics Introduction to OS 2 What is this course about?
More informationCSci Introduction to Operating Systems. Administrivia, Intro
CSci 4061 Introduction to Operating Systems Administrivia, Intro Me: Welcome to 4061! Jon Weissman CS Professor circa 1999 Call me Jon TAs: Zach Leidall, Francis Liu, Fei Wu, Parag Panda, Gaurav Khandelwal
More informationCS 241 Data Organization. August 21, 2018
CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/
More informationCSE3008: Operating Systems. Computer Systems Laboratory Sungkyunkwan University
CSE3008: Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction Schedule 13:30 14:45 (Mon), 16:30 17:45 (Wed) Lecture room
More informationCS 113: Introduction to
CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites
More informationOverview. Course Overview and Introduction
Here early? Try going to http://chimein.cla.umn.edu/ and see if you can answer an ice cream question Course Overview and Introduction CSci 2021: Machine Architecture and Organization Lecture #1, September
More informationCSCI2467: Systems Programming Concepts
CSCI2467: Systems Programming Concepts Slide set 0: Introduction to the course Instructor: Matthew A. Toups, ms Fall 2018 Today s Overview 1 Welcome What s new? Topics The labs Why systems? 2 Syllabus
More informationProcesses and Virtual Memory Concepts
Processes and Virtual Memory Concepts Brad Karp UCL Computer Science CS 37 8 th February 28 (lecture notes derived from material from Phil Gibbons, Dave O Hallaron, and Randy Bryant) Today Processes Virtual
More informationCourse Wrap-Up CSE 351 Spring
Course Wrap-Up CSE 351 Spring 2018 https://xkcd.com/1760/ Administrivia Please fill out the course evaluation! Evaluations close this Sunday at 11:59pm Not viewable until after grades are submitted 90%+
More informationSoftware Project. Lecturers: Ran Caneti, Gideon Dror Teaching assistants: Nathan Manor, Ben Riva
Software Project Lecturers: Ran Caneti, Gideon Dror Teaching assistants: Nathan Manor, Ben Riva Emails: (canetti/benriva)@post.tau.ac.il nathan.manor@gmail.com gideon@mta.ac.il http://www.cs.tau.ac.il/~roded/courses/soft-project10.html
More informationOperating Systems CS 571
Operating Systems CS 571 Prof. Sanjeev Setia Fall 2003 1 Prerequisites Overview Computer Architecture (CS 365) Data structures and programming (CS 310) (C++/C/Java progamming) Textbooks Modern Operating
More informationCSC 369H1S. Operating Systems Spring 2007 Professor Angela Demke Brown U of T
CSC 369H1S Operating Systems Spring 2007 Professor Angela Demke Brown U of T Instructor Contact: Administrivia Email: demke369@cs.toronto.edu Office: BA 4266 Office Hours: Tuesdays, 4-5p.m. and Thursdays
More informationCS 31: Intro to Systems Storage and Memory. Kevin Webb Swarthmore College March 17, 2015
CS 31: Intro to Systems Storage and Memory Kevin Webb Swarthmore College March 17, 2015 Transition First half of course: hardware focus How the hardware is constructed How the hardware works How to interact
More informationAE Computer Programming for Aerospace Engineers
AE 030 - Computer Programming for Aerospace Engineers Instructor Information: Credit: Professor Long Lu Long.Lu@sjsu.edu 2 units Class Times & Locations: Section 01 (Lecture): M 16:30-17:20 in CL 226 Section
More informationCOS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University
COS 318: Operating Systems Overview Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Logistics Precepts: Tue: 7:30pm-8:30pm, 105 CS
More informationCOS 318: Operating Systems. Overview. Prof. Margaret Martonosi Computer Science Department Princeton University
COS 318: Operating Systems Overview Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Precepts: Tue (Tonight)!
More informationCS307: Operating Systems
CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn
More information9/19/18. COS 318: Operating Systems. Overview. Important Times. Hardware of A Typical Computer. Today CPU. I/O bus. Network
Important Times COS 318: Operating Systems Overview Jaswinder Pal Singh and a Fabulous Course Staff Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) u Precepts:
More information13-2 EE 4770 Lecture Transparency. Formatted 8:18, 13 March 1998 from lsli
13-1 13-1 Operating Systems Definition: An operating system is the software that manages resources in a computer. Resources A resource is (usually) hardware that needs to be accessed. There are rules for
More informationOperating Systems (ECS 150) Spring 2011
Operating Systems (ECS 150) Spring 2011 Raju Pandey Department of Computer Science University of California, Davis CA 95616 pandey@cs.ucdavis.edu http://www.cs.ucdavis.edu/~pandey Course Objectives After
More informationABSTRACTION ISN T THE ENTIRE STORY
ABSTRACTION ISN T THE ENTIRE STORY CS 045 Computer Organization and Architecture Prof. Donald J. Patterson Adapted from Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition
More informationM2 Instruction Set Architecture
M2 Instruction Set Architecture Module Outline Addressing modes. Instruction classes. MIPS-I ISA. Translating and starting a program. High level languages, Assembly languages and object code. Subroutine
More informationDefinition: An operating system is the software that manages resources
13-1 Operating Systems 13-1 Definition: An operating system is the software that manages resources in a computer. Resources A resource is (usually) hardware that needs to be accessed. There are rules for
More informationCourse Overview. Jo, Heeseung
Course Overview Jo, Heeseung Course Theme: Abstraction Is Good But Don't Forget Reality Most CS and CE courses emphasize abstraction Abstract data types Asymptotic analysis These abstractions have limits
More informationCS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory
CS 61C: Great Ideas in Computer Architecture Lecture 23: Virtual Memory Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 1 Agenda Virtual Memory Paged Physical Memory Swap Space
More informationMidterm 1. Administrivia. Virtualizing Resources. CS162 Operating Systems and Systems Programming Lecture 12. Address Translation
Midterm 1 CS162 Operating Systems and Systems Programming Lecture 12 Address Translation March 5, 2018 Profs. Anthony D. Joseph & Jonathan Ragan-Kelley http://cs162.eecs.berkeley.edu Lec 12.2 Administrivia
More informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu cs@ecnu Operating System Labs Introduction to Unix (*nix) Course Overview Operating System Labs Introduction to Unix (*nix) Course Overview Unix / *nix What A family of
More informationCS 61C: Great Ideas in Computer Architecture. Lecture 23: Virtual Memory. Bernhard Boser & Randy Katz
CS 61C: Great Ideas in Computer Architecture Lecture 23: Virtual Memory Bernhard Boser & Randy Katz http://inst.eecs.berkeley.edu/~cs61c Agenda Virtual Memory Paged Physical Memory Swap Space Page Faults
More informationMemory Management! How the hardware and OS give application pgms:" The illusion of a large contiguous address space" Protection against each other"
Memory Management! Goals of this Lecture! Help you learn about:" The memory hierarchy" Spatial and temporal locality of reference" Caching, at multiple levels" Virtual memory" and thereby " How the hardware
More informationCSC 2405: Computer Systems II
CSC 2405: Computer Systems II Dr. Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Spring 2016 Course Goals: Look under the hood Help you learn what happens under the hood of computer systems
More informationCPSC 213. Introduction to Computer Systems. Introduction. Unit 0
CPSC 213 Introduction to Computer Systems Unit Introduction 1 Overview of the course Hardware context of a single executing program hardware context is CPU and Main Memory develop CPU architecture to implement
More informationCSC 256/456: Operating Systems. Introduction. John Criswell! University of Rochester
CSC 256/456: Operating Systems Introduction John Criswell! University of Rochester 1 Logistics 2 Course Instructors Instructor TA Name: John Criswell! Email: criswell@cs! Office: CSB 717! Office Hours:
More informationBasic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh
Basic Concepts COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals [Adapted from slides of
More information: Computer Architecture
Jin-Soo Kim (jinsoo.kim@snu.ac.kr) Systems Software & Architecture Lab. Seoul National University 4190.308: Computer Architecture Fall 2018 Schedule 9:30 10:45 (Tuesday & Thursday) Lecture room: Engineering
More informationProgramming 1. Lecture 1 COP 3014 Fall August 28, 2017
Programming 1 Lecture 1 COP 3014 Fall 2017 August 28, 2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer. ISA - Instruction Set Architecture: the specific set of
More informationRead-only memory (ROM): programmed during production Programmable ROM (PROM): can be programmed once SRAM (Static RAM)
Memory Hierarchy Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3 Storage: Memory and Disk (and other I/O Devices) Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and
More informationRepresentation of Information
Representation of Information CS61, Lecture 2 Prof. Stephen Chong September 6, 2011 Announcements Assignment 1 released Posted on http://cs61.seas.harvard.edu/ Due one week from today, Tuesday 13 Sept
More informationCourse Outline Computing Science Department. Faculty of Science. COMP Credits Introduction to Computer Systems (3,1,0) Fall 2015
Coue Outline Computing Science Department Faculty of Science COMP 2130 3 Credits Introduction to Computer Systems (3,1,0) Fall 2015 Instructor: Office: Office Hou: Phone/Voice Mail: E-Mail: CALEND DESCRIPTION
More informationCS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches
CS 61C: Great Ideas in Computer Architecture Direct Mapped Caches Instructor: Justin Hsia 7/05/2012 Summer 2012 Lecture #11 1 Review of Last Lecture Floating point (single and double precision) approximates
More informationCPSC 213. Introduction to Computer Systems. About the Course. Course Policies. Reading. Introduction. Unit 0
About the Course it's all on the web page... http://www.ugrad.cs.ubc.ca/~cs213/winter1t1/ - news, admin details, schedule and readings CPSC 213 - lecture slides (always posted before class) - 213 Companion
More informationWelcome to CS 241 Systems Programming at Illinois
Welcome to CS 241 Systems Programming at Illinois Robin Kravets Copyright : University of Illinois CS 241 Staff 1 The Team Robin Kravets Office: 3114 SC rhk@illinois.edu TAs Wade Fagen, Farhana Ashraf,
More informationCPS104 Computer Organization Lecture 1
CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536
More informationEE 209: Programming Structures for Electrical Engineering
EE 209: Programming Structures for Electrical Engineering 1 Goals for Today s Class Course overview Introductions Course goals Resources Grading Policies Getting started with C C programming language overview
More informationEL2310 Scientific Programming
Lecture 6: Introduction to C (pronobis@kth.se) Overview Overview Lecture 6: Introduction to C Roots of C Getting started with C Closer look at Hello World Programming Environment Schedule Last time (and
More informationCS133 C Programming. Instructor: Jialiang Lu Office: Information Center 703
CS133 C Programming Instructor: Jialiang Lu Email: jialiang.lu@sjtu.edu.cn Office: Information Center 703 1 Course Information: Course Page: http://wirelesslab.sjtu.edu.cn/~jlu/teaching/cp2014/ Assignments
More informationCS 241 Data Organization using C
CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am
More informationWeek 1 Introduction to Computer and Algorithm (Part1) UniMAP Sem II 11/12 DKT121: Basic Computer Programming 1
Week 1 Introduction to Computer and Algorithm (Part1) UniMAP Sem II 11/12 DKT121: Basic Computer Programming 1 General Information Contributes 3 units: 2 hours lectures 2 hours labs and tutorials Main
More informationC Programming for Engineers Introduction
C Programming for Engineers Introduction ICEN 360 Spring 2017 Prof. Dola Saha 1 Introductions Instructor Prof. Dola Saha, PhD University of Colorado Boulder http://www.albany.edu/faculty/dsaha/ dsaha@albany.edu
More informationCIS* Programming
CIS*1300 - Programming CALENDAR DESCRIPTION This course examines the applied and conceptual aspects of programming. Topics may include data and control structures, program design, problem solving and algorithm
More information