Recall: What is an operating system? Very Brief History of OS. Very Brief History of OS. CS162 Operating Systems and Systems Programming Lecture 2
|
|
- Gary Holmes
- 6 years ago
- Views:
Transcription
1 Recall: What is a operatig system? CS6 Operatig Systems ad Systems Programmig Lecture Itroductio to esses Special layer of software that provides applicatio software access to hardware resources Coveiet abstractio of complex hardware devices Protected access to shared resources Security ad autheticatio Commuicatio amogst logical etities Jauary d, 08 Profs. Athoy D. Joseph ad Joatha Raga-Kelley appl applappl Hardware Lec. Several Distict Phases: Very Brief History of Very Brief History of Several Distict Phases: Hardware Expesive, Humas C» Eiac, Multics I thik there is a world market for maybe five computers. Thomas Watso, chairma of IBM, 943 Lec.3 Lec.4
2 Very Brief History of Very Brief History of Several Distict Phases: Several Distict Phases: Hardware Expesive, Humas C Hardware Expesive, Humas C» Eiac, Multics» Eiac, Multics Hardware Cer, Humas Expesive» s, Workstatios, Rise of GUIs Thomas Watso was ofte called the worlds greatest salesma by the time of his death i 956 //8 Joseph ad Raga-Kelley CS6 UCB Sprig 08 Lec.5 //8 Joseph ad Raga-Kelley CS6 UCB Sprig 08 Very Brief History of Lec.6 Very Brief History of Several Distict Phases: Several Distict Phases: Hardware Expesive, Humas C Hardware Expesive, Humas C» Eiac, Multics» Eiac, Multics Hardware Cer, Humas Expesive Hardware Cer, Humas Expesive» s, Workstatios, Rise of GUIs» s, Workstatios, Rise of GUIs Hardware Really C, Humas Really Expesive Hardware Really C, Humas Really Expesive» Ubiquitous devices, Widespread etworkig» Ubiquitous devices, Widespread etworkig Rapid chage i hardware leads to chagig Batch Þ Multiprogrammig Þ Timesharig Þ Graphical UI Þ Ubiquitous Devices Gradual migratio of features ito smaller machies Today Small : 00K lies / Large: 0M lies (5M browser!) people-years //8 Joseph ad Raga-Kelley CS6 UCB Sprig 08 Lec.7 //8 Joseph ad Raga-Kelley CS6 UCB Sprig 08 Lec.8
3 Migratio of Cocepts ad Features Archaeology Because of the cost of developig a from scratch, most moder es have a log lieage: Multics à AT&T Uix à BSD Uix à Ultrix, Su, NetBSD, Mach (micro-kerel) + BSD à NextStep à XNU à Apple X, iphoe i, Watch MINIX à Liux à Adroid, Chrome, RedHat, Ubutu, Fedora, Debia, Suse, CP/M à QD à MS-D à Widows 3. à NT à 95 à 98 à 000 à XP à Vista à 7 à 8 à 0 à Xbox Oe à Joseph ad Raga-Kelley CS6 UCB Sprig 08 Lec.9 //8 Joseph ad Raga-Kelley CS6 UCB Sprig 08 Thread compiler editor Programs execute i a address space that is distict from the memory space of the physical machie istructios ess foo.c A istace of a executig program is a process cosistig of a address space ad oe or more threads of cotrol Dual mode operatio / Protectio Oly the system has the ability to access certai resources The ad the hardware are protected from user programs ad user programs are isolated from oe aother by cotrollig the traslatio from program virtual addresses to machie physical addresses Joseph ad Raga-Kelley CS6 UCB Sprig 08 Lec. data data a.out Load istructio ad data segmets of executable file ito memory Create ad Trasfer cotrol to program Provide services to program While protectig ad program //8 Memory Address space (with traslatio) it mai() {; } 0xFFF Executable Program Source Sigle uique executio cotext: fully describes program state Program Couter, Registers, Executio Flags, Stack //8 Lec.0 Bottom Lie: Ru Programs Today: Four Fudametal Cocepts Load & Execute //8 istructios 0x000 : Joseph ad Raga-Kelley CS6 UCB Sprig 08 registers essor Lec.
4 Recall (6C): Istructio Fetch/De/Execute The istructio cycle essor ext Memory : Istructio fetch istructio De de Registers Execute ALU data Lec.3 Recall (6C): What happes durig program executio? R0 R3 F0 F30 Fetch Exec Executio sequece: Fetch Istructio at De Execute (possibly usig registers) Write results to registers/mem = Next Istructio() Repeat Addr 3 - Data Data0 Ist37 Ist36 Ist5 Ist4 Ist3 Ist Ist Ist0 Addr 0 Lec.4 First Cocept: Thread of Cotrol Secod Cocept: Program s Address Space Certai registers hold the cotext of thread Stack poiter holds the address of the top of» Other covetios: Frame poiter, Heap poiter, Data May be defied by the istructio set architecture or by compiler covetios Thread: Sigle uique executio cotext Program Couter, Registers, Executio Flags, Stack A thread is executig o a processor whe it is residet i the processor registers. register holds the address of executig istructio i the thread Registers hold the root state of the thread. Address space Þ the set of accessible addresses + state associated with them: For a 3-bit processor there are 3 = 4 billio addresses What happes whe you read or write to a address? Perhaps othig Perhaps acts like regular memory Perhaps igores writes Perhaps causes I/O operatio» (Memory-mapped I/O) Perhaps causes exceptio (fault) 0xFFF 0x000 The rest is i memory Lec.5 Lec.6
5 : SP: Address Space: I a Picture essor registers istructio Code Segmet What s i the segmet? Static data segmet? What s i the Stack Segmet? How is it allocated? How big is it? What s i the Heap Segmet? How is it allocated? How big? 0xFFF 0x000 Multiprogrammig - Multiple Threads of Cotrol Lec.7 Lec.8 Admiistrivia: Gettig started Start homework 0 immediately Þ Due ext Moday (/9)! cs6-xx accout, Github accout, registratio survey Vagrat ad VirtualBox VM eviromet for the course» Cosistet, maaged eviromet o your machie Get familiar with all the cs6 tools, submit to autograder via git Homework slip days: You have 3 slip days THIS Friday (/6) is early drop day! Very hard to drop afterwards Should be goig to sectio already! Group sig up form will be out after drop deadlie Work o fidig groups ASAP: 4 people i a group! Try to atted either same sectio or sectios by same TA Lec.9 How ca we give the illusio of multiple processors? vcpu vcpu Shared Memory vcpu3 Assume a sigle processor. How do we provide the illusio of multiple processors? Multiplex i time! Each virtual CPU eeds a structure to hold: Program Couter (), Stack Poiter (SP) Registers (Iteger, Floatig poit, others?) How switch from oe virtual CPU to the ext? Save, SP, ad registers i curret state block Load, SP, ad registers from ew state block What triggers switch? Timer, volutary yield, I/O, other thigs vcpu vcpu vcpu3 vcpu vcpu Time Lec.0
6 The Basic Problem of Cocurrecy The basic problem of cocurrecy ivolves resources: Hardware: sigle CPU, sigle DRAM, sigle I/O devices Multiprogrammig API: processes thik they have exclusive access to shared resources has to coordiate all activity Multiple processes, I/O iterrupts, How ca it keep all these thigs straight? Basic Idea: Use Virtual Machie abstractio Simple machie abstractio for processes Multiplex these abstract machies Dijkstra did this for the THE system Few thousad lies vs millio lies i 360 (K bugs) Properties of this simple multiprogrammig techique All virtual CPUs share same o-cpu resources I/O devices the same Memory the same Cosequece of sharig: Each thread ca access the data of every other thread (good for sharig, bad for protectio) Threads ca share istructios (good for sharig, bad for protectio) Ca threads overwrite fuctios? This (uprotected) model is commo i: Embedded applicatios Widows 3./Early Macitosh (switch oly with yield) Widows 95 ME (switch with both yield ad timer) Lec. Lec. Protectio Operatig System must protect itself from user programs Reliability: compromisig the operatig system geerally causes it to crash Security: limit the scope of what processes ca do Privacy: limit each process to the data it is permitted to access Fairess: each should be limited to its appropriate share of system resources (CPU time, memory, I/O, etc) It must protect User programs from oe aother Primary Mechaism: limit the traslatio from program address space to physical memory space Ca oly touch what is mapped ito process address space Additioal Mechaisms: Privileged istructios, i/out istructios, special registers syscall processig, subsystem implemetatio» (e.g., file access rights, etc) Lec.3 Third Cocept: ess ess: executio eviromet with Restricted Rights Address Space with Oe or More Threads Ows memory (address space) Ows file descriptors, file system cotext, Ecapsulate oe or more threads sharig process resources Why processes? Protected from each other! Protected from them esses provides memory protectio Threads more efficiet tha processes (later) Fudametal tradeoff betwee protectio ad efficiecy Commuicatio easier withi a process Commuicatio harder betwee processes Applicatio istace cosists of oe or more processes Lec.4
7 Sigle ad Multithreaded esses Threads ecapsulate cocurrecy: Active compoet Address spaces ecapsulate protectio: Passive part Keeps buggy program from trashig the system Why have multiple threads per address space? Fourth Cocept: Dual Mode Operatio Hardware provides at least two modes: Kerel mode (or supervisor or protected ) User mode: Normal programs executed What is eeded i the hardware to support dual mode operatio? A bit of state (user/system mode bit) Certai operatios / actios oly permitted i system/kerel mode» I user mode they fail or trap User à Kerel trasitio sets system mode AND saves the user» Operatig system carefully puts aside user state the performs the ecessary operatios Kerel à User trasitio clears system mode AND restores appropriate user» retur-from-iterrupt Lec.5 Lec.6 User/Kerel (Privileged) Mode User Mode syscall exec iterrupt exceptio rt rfi Kerel Mode exit Admiistrivia (Cot d) Athoy s OH: Wedesdays -3PM 465F Soda startig /3 Joatha s OH : Modays -:45PM 55 Soda startig /9 Avoid private Piazza posts others have same questio Three Free Olie Textbooks: Click o Resources lik for a list of Olie Textbooks Ca read O'Reilly books for free as log as o campus or VPN» Oe book o Git, two books o C Limited HW access Full HW access Webcast: (CalNet sig i) Webcast is *NOT* a replacemet for comig to class! Lec.7 Lec.8
8 Simple Protectio: ad (B&B) 5 mi break 000 Program address >= < FFFF Lec Program address Simple Protectio: ad (B&B) 00 Addresses traslated whe program is loaded Requires relocatig loader Still protects ad isolates program No additio o address path >= < FFFF Lec.3 Aother idea: Address Space Traslatio Program operates i a address space that is distict from the physical memory space of the machie essor virtual address traslator physical address Memory 0x000 0xFFF Lec.3
9 A simple address traslatio with ad Addresses traslated o-the-fly Tyig it together: Simple B&B: loads process 000 Program address 000 Address 000 < 000 Ca the program touch? Ca it touch other programs? FFFF u xxxx xxxx xxxx FFFF FFFF Lec.33 Lec.34 Simple B&B: gets ready to execute process Simple B&B: User Code Ruig RTU FFFF FFFF 000 Privileged Ist: set special registers RTU u FF FFFF How does kerel switch betwee processes? First questio: How to retur to system? u xxxx FF FFFF Lec.35 Lec.36
10 3 types of Mode Trasfer Syscall ess requests a system service, e.g., exit Like a fuctio call, but outside the process Does ot have the address of the system fuctio to call Like a Remote edure Call (R) for later Marshall the syscall id ad args i registers ad exec syscall Iterrupt Exteral asychroous evet triggers cotext switch e. g., Timer, I/O device Idepedet of user process Trap or Exceptio Iteral sychroous evet i process triggers cotext switch e.g., Protectio violatio (segmetatio fault), Divide by zero, All 3 are a UNPROGRAMMED CONTROL TRANSFER Where does it go? How do we get the system target address of the uprogrammed cotrol trasfer? Lec.37 Lec.38 Iterrupt Vector Simple B&B: User => Kerel iterrupt umber (i) Address ad properties of each iterrupt hadler Where else do you see this dispatch patter? itrphadler_i () {. } u How to retur to system? 00 xxxx FF FFFF FFFF Lec.39 Lec.40
11 Simple B&B: Iterrupt Simple B&B: Switch User ess RTU How to save registers ad set up system? u ItrpVector[i] 00FF FFFF FFFF FF How to save registers ad set up system? u D0 FFFF FFFF Lec.4 Lec FF How to save registers ad set up system? u Simple B&B: resume xxxx xxxx D0 FFFF RTU FFFF Lec.43 Thread Coclusio: Four fudametal cocepts Sigle uique executio cotext Program Couter, Registers, Executio Flags, Stack Address Space with Traslatio Programs execute i a address space that is distict from the memory space of the physical machie ess A istace of a executig program is a process cosistig of a address space ad oe or more threads of cotrol Dual Mode operatio/protectio Oly the system has the ability to access certai resources The ad the hardware are protected from user programs ad user programs are isolated from oe aother by cotrollig the traslatio from program virtual addresses to machie physical addresses Lec.44
Lecture 2 Fundamental OS Concepts. Bo 2018, Spring
Lecture 2 Fundamental OS Concepts Bo Tang @ 2018, Spring Our Roadmap Computer Organization Revision Kernel Data Structures in OS OS History Four fundamental OS concepts Thread Address space (with translation)
More informationCMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago
CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems
More informationChapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings
Operatig Systems: Iterals ad Desig Priciples Chapter 4 Threads Nith Editio By William Stalligs Processes ad Threads Resource Owership Process icludes a virtual address space to hold the process image The
More informationMorgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.
Morga Kaufma Publishers 26 February, 208 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Virtual Memory Review: The Memory Hierarchy Take advatage of the priciple
More informationIntroduction to the Process David E. Culler CS162 Operating Systems and Systems Programming Lecture 2 Sept 3, 2014
Introduction to the Process David E. Culler CS162 Operating Systems and Systems Programming Lecture 2 Sept 3, 2014 Reading: A&D CH2.1-7 HW: 0 out, due 9/8 Recall: What is an operating system? Special layer
More informationLecture 2: Kernels and Processes
Lecture 2: Kerels ad Processes CS170 Sprig 2018. UCSB Yag Some of slides are from Chapter 2 of the AD textbook. OSC book. J. Kubiatowicz CS162@UCB What to lear Process Cocept Cotext Switch &Process Schedulig
More informationOS History and OS Structures
OS History and OS Structures Karthik Dantu CSE 421/521: Opera>ng Systems Slides adopted from CS162 class at Berkeley, CSE 451 at U-Washington and CSE 421 by Prof Kosar at UB Join Piazza Ac>on Items From
More informationOutline. CSCI 4730 Operating Systems. Questions. What is an Operating System? Computer System Layers. Computer System Layers
Outlie CSCI 4730 s! What is a s?!! System Compoet Architecture s Overview Questios What is a?! What are the major operatig system compoets?! What are basic computer system orgaizatios?! How do you commuicate
More informationChapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig
More informationCS 11 C track: lecture 1
CS 11 C track: lecture 1 Prelimiaries Need a CMS cluster accout http://acctreq.cms.caltech.edu/cgi-bi/request.cgi Need to kow UNIX IMSS tutorial liked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material
More informationGoals of the Lecture UML Implementation Diagrams
Goals of the Lecture UML Implemetatio Diagrams Object-Orieted Aalysis ad Desig - Fall 1998 Preset UML Diagrams useful for implemetatio Provide examples Next Lecture Ð A variety of topics o mappig from
More informationn Explore virtualization concepts n Become familiar with cloud concepts
Chapter Objectives Explore virtualizatio cocepts Become familiar with cloud cocepts Chapter #15: Architecture ad Desig 2 Hypervisor Virtualizatio ad cloud services are becomig commo eterprise tools to
More informationCSC 220: Computer Organization Unit 11 Basic Computer Organization and Design
College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:
More informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter The Processor Part A path Desig Itroductio CPU performace factors Istructio cout Determied by ISA ad compiler. CPI ad
More informationThreads and Concurrency in Java: Part 1
Cocurrecy Threads ad Cocurrecy i Java: Part 1 What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationThreads and Concurrency in Java: Part 1
Threads ad Cocurrecy i Java: Part 1 1 Cocurrecy What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationAppendix D. Controller Implementation
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);
More informationDisciplina Sistemas de Computação
Aula 09 Disciplina Sistemas de Computação Operating System Roles (recall) OS as a Traffic Cop: Manages all resources Settles conflicting requests for resources Prevent errors and improper use of the computer
More informationMulti-Threading. Hyper-, Multi-, and Simultaneous Thread Execution
Multi-Threadig Hyper-, Multi-, ad Simultaeous Thread Executio 1 Performace To Date Icreasig processor performace Pipeliig. Brach predictio. Super-scalar executio. Out-of-order executio. Caches. Hyper-Threadig
More informationCS61C : Machine Structures
CS 61C L24 VM II (1) ist.eecs.berkele.edu/~cs61c/su5 CS61C : Machie Structures Lecture #24: VM II Address Mappig: Virtual Address: VPN offset 25-8-2 Ad Carle idex ito page table located i phsical memor
More informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Single-Cycle Disadvantages & Advantages
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 4 The Processor Pipeliig Sigle-Cycle Disadvatages & Advatages Clk Uses the clock cycle iefficietly the clock cycle must
More informationReview: The ACID properties
Recovery Review: The ACID properties A tomicity: All actios i the Xactio happe, or oe happe. C osistecy: If each Xactio is cosistet, ad the DB starts cosistet, it eds up cosistet. I solatio: Executio of
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 20 Itroductio to Trasactio Processig Cocepts ad Theory Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Trasactio Describes local
More informationPython Programming: An Introduction to Computer Science
Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists
More informationPython Programming: An Introduction to Computer Science
Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 22 Database Recovery Techiques Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Recovery algorithms Recovery cocepts Write-ahead
More informationΤεχνολογία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr
More informationWhat are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs
What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure
More informationChapter 2: Processes & Threads. Chapter 2
: Processes & Threads Processes ad threads Processes Threads Schedulig Iterprocess commuicatio Classical IPC problems (origialy modified by Etha 2 What is a process? Code, data, ad stack Usually (but ot
More informationCMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago
CMSC 22200 Computer Architecture Lecture 3: ISA ad Itroductio to Microarchitecture Prof. Yajig Li Uiversity of Chicago Lecture Outlie ISA uarch (hardware implemetatio of a ISA) Logic desig basics Sigle-cycle
More informationOne advantage that SONAR has over any other music-sequencing product I ve worked
*gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig
More informationArchitectural styles for software systems The client-server style
Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS
More informationElementary Educational Computer
Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified
More informationΤεχνολογία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr
More informationChapter 4 The Datapath
The Ageda Chapter 4 The Datapath Based o slides McGraw-Hill Additioal material 24/25/26 Lewis/Marti Additioal material 28 Roth Additioal material 2 Taylor Additioal material 2 Farmer Tae the elemets that
More informationBasic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.
5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator
More informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor Advanced Issues
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 4 The Processor Advaced Issues Review: Pipelie Hazards Structural hazards Desig pipelie to elimiate structural hazards.
More informationCOSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1
COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,
More informationData diverse software fault tolerance techniques
Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the
More informationOutline n Introduction n Background o Distributed DBMS Architecture
Outlie Itroductio Backgroud o Distributed DBMS Architecture Datalogical Architecture Implemetatio Alteratives Compoet Architecture o Distributed DBMS Architecture o Distributed Desig o Sematic Data Cotrol
More informationWhat does JFC stand for?
IS4300 HCI No-Quiz What does JFC stad for?! Java Fudametal Classes! Java Foudatio Creator! Java Fried Chicke! Java Foudatio Classes! Java Framework Creator 1 No-Quiz What is pluggable look ad feel?! Swig
More informationOperating System Concepts. Operating System Concepts
Chapter 4: Mass-Storage Systems Logical Disk Structure Logical Disk Structure Disk Schedulig Disk Maagemet RAID Structure Disk drives are addressed as large -dimesioal arrays of logical blocks, where the
More information. Written in factored form it is easy to see that the roots are 2, 2, i,
CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or
More informationMultiprocessors. HPC Prof. Robert van Engelen
Multiprocessors Prof. Robert va Egele Overview The PMS model Shared memory multiprocessors Basic shared memory systems SMP, Multicore, ad COMA Distributed memory multicomputers MPP systems Network topologies
More informationtop() Applications of Stacks
CS22 Algorithms ad Data Structures MW :00 am - 2: pm, MSEC 0 Istructor: Xiao Qi Lecture 6: Stacks ad Queues Aoucemets Quiz results Homework 2 is available Due o September 29 th, 2004 www.cs.mt.edu~xqicoursescs22
More informationFundamentals of. Chapter 1. Microprocessor and Microcontroller. Dr. Farid Farahmand. Updated: Tuesday, January 16, 2018
Fudametals of Chapter 1 Microprocessor ad Microcotroller Dr. Farid Farahmad Updated: Tuesday, Jauary 16, 2018 Evolutio First came trasistors Itegrated circuits SSI (Small-Scale Itegratio) to ULSI Very
More information9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence
_9.qxd // : AM Page Chapter 9 Sequeces, Series, ad Probability 9. Sequeces ad Series What you should lear Use sequece otatio to write the terms of sequeces. Use factorial otatio. Use summatio otatio to
More informationAnalysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis
Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems
More informationIntroduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition
Lecture Goals Itroductio to Computig Systems: From Bits ad Gates to C ad Beyod 2 d Editio Yale N. Patt Sajay J. Patel Origial slides from Gregory Byrd, North Carolia State Uiversity Modified slides by
More informationCS 111 Green: Program Design I Lecture 27: Speed (cont.); parting thoughts
CS 111 Gree: Program Desig I Lecture 27: Speed (cot.); partig thoughts By Nascarkig - Ow work, CC BY-SA 4.0, https://commos.wikimedia.org/w/idex.php?curid=38671041 Robert H. Sloa (CS) & Rachel Poretsky
More informationCourse Site: Copyright 2012, Elsevier Inc. All rights reserved.
Course Site: http://cc.sjtu.edu.c/g2s/site/aca.html 1 Computer Architecture A Quatitative Approach, Fifth Editio Chapter 2 Memory Hierarchy Desig 2 Outlie Memory Hierarchy Cache Desig Basic Cache Optimizatios
More informationComputers and Scientific Thinking
Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput
More informationOverview Chapter 12 A display model
Overview Chapter 12 A display model Why graphics? A graphics model Examples Bjare Stroustrup www.stroustrup.com/programmig 3 Why bother with graphics ad GUI? Why bother with graphics ad GUI? It s very
More informationUNIVERSITY OF MORATUWA
UNIVERSITY OF MORATUWA FACULTY OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING B.Sc. Egieerig 2014 Itake Semester 2 Examiatio CS2052 COMPUTER ARCHITECTURE Time allowed: 2 Hours Jauary 2016
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies
More informationLecture 1: Introduction and Fundamental Concepts 1
Uderstadig Performace Lecture : Fudametal Cocepts ad Performace Aalysis CENG 332 Algorithm Determies umber of operatios executed Programmig laguage, compiler, architecture Determie umber of machie istructios
More informationThreads and Concurrency in Java: Part 2
Threads ad Cocurrecy i Java: Part 2 1 Waitig Sychroized methods itroduce oe kid of coordiatio betwee threads. Sometimes we eed a thread to wait util a specific coditio has arise. 2003--09 T. S. Norvell
More informationChapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3
More informationEE University of Minnesota. Midterm Exam #1. Prof. Matthew O'Keefe TA: Eric Seppanen. Department of Electrical and Computer Engineering
EE 4363 1 Uiversity of Miesota Midterm Exam #1 Prof. Matthew O'Keefe TA: Eric Seppae Departmet of Electrical ad Computer Egieerig Uiversity of Miesota Twi Cities Campus EE 4363 Itroductio to Microprocessors
More informationCIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13
CIS Data Structures ad Algorithms with Java Sprig 08 Stacks ad Queues Moday, February / Tuesday, February Learig Goals Durig this lab, you will: Review stacks ad queues. Lear amortized ruig time aalysis
More informationMorgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5
Morga Kaufma Publishers 26 February, 28 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Set-Associative Cache Architecture Performace Summary Whe CPU performace icreases:
More informationModule Instantiation. Finite State Machines. Two Types of FSMs. Finite State Machines. Given submodule mux32two: Instantiation of mux32two
Give submodule mux32two: 2-to- MUX module mux32two (iput [3:] i,i, iput sel, output [3:] out); Module Istatiatio Fiite Machies esig methodology for sequetial logic -- idetify distict s -- create trasitio
More informationCh 9.3 Geometric Sequences and Series Lessons
Ch 9.3 Geometric Sequeces ad Series Lessos SKILLS OBJECTIVES Recogize a geometric sequece. Fid the geeral, th term of a geometric sequece. Evaluate a fiite geometric series. Evaluate a ifiite geometric
More informationThe University of Adelaide, School of Computer Science 22 November Computer Architecture. A Quantitative Approach, Sixth Edition.
Computer Architecture A Quatitative Approach, Sixth Editio Chapter 2 Memory Hierarchy Desig 1 Itroductio Programmers wat ulimited amouts of memory with low latecy Fast memory techology is more expesive
More informationIMP: Superposer Integrated Morphometrics Package Superposition Tool
IMP: Superposer Itegrated Morphometrics Package Superpositio Tool Programmig by: David Lieber ( 03) Caisius College 200 Mai St. Buffalo, NY 4208 Cocept by: H. David Sheets, Dept. of Physics, Caisius College
More informationOverview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup
Chapter 18 Vectors ad Arrays Bjare Stroustrup Vector revisited How are they implemeted? Poiters ad free store Destructors Iitializatio Copy ad move Arrays Array ad poiter problems Chagig size Templates
More informationMaster Informatics Eng. 2017/18. A.J.Proença. Memory Hierarchy. (most slides are borrowed) AJProença, Advanced Architectures, MiEI, UMinho, 2017/18 1
Advaced Architectures Master Iformatics Eg. 2017/18 A.J.Proeça Memory Hierarchy (most slides are borrowed) AJProeça, Advaced Architectures, MiEI, UMiho, 2017/18 1 Itroductio Programmers wat ulimited amouts
More informationProgramming with Shared Memory PART II. HPC Spring 2017 Prof. Robert van Engelen
Programmig with Shared Memory PART II HPC Sprig 2017 Prof. Robert va Egele Overview Sequetial cosistecy Parallel programmig costructs Depedece aalysis OpeMP Autoparallelizatio Further readig HPC Sprig
More informationReliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1
Reliable Trasmissio Sprig 2018 CS 438 Staff - Uiversity of Illiois 1 Reliable Trasmissio Hello! My computer s ame is Alice. Alice Bob Hello! Alice. Sprig 2018 CS 438 Staff - Uiversity of Illiois 2 Reliable
More informationThreads. They are peers in the same process. Motivation for threads. What is a thread? Fork is expensive.
1 2 Threads They are peers i the same process. What is a thread? A thread is a executio stream withi a process with its ow stack, local variables, ad program couter. There may be more tha oe executio stream
More informationExamples and Applications of Binary Search
Toy Gog ITEE Uiersity of Queeslad I the secod lecture last week we studied the biary search algorithm that soles the problem of determiig if a particular alue appears i a sorted list of iteger or ot. We
More informationRunning Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments
Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The
More informationChapter 5: Processor Design Advanced Topics. Microprogramming: Basic Idea
5-1 Chapter 5 Processor Desig Advaced Topics Chapter 5: Processor Desig Advaced Topics Topics 5.3 Microprogrammig Cotrol store ad microbrachig Horizotal ad vertical microprogrammig 5- Chapter 5 Processor
More informationSystem and Software Architecture Description (SSAD)
System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality
More informationRunning Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments
Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.
More informationAnalysis of Algorithms
Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The
More informationn It s exciting n It s lucrative n It s fun (sometimes!)
Itroductio to CS1 Java Programmig cs163: No prior programmig experiece cs164: Prior programmig experiece Why Computer Sciece? It s excitig It s lucrative It s fu (sometimes!) Itroductio to CS1 Java Programmig
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 informationFAST BIT-REVERSALS ON UNIPROCESSORS AND SHARED-MEMORY MULTIPROCESSORS
SIAM J. SCI. COMPUT. Vol. 22, No. 6, pp. 2113 2134 c 21 Society for Idustrial ad Applied Mathematics FAST BIT-REVERSALS ON UNIPROCESSORS AND SHARED-MEMORY MULTIPROCESSORS ZHAO ZHANG AND XIAODONG ZHANG
More informationThe Magma Database file formats
The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,
More informationSCI Reflective Memory
Embedded SCI Solutios SCI Reflective Memory (Experimetal) Atle Vesterkjær Dolphi Itercoect Solutios AS Olaf Helsets vei 6, N-0621 Oslo, Norway Phoe: (47) 23 16 71 42 Fax: (47) 23 16 71 80 Mail: atleve@dolphiics.o
More informationComputer Architecture ELEC3441
CPU-Memory Bottleeck Computer Architecture ELEC44 CPU Memory Lecture 8 Cache Dr. Hayde Kwok-Hay So Departmet of Electrical ad Electroic Egieerig Performace of high-speed computers is usually limited by
More informationCS 111: Program Design I Lecture # 7: First Loop, Web Crawler, Functions
CS 111: Program Desig I Lecture # 7: First Loop, Web Crawler, Fuctios Robert H. Sloa & Richard Warer Uiversity of Illiois at Chicago September 18, 2018 What will this prit? x = 5 if x == 3: prit("hi!")
More informationEnd Semester Examination CSE, III Yr. (I Sem), 30002: Computer Organization
Ed Semester Examiatio 2013-14 CSE, III Yr. (I Sem), 30002: Computer Orgaizatio Istructios: GROUP -A 1. Write the questio paper group (A, B, C, D), o frot page top of aswer book, as per what is metioed
More informationn Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk
Chapter Objectives Lear how resiliecy strategies reduce risk Discover automatio strategies to reduce risk Chapter #16: Architecture ad Desig Resiliecy ad Automatio Strategies 2 Automatio/Scriptig Resiliet
More informationSecurity of Bluetooth: An overview of Bluetooth Security
Versio 2 Security of Bluetooth: A overview of Bluetooth Security Marjaaa Träskbäck Departmet of Electrical ad Commuicatios Egieerig mtraskba@cc.hut.fi 52655H ABSTRACT The purpose of this paper is to give
More informationCS 111: Program Design I Lecture # 7: Web Crawler, Functions; Open Access
CS 111: Program Desig I Lecture # 7: Web Crawler, Fuctios; Ope Access Robert H. Sloa & Richard Warer Uiversity of Illiois at Chicago September 13, 2016 Lab Hit/Remider word = "hi" word.upper() à "HI" Questio
More informationLast class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion
Aoucemets HW6 due today HW7 is out A team assigmet Submitty page will be up toight Fuctioal correctess: 75%, Commets : 25% Last class Equality testig eq? vs. equal? Higher-order fuctios map, foldr, foldl
More informationData Structures and Algorithms. Analysis of Algorithms
Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output
More informationCMSC Computer Architecture Lecture 15: Multi-Core. Prof. Yanjing Li University of Chicago
CMSC 22200 Computer Architecture Lecture 15: Multi-Core Prof. Yajig Li Uiversity of Chicago Course Evaluatio Very importat Please fill out! 2 Lab3 Brach Predictio Competitio 8 teams etered the competitio,
More informationCIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19
CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.
More informationComputer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria.
Computer Sciece Foudatio Exam August, 005 Computer Sciece Sectio A No Calculators! Name: SSN: KEY Solutios ad Gradig Criteria Score: 50 I this sectio of the exam, there are four (4) problems. You must
More informationHeaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015
Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 201 Heaps 201 Goodrich ad Tamassia xkcd. http://xkcd.com/83/. Tree. Used with permissio uder
More informationLecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming
Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis
More informationPage 1. Why Care About the Memory Hierarchy? Memory. DRAMs over Time. Virtual Memory!
Why Care About the Memory Hierarchy? Memory Virtual Memory -DRAM Memory Gap (latecy) Reasos: Multi process systems (abstractio & memory protectio) Solutio: Tables (holdig per process traslatios) Fast traslatio
More informationCOMP Parallel Computing. PRAM (1): The PRAM model and complexity measures
COMP 633 - Parallel Computig Lecture 2 August 24, 2017 : The PRAM model ad complexity measures 1 First class summary This course is about parallel computig to achieve high-er performace o idividual problems
More informationCMPT 125 Assignment 2 Solutions
CMPT 25 Assigmet 2 Solutios Questio (20 marks total) a) Let s cosider a iteger array of size 0. (0 marks, each part is 2 marks) it a[0]; I. How would you assig a poiter, called pa, to store the address
More informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control
EE 459/500 HDL Based Digital Desig with Programmable Logic Lecture 13 Cotrol ad Sequecig: Hardwired ad Microprogrammed Cotrol Refereces: Chapter s 4,5 from textbook Chapter 7 of M.M. Mao ad C.R. Kime,
More informationElementary Data Structures. The Stack ADT ( 2.1.1) Applications of Stacks. Stacks, Queues, Vectors, Lists & Sequences Trees
Elemetary Data Structures Stacks, Queues, ectors, Lists & Sequeces Trees The Stack ADT ( 2..) The Stack ADT stores arbitrary objects Isertios ad deletios follow the last-i first-out scheme Thik of a sprig-loaded
More informationSoftware development of components for complex signal analysis on the example of adaptive recursive estimation methods.
Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig
More information