Introduction and Overview Winter 2013 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

Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Introduction to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale and infrastructure F ’08 class01b.ppt.
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.
CSCI2413 Lecture 1 Operating Systems (OS) Introduction and Overview phones off (please)
OS Spring’03 Introduction Operating Systems Spring 2003.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Operating Systems Béat Hirsbrunner Main Reference: William Stallings, Operating Systems: Internals and Design Principles, 6 th Edition, Prentice Hall 2009.
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.
OS Spring’04 Introduction Operating Systems Spring 2004.
CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 28, 2001 Topics: Staff, text, and policies Lecture topics and assignments.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
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
Computer Organization
CMPT 300: Operating Systems
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
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.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Intro to Computer Systems Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Virtual & Dynamic Memory Management Summer 2014 COMP 2130 Intro Computer Systems Computing Science Thompson Rivers University.
Introduction and Overview Summer 2014 COMP 2130 Introduction to 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.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
CSCE 312 Computer Organization Course Administration Dr. Rabi N Mahapatra Department of Computer Science & Engineering, 520B HR Bright,
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
Introduction to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F ’02 class01b.ppt “The Class.
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.
CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 25, 1998 Topics: Staff, text, and policies Lecture topics and assignments.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
1 CS/ECE 354 Fall 2013 “New, and improved!”. 2 Karen Miller Phone: CS.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1 ECEN209-Computer Architecture (Course Overview & Introduction)
Introduction to Operating Systems Concepts
Computer Organization and Architecture Lecture 1 : Introduction
General information Course web page:
Andy Wang Object Oriented Programming in C++ COP 3330
Chapter 8: Main Memory.
Final exam: Wednesday, March 20, 2:30pm
Chapter 1: A Tour of Computer Systems
Computer System and Programming
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
COMS 161 Introduction to Computing
CGS 3763 Operating Systems Concepts Spring 2013
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.
Term Dr Abdelhafid Bouhraoua
Presentation transcript:

Introduction and Overview Winter 2013 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University

TRU-COMP2130 Introduction2 Instructor: Dr. Mahnhoon HL 424 Office hour: Mon, Tue, Wed, Fri and by appointment Course web page: Course web page: 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

TRU-COMP2130 Introduction3 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 Introduction4 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 Introduction5 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 Introduction6 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 Introduction7 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 Introduction8 Seminar Use of Linux C programming exercises Exercise questions about computer architecture and programming Explanation of assignments

TRU-COMP2130 Introduction9 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:

TRU-COMP2130 Introduction10 Evaluation Quizzes25% Programming Assignments10% Programming Exam25% Final test40% In order to pass the course, students must achieve minimum of 50% on overall quizzes, minimum of 50% on the programming exam, minimum of 50% on overall programming assignments, and minimum of 50% on the final written exam

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

TRU-COMP2130 Introduction12 Something Additional Research opportunity Web data mining Examples: Summly on iPhones, SiteSeer Computational intelligence How to handle categorical data? Participation opportunity is open. ACM International Collegiate Programming Contest (ICPC) ? Regional contest in Pacific Northwest Registration: September Competition date: early November this year at SFU I am currently recruiting students who are good at Java programming and completed COMP 2230.

TRU-COMP2130 Overview13 Loosing Habits and Winning Habits Loosing habits? Winning habits? What kind of habits do you have?

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...