CSC 2400 Computer Systems Week 1 Goals and
- Slides: 25
CSC 2400: Computer Systems Week 1 – Goals and Introduction Prof. Michael Robson
Outline q Syllabus q Introductions q Background survey q What is a computer system?
Syllabus www. csc. villanova. edu/~mprobson/courses/csc 2400/
Syllabus Questions q Find a partner (or two) q Review the syllabus q Find three (or more) questions about the course - What’s on the syllabus - What’s not on the syllabus
Academic Integrity Code Collaboration is encouraged in this course while exploring the path to a solution. However, when the time comes to write the solution, discussions and references to Internet resources are no longer appropriate. All submitted work must be your own, as per Villanova’s academic integrity code (excerpt here): “Anyone who hands in work that is not his or her own, or who cheats on a test, or plagiarizes a paper, is not learning, is receiving credit dishonestly and is, in effect, stealing from other students. As a consequence, it is crucial that students do their own work. Students who use someone else's work or ideas without saying so, or who otherwise perform dishonestly in a course, are cheating. ”
Introductions
Background Survey
CSC 2400 Survey q Familiar with Unix - Yes or No q Familiar with C++ - Yes or No q Can compute the sum of all integers from 1 to 100 - Yes or No q Comformtable convering from binary to decimal - Yes or No
What is a computer system?
BIG Questions q What is a computer? q What is a computer system? q What do computers do? q How do they do it? q Are computers intelligent? q What will computers be like in the future?
What is a Computer? Do a survey on campus Numerous “correct” answers q Oxford dictionary: - an electronic device for storing and processing data, typically in binary form, according to instructions given to it in a variable program q Cambridge dictionary: - an electronic device that can store large amounts of information and be given sets of instructions to organize and change it very quickly
What Do Computers Do? Computers Execute Instructions. That’s all!
What Kind of Instructions? Strictly speaking, computers only understand machine language (binary machine code). 00101100100101100101110100101100010111010010110010010110010010110010111010010110001011101001011010010110010010110010111010010110001011101 Data plus Instructions
Compilation Stages count = 0; while (n > 1) { count++; if (n & 1) n = n*3 + 1; else n = n/2; } . loop: . else: High level language mov ECX, 0 0000000000000000 cmp jle add mov and je mov add add jmp EDX, 1. endloop ECX, 1 EAX, EDX EAX, 1. else EAX, EDX, EAX EDX, 1. endif 0110001101010111 sar. endif: jmp. endloop: 0000000000000000 0010101110101101000111011101 0010111010011100 1101001000111100 1101000001111101001110101001 1101000011111110 1101000101000010 EDX, 1. loop Assembly language Machine language
Building and Running • To build an executable $ gcc program. c –o xprogram • Result o. Complete executable binary file o. Machine language 1001011101001011000101110100101100100 1011010010111010010110001011101001011 00100101100101110100101100010111010 01011001001011001011101001011000101 11010010110010010110100 • To run: $. /xprogram
How Do Computers Do It? q You’ve got to know assembly q Chances are, you’ll never write in assembly - Compilers are much better & more patient than we are q Understanding assembly is key to understanding how computers work - Behavior of programs in presence of bugs - Tuning program performance
What is a Computer System? q Wikipedia: - the combination of hardware and software which forms a complete, working computer q Cambridge dictionary: - a complete computer including the operating system (=main software) and equipment that makes it work
Computer System q Computer system = hardware + system software q Computer systems hardware is comprised of 5 basic elements, as described by the Von Neumann architecture model (1945): CPU
A Typical Computer System • One or more CPUs • Device controllers connect through common bus • Shared access to main memory Managing all these components requires a layer of software: the operating system
Operating System Runs Things Web Browser Music Player User Programs System Calls Operating System (OS) HARDWARE q Users and programs can’t directly access the hardware - OS provides a simpler, more powerful interface - OS services can be accessed via system calls
Major Course Goal q GOAL: Understand how computers work - Look under the hood - Language tour: High-level language (C) → assembly language - q → machine language (IA-32) Service tour: application → Linux operating system Byproduct: “Programming in the large” - Become better programmers
Course Feature: C q Why C instead of Java? q C supports our goal better - C is a lower-level language (closer to assembly) - Linux is written in C
Course Feature: Linux q Why Linux instead of Microsoft Windows? q Linux is good for education and research - open-source and well-specified q Linux is good for programming - Linux (which is a variant of Unix) has GNU, a rich opensource programming environment Linux == Unix for our purposes
Programming Environment • Linux machines felix. csc. villanova. edu, helix. csc. villanova. edu • Unix machines csgate. csc. villanova. edu, tanner. csc. villanova. edu Network File System SSH tanner csgate SSH helix felix Any lab, or your own PC/Mac/Linux Computer SSH
Getting Started q Check out course web site now http: //www. csc. villanova. edu/~mprobson/courses/csc 2400/ q Subscribe to the zy. Book – Programming in C - Instructions in the syllabus q First assignment posted online
- Strategic goals tactical goals operational goals
- Strategic goals tactical goals operational goals
- General goals and specific goals
- Examples of generic goals and product-specific goals
- Week by week plans for documenting children's development
- Phil has 20 sweets in a bag
- Fonovision
- Partes de una funcion lineal
- Mse-2400
- Isre 2400
- Jeremy is going to roll a fair 6-sided die 180 times
- 400 ün %30 u kaçtır
- Resolución 2400 de mayo 22 de 1979
- Nyatakan koordinat kartesius dalam koordinat kutub
- Påtegning om assistance med opstilling af regnskab
- 2359 military time
- Dborah
- The uniform concrete slab has a mass of 2400 kg
- Elcore 2400 preis
- Embedded systems week
- Scheduling in batch system
- Computer design goals
- Encapsulation and decapsulation in osi model
- Decision support systems and intelligent systems
- In css nc ii, avr stands for
- Integration using tables and computer algebra systems