Introduction and Overview Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.

Slides:



Advertisements
Similar presentations
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Advertisements

CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
COSC 120 Computer Programming
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
CS 104 Introduction to Computer Science and Graphics Problems
Operating Systems Concepts Professor Rick Han Department of Computer Science University of Colorado at Boulder.
OS Spring’03 Introduction Operating Systems Spring 2003.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
CSCE 312 Computer Organization Lecture 0: Course Administration EJ Kim Department of Computer Science and Engineering 338B Bright
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 28, 2001 Topics: Staff, text, and policies Lecture topics and assignments.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
Introduction COMP104: Fundamentals and Methodology.
Computer Organization
CMPT 300: Operating Systems
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
Intro to Computer Systems Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
Virtual & Dynamic Memory Management Summer 2014 COMP 2130 Intro Computer Systems Computing Science Thompson Rivers University.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
CS 346 – Chapter 1 Operating system – definition Responsibilities What we find in computer systems Review of –Instruction execution –Compile – link – load.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
1 CSCI 3120: Operating Systems Summer 2003 Instructor: Kirstie Hawkey Office hours (outside Room 311): Mon: 2:30-3:30, Fri: 10:30-11:30.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
CSCE 312 Computer Organization Course Administration Dr. Rabi N Mahapatra Department of Computer Science & Engineering, 520B HR Bright,
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
Operating System Isfahan University of Technology Note: most of the slides used in this course are derived from those of the textbook (see slide 4)
Overview of Operating Systems Introduction to Operating Systems: Module 0.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
CSCI 330 UNIX and Network Programming Unit I Introduction.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction and Overview Winter 2013 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
1 ECEN209-Computer Architecture (Course Overview & Introduction)
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Introduction to Operating Systems Concepts
Computer Organisation
Computer Organization and Architecture Lecture 1 : Introduction
General information Course web page:
Welcome to SSE3044 Operating Systems!
Andy Wang Object Oriented Programming in C++ COP 3330
Final exam: Wednesday, March 20, 2:30pm
Introduction
Java programming lecture one
Programming COMP104: Fundamentals and Methodology Introduction.
Operating Systems and Systems Programming
CS190/295 Programming in Python for Life Sciences: Lecture 1
Computer Systems Summary
Andy Wang Object Oriented Programming in C++ COP 3330
CGS 3763 Operating Systems Concepts Spring 2013
CGS 3763 Operating Systems Concepts Spring 2013
Chapter 8: Memory management
Lecture Topics: 11/1 General Operating System Concepts Processes
Introduction to Computer Systems
Java Programming Introduction
Instructor: Xiuwen Liu Department of Computer Science
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Lecture Topics: 11/1 Hand back midterms
CS201 – Course Expectations
Presentation transcript:

Introduction and Overview Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University

TRU-COMP2130 Introduction2 Instructor: Mridula HL 407 Office hour: Mon, Wed, Thurs, Fri and by appointment Prerequisites for this course: COMP 1230 with minimum ‘C’, and COMP 1380 with minimum ‘C’ This course is a prerequisite for COMP 3270 Computer Networks COMP 3410 Operating Systems

Course Schedule Span across 5 th May – 11 th June 2014 Number of Lectures : 12 Each lecture has two sessions: Session I : 9:00 to 10:15 AM. Session II : 10:30 to 11:45 AM. Number of Assignments : 4 Number of Marked Quizzes : 3 Number of Seminars : 6 Seminar 2, 4 & 6 : Marked Lab Seminar 6 – presentations TRU-COMP327 Overview3

Marking Scheme Assignments I – 3% II – 3% III – 3% IV – 4% Quizes I – 3% II – 3% III – 3% Seminars I : Paper – 2% 2, 4 & 6: Marked Lab – 8% Mid term Exam - 26 th May 1:00 PM – 25% Final Exam – 45% TRU-COMP2130 Overview4

TRU-COMP2130 Introduction5 Rise of Questions What is a computer system? What is an operating system? Which [programming] language is most powerful? What are the benefits to take this course “Introduction to Computer Systems”? Most universities teach assembly languages, computer architecture and hardware components. You are in a computing science program, and computing science is not much about the development of hardware components. Then what?

TRU-COMP2130 Introduction6 Objectives Understand the fundamentals of computer architecture Experience programming through the powerful C programming language (using GCC - GNU compiler), probably a new programming language to you Experience programming through IA32 assembly language, another new programming language to you Experience reliable programming through the understanding of critical relationship between programming and computer architecture Experience efficient programming through code optimization Why is one programming language, e.g., Java, not enough in computing science?

TRU-COMP2130 Introduction7 Course Contents C programming language Bit and Boolean operations Use of pointers Use of struct data structure Dynamic memory management... Assembly language Introduction to computer systems The fundamentals of computer architecture How does a computer system work? How is computer architecture related to programming? Code optimization... Use of Linux

TRU-COMP2130 Introduction8 Lecture Introduction to computer systems Introduction to C programming language Data representations C: advanced topics Introduction to assembly language – IA32 (Intel Architecture 32) Compiling, linking, loading, and executing Dynamic memory management Code optimization Memory hierarchy, locality, caching Virtual memory (if time permits)

TRU-COMP2130 Introduction9 The better knowledge of computer systems, the better programing. Computer SystemC Programming Language Computer architecture CPU (Central Processing Unit) IA32 assembly language Introduction to C language Compiling, linking, loading, executing Physical main memory MMU (Memory Management Unit) Virtual memory space Memory hierarchy Cache Dynamic memory management Better coding – locality Reliable programming; Efficient programming (code optimization)

TRU-COMP2130 Introduction10 Seminar Use of Linux C programming exercises Exercise questions about computer architecture and programming Explanation of assignments

TRU-COMP2130 Introduction11 Textbooks Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, 2/E, Prentice Hall, 2011 ISBN 10: Kernighan and Ritchie, The C Programming Language, Prentice Hall, 1988, ISBN 10: or Schaum Series

TRU-COMP2130 Introduction12 Evaluation Quizzes19% Programming Assignments16% Programming Exam25% Final test40% In order to pass the course, students must achieve minimum of 50% on overall quizzes & Assignments, and minimum of 50% on the mid term and final exam

TRU-COMP2130 Introduction13 Questions? Anything that you want to know more? Any comment? Any question?

TRU-COMP2130 Overview14 Overview – Why C? Why C? Most system programs are written in C, not even C++, for fast execution. The kernels of most operating systems are written in C. A lot of projects use C. Pros and cons Fast execution -\ Easy memory management - > Good for system programming Bit operation -/ But a bit complex concepts of pointer, type conversion and memory allocation How is C different from Java?

TRU-COMP2130 Overview15 General purpose programming language popularity index From lang-index.sourceforge.net Published at March 2012

TRU-COMP2130 Overview16 Programming language populatiry From langpop.com Published at April 13, 2011

TRU-COMP2130 Overview17 How is C different from Java? CJava Procedural No class Common data: global variables Abstract data type: struct, union Object oriented Class Common data: instance variables Abstract data type: class Micro approach Individual utility libraries Macro approach Utilities include language itself Reference type variableNo reference, but objects include the concept Call by value; call by referenceCall by value; call by reference for objects Compiling One file at a time, and linking Compiling Cross-reference

TRU-COMP2130 Overview18 Overview – How a Computer Works How does a computer system look like? Model from the view of functions: von Neumann architecture What happens when you turn on a computer system? Can a computer system understand a program written in C or Java? How does a program run in a computer system? Similar to

TRU-COMP2130 Overview19 Overview – How a Computer Works What happens when you turn on a computer? Power on, then? -> Electric signal -> CPU will start executing instructions from a particularly fixed address. BIOS MBR OS CPU reads one instruction from memory at a time and executes the instruction. This cycle, called instruction cycle, repeats forever. Fetch and Execution

TRU-COMP2130 Overview20 Overview – How a Computer Works Can a computer understand a program written in C or Java? How does a program run in a computer? A program is a collection of data and codes. Compile and link Load and execute Multi-programming?

TRU-COMP2130 Overview21 Overview – How a Computer Works What hardware components do we need to run programs in a computer system? Four major components: CPU Main memory I/O devices Keyboard Mouse Monitor Hard disk System buses

TRU-COMP2130 Overview22 Overview – How a Computer Works User programs write data into the main memory and read data from the main memory. It is very important to protect OS codes and data stored in the main memory from user programs. What does this mean? Why is this very important for Operating Systems? How to protect? By using hardware supports and interrupts The architectures of computer systems have very close relations with OSes and programs. We will study CPU, main memory, interrupts, instructions, and...