Introduction To System Programming: Chan-Gun Lee
Introduction To System Programming: Chan-Gun Lee
Programming
Chan-Gun Lee
Confused about computer systems?
Assembly C vs.
Operating Machine
Systems Language Linker
Virtual
Memory Compiler
Device
Drivers
Process Library
Network
Don’t worry....
The “System Programming” course will give you the clear answers
2
What is System Programming?
Computer Systems as we see
Application Programs
System Program
Operating System
Device Drivers
System Programming
– Writing system programs
– Using system programs 3
What we are going to learn?
How the computer hardware is
organized?
How programs run on the hardware?
How to write and understand assembly
programs to directly control HW?
How the OS (operating system) works?
How to write programs using OS
services?
How to make computers communicate?
4
At the end of the semester ...
We will understand
– the way computer hardware operates,
– the way software programs run,
– low-level programming (assembly instructions, machine
instructions),
– operating systems,
– network programming, and so on.
Comprehensive understanding of Computer Systems
Fundamental knowledge for further studies
– Computer Architecture
– Operating Systems
– Embedded Systems
5
Course Information
Instructor: Chang-Gun Lee ([email protected])
TA: Jung-Eun Kim ([email protected])
Class meeting time: Tue, Thur 9 am
Classroom: 301-203
Office Hours: Tue, Thur 12-1pm (Pizza or Gim-Bob
will be served by appointment)
Textbook:
– R. E. Bryant and D. O’Hallaron, Computer Systems: A
Programmer’s Perspective, Prentice-Hall, 2003
– C programming related books
– Linux/Unix related books
– Intel x86 Assembly language related books
Grading
– Attendance: 5%, Homework 35%, Midterm 30%, Final 30% 6
Before We Start ….
Passive vs. Active Learning
Passive learning
– 10% of what we read
– 20% of what we hear
– 30% of what we see (picture)
– 50% of what we hear and see
Active learning
– 70% of what we say
– 90% of what we say and do
7
Everybody! be an Active Learner
recall prior material
answer a question (say a lot!)
guess the solution first (even guessing wrong will help you to
remember the right approach)
raise questions
think of application
imagine that you were the professor and think about how you would
give a test on the subject material so that key concepts and results will
be checked
summarize a lecture, a set of homework or a lab in your own words
concisely
8
Will it be an easy course?
Easy for hard working guys
Difficult for …