And Computer Systems I: Introduction Systems

And Computer Systems I: Introduction Systems

Welcome to Computer Team! Noah Singer Introduction Welcome to Computer Team! Units Computer and Computer Systems I: Introduction Systems Computer Parts Noah Singer Montgomery Blair High School Computer Team September 14, 2017 Overview Welcome to Computer Team! Noah Singer Introduction 1 Introduction Units Computer Systems 2 Units Computer Parts 3 Computer Systems 4 Computer Parts Welcome to Computer Team! Noah Singer Introduction Units Computer Systems Computer Parts Section 1: Introduction Computer Team Welcome to Computer Team! Computer Team is... Noah Singer A place to hang out and eat lunch every Thursday Introduction A cool discussion group for computer science Units Computer An award-winning competition programming group Systems A place for people to learn from each other Computer Parts Open to people of all experience levels Computer Team isn’t... A programming club A highly competitive environment A rigorous course that requires commitment Structure Welcome to Computer Team! Noah Singer Introduction Units Four units, each with five to ten lectures Computer Each lecture comes with notes that you can take home! Systems Computer Guided activities to help you understand more Parts difficult/technical concepts Special presentations and guest lectures on interesting topics Conventions Welcome to Computer Team! Noah Singer Vocabulary terms are marked in bold. Introduction Definition Units Computer Definitions are in boxes (along with theorems, etc.). Systems Computer Parts Important statements are highlighted in italics. Formulas are written in n at f (a cy ) m h X Z Welcome to Computer Team! Noah Singer Introduction Units Computer Systems Computer Parts Section 2: Units Unit I: Computer Systems Welcome to Computer Team! Noah Singer Fundamental question: How do computers function at a low Introduction level? Units Lectures: Computer Systems 1 Introduction to Computer Team! Computer Parts 2 Kernels and Operating Systems 3 Networks 4 CPU Architecture 5 Threading and Parallelization 6 Compilers Unit II: Theory of Computation Welcome to Computer Team! Noah Singer Fundamental question: What is a computer, and what can it do? Introduction Units Lectures: Computer Systems 1 Automata Computer 2 Context Free Grammars and Parsing Parts 3 Guided Activity: Lambda Calculus 4 Turing Machines and Computability 5 Guided Activity: Reduction and P vs. NP 6 Computability and the Complexity Hierarchy 7 Randomization and Probabalistic Algorithms Unit III: Machine Learning+ Welcome to Computer Team! Noah Singer Fundamental questions: How can we get computers to solve Introduction complex problems? Units Computer Lectures: Systems Computer 1 Introduction to Machine Learning Parts 2 Guided Activity: Neural Networks 3 Advanced Neural Networks 4 Natural Language Processing 5 Fourier Analysis and Signal Processing Unit X: Algorithms and Contest Preparation Welcome to Computer Team! Noah Singer Fundamental question: What is the best way to solve a given Introduction problem? Units Lectures: Computer Systems 1 Graph algorithms Computer Parts 2 Dynamic programming 3 Computational geometry 4 Greedy algorithms 5 Divide-and-conquer and recursive algorithms 6 Online algorithms Welcome to Computer Team! Noah Singer Introduction Units Computer Systems Computer Section 3: Computer Systems Parts Basic constructs Welcome to Computer Team! Noah Singer Definition (Data) Introduction Information represented by a sequence of symbols. Units Computer The most basic unit of data in computer science is the bit, Systems Computer which is either a 1 or a 0. Parts A single bit represents whether a single electrical signal is on (1) or o↵(0). Definition (Program) A series of instructions that tell a computer how to manipulate data to transform some defined input to a defined output. Fixed- vs. stored-program computers Welcome to Computer Team! Noah Singer Introduction Early computers were fixed-program computers that Units could only execute a single, predefined program, hardwired Computer into the computer’s circuitry. Systems The theory of the Universal Turing machine Computer Parts demonstrated that a single computer could execute all programs. Important pioneers, like John Von Neumann, developed the stored-program computer,whichtreats programs themselves as data. Code execution Welcome to Computer Team! The random access memory, or RAM,storesdata, Noah Singer organized into sequential blocks of eight bits called bytes Introduction assigned location numbers called addresses. Units The central processing unit, or CPU,executescode Computer Systems sequentially, which is stored as data in RAM. Computer Parts Each instruction is encoded as an opcode representing the operation being performed and zero or more operands. A single instruction can do one or more things, including: Arithmetic and logic Comparisons Control flow Memory access Peripheral access Welcome to Computer Team! Noah Singer Introduction Units Computer Systems Computer Section 4: Computer Parts Parts CPU Welcome to Computer Team! Noah Singer Performs computations quickly Introduction Keeps track of which code to execute and executes it Units sequentially Computer Systems Accesses memory to store and retrieve data Computer Parts Interacts with other hardware devices (peripherals) Protects sensitive data and enforces security procedures Contains registers for extremely fast data access Executes a fixed sequence of instructions on machine startup from the ROM RAM Welcome to Computer Team! Noah Singer Introduction Units Computer Stores data organized into bytes Systems Organized both by physical addresses and virtual Computer Parts addresses which are mapped to physical addresses Volatile: does not persist after power loss Other components Welcome to Computer Team! Noah Singer Permanent storage Introduction Non-volatile unlike RAM but much slower Units May be removable or non-removable Computer Systems Ex.: Hard drives, floppy discs, USB drives, etc. Computer Parts I/O peripherals Enable interaction with users Often connected to the CPU through buses like USB or PCI Ex.: keyboard, mouse, speakers, microphone, printer, etc. Other components Welcome to Computer Team! Graphics processing unit (GPU) Noah Singer Render the computer’s visual output for interaction with Introduction the user Units Generally features hardware acceleration for e.g. 3D Computer Systems graphics Computer Often faster than the CPU at raw computations! Parts Power supply Provides a steady power source for the components Temporarily insulates against power fluctuations Motherboard Allows all the components to communicate with each other Conclusion Welcome to Computer Team! Noah Singer We’ll learn about all this in much more detail in the coming Introduction Units weeks, but for now... Computer Systems Computer Parts Welcome to Computer Team! Computer Systems II: Kernels and Memory Management Noah Singer, George Klees Computer Systems II: Kernels and Memory Kernels Management Memory Management Noah Singer, George Klees Montgomery Blair High School Computer Team September 29, 2017 Overview Computer Systems II: Kernels and Memory Management Noah Singer, George Klees Kernels 1 Kernels Memory Management 2 Memory Management Computer Systems II: Kernels and Memory Management Noah Singer, George Klees Kernels Memory Management Section 1: Kernels Stored-program computers Computer Systems II: Kernels and Memory Management Noah Singer, Programs compiled into a sequence of instructions called George Klees machine code Kernels Stored as simple data in RAM Memory Management Very long sequence of bytes (8 bits) Each byte has a numerical memory address CPU can load and store data from RAM CPU also has much faster, smaller memory called registers Data executed as code by CPU Operating systems Computer Systems II: Kernels and Memory Management Noah Singer, Intermediary between hardware and applications George Klees Creates a high-level interface for application developers Kernels Controls access to hardware and enforces security Memory Management procedures Often separated into core kernel and external drivers Drivers are often used to interface with specific hardware or accomplish a specific task, and vary from computer to computer depending on hardware and setup Kernel accomplishes core tasks regardless of specific hardware Operating modes Computer Systems II: Kernels and Memory When the CPU first loads, any executed code can access Management all memory, CPU functions, and hardware devices Noah Singer, On a secure and reasonable system, applications must be George Klees sandboxed Kernels Modern CPUs have two modes that code can execute in Memory Management Supervisor: unrestricted access to resources, only granted to kernel which accomplishes core OS functions User: access restricted to only certain memory, certain devices, etc. (for applications) Special instructions called syscalls allow a user mode application to “jump” into the kernel in supervisor mode to accomplish an OS task Read a file from the hard drive Create (fork) a new process Types of kernels Computer Systems II: Kernels and Memory Management Microkernel:Onlythebareminimumthatrequires Noah Singer, supervisor mode is in the kernel George Klees Many OS functions are user mode drivers Kernels More secure and elegant Memory Slower, since many switches between user and supervisor Management modes may be required Monolithic: Most of the OS is in the kernel Less secure since any vulnerability in the much larger kernel leads to supervisor control over the system Faster and less complicated Hybrid kernel: Middle ground

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    126 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us