SlideShare a Scribd company logo
1 of 48
Fundamentals and a Brief History of Computer Systems
Q: What is a computer? A: A machine that manages information
Representing Information ,[object Object],[object Object],[object Object],[object Object],010011010010011101001001001011010100100100100100100101111110000001
Adding meaning to bits ,[object Object],[object Object],[object Object],[object Object],42  -> 00000000000000000000000000101010 3.14159 -> 01000000010010010000111111010000 “ unix”  -> 01111000011010010110111001110101
Von Neumann Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Memory ,[object Object],[object Object],[object Object],[object Object],10100100101101001001001001000100111111010010011101010100100100 Address 453365
Computer Organization CPU Memory Devices
Central Processing Unit (CPU) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instruction Set Architecture (ISA) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example 1 + 2  = 3
Programming ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Running the program ,[object Object],[object Object]
Execution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programming in the 60s
Assembly Language ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Source Code ,[object Object],[object Object],[object Object],[object Object],[object Object]
Programming languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programming Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Variables ,[object Object],[object Object],[object Object],[object Object],[object Object]
Types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interpreted Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Compiled Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Source code ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Compilation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Compilation, Example ,[object Object],[object Object],[object Object],[object Object]
Computers as resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operating System (OS) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Q: How do we actually share the resources? A: Virtualization
Virtualization ,[object Object],[object Object],[object Object],[object Object]
Multitasking ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Context switches ,[object Object],[object Object],[object Object],[object Object],[object Object]
Logical Control Flows Time Process A Process B Process C Each  process has its own logical control flow
Concurrent Processes ,[object Object],[object Object],[object Object]
Example of concurrency ,[object Object],[object Object],[object Object],Time Process A Process B Process C
User View of Concurrent Processes ,[object Object],[object Object],Time Process A Process B Process C
Virtual Memory ,[object Object],[object Object],[object Object],[object Object],[object Object]
Virtual Address Space ,[object Object],[object Object],[object Object],[object Object]
On Demand Paging Memory 0: 1: P-1: Page Table Disk Virtual Addresses Physical Addresses CPU 0: 1: N-1:
The Kernel ,[object Object],[object Object],[object Object],[object Object],[object Object]
System Calls ,[object Object],[object Object],[object Object]
Sharing Memory ,[object Object],[object Object],[object Object],[object Object],[object Object]
Running a program ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Virtual Address Space in Linux kernel virtual memory (code, data, heap, stack) memory-mapped region for shared libraries run-time heap (managed by malloc) user stack (created at runtime) unused memory invisible to user code 0xc0000000 0x08048000 0x40000000 read/write segment (.data, .bss) read-only segment (.init, .text, .rodata) loaded from the  executable file 0xffffffff Virtual Address in hexadecimal, base 16
Some Important System Calls ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Some Useful Commands ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Linux Demo ,[object Object],[object Object],[object Object],[object Object]
Grading Criteria ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Discussion Section ,[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdp
Mohd Arif
 
Part I:Introduction to assembly language
Part I:Introduction to assembly languagePart I:Introduction to assembly language
Part I:Introduction to assembly language
Ahmed M. Abed
 
Perfect papers software
Perfect papers   softwarePerfect papers   software
Perfect papers software
guest0a1ce99
 
Introduction To Computer and Java
Introduction To Computer and JavaIntroduction To Computer and Java
Introduction To Computer and Java
PRN USM
 

What's hot (20)

Assembly language progarmming
Assembly language progarmmingAssembly language progarmming
Assembly language progarmming
 
Chapt 01 Assembly Language
Chapt 01 Assembly LanguageChapt 01 Assembly Language
Chapt 01 Assembly Language
 
Lec 01 basic concepts
Lec 01 basic conceptsLec 01 basic concepts
Lec 01 basic concepts
 
Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdp
 
Assembly language
Assembly languageAssembly language
Assembly language
 
Introduction to compiler development
Introduction to compiler developmentIntroduction to compiler development
Introduction to compiler development
 
Intro to assembly language
Intro to assembly languageIntro to assembly language
Intro to assembly language
 
2 c++ programming languages
2 c++   programming languages2 c++   programming languages
2 c++ programming languages
 
Introduction to Compiler
Introduction to CompilerIntroduction to Compiler
Introduction to Compiler
 
System software
System softwareSystem software
System software
 
Part I:Introduction to assembly language
Part I:Introduction to assembly languagePart I:Introduction to assembly language
Part I:Introduction to assembly language
 
Perfect papers software
Perfect papers   softwarePerfect papers   software
Perfect papers software
 
Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
 
Loaders
LoadersLoaders
Loaders
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 1(Microcomputer ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 1(Microcomputer ...Assembly Language Programming By Ytha Yu, Charles Marut Chap 1(Microcomputer ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 1(Microcomputer ...
 
Introduction To Computer and Java
Introduction To Computer and JavaIntroduction To Computer and Java
Introduction To Computer and Java
 
Spr ch-01
Spr ch-01Spr ch-01
Spr ch-01
 
Linkers
LinkersLinkers
Linkers
 
Loaders
LoadersLoaders
Loaders
 
df
dfdf
df
 

Similar to My cool new Slideshow!

Language translators
Language translatorsLanguage translators
Language translators
Aditya Sharat
 
Computer Programming Grade 9 for Students
Computer Programming Grade 9 for StudentsComputer Programming Grade 9 for Students
Computer Programming Grade 9 for Students
JayMungcal
 
Lecture 10 software development
Lecture 10 software developmentLecture 10 software development
Lecture 10 software development
Jehanzaib Yousuf
 
Concisely describe the following terms 40 1. Source code 2. Object c.pdf
Concisely describe the following terms 40 1. Source code 2. Object c.pdfConcisely describe the following terms 40 1. Source code 2. Object c.pdf
Concisely describe the following terms 40 1. Source code 2. Object c.pdf
feelinggift
 
1 Describe different types of Assemblers.Assembly language.docx
 1 Describe different types of Assemblers.Assembly language.docx 1 Describe different types of Assemblers.Assembly language.docx
1 Describe different types of Assemblers.Assembly language.docx
aryan532920
 

Similar to My cool new Slideshow! (20)

CISY 105 Chapter 1
CISY 105 Chapter 1CISY 105 Chapter 1
CISY 105 Chapter 1
 
Compiler_Lecture1.pdf
Compiler_Lecture1.pdfCompiler_Lecture1.pdf
Compiler_Lecture1.pdf
 
Chapter1.pdf
Chapter1.pdfChapter1.pdf
Chapter1.pdf
 
Language translators
Language translatorsLanguage translators
Language translators
 
Computer and programing basics.pptx
Computer and programing basics.pptxComputer and programing basics.pptx
Computer and programing basics.pptx
 
Computer Programming Grade 9
Computer Programming Grade 9Computer Programming Grade 9
Computer Programming Grade 9
 
Computer Programming Grade 9 for Students
Computer Programming Grade 9 for StudentsComputer Programming Grade 9 for Students
Computer Programming Grade 9 for Students
 
Lecture1
Lecture1Lecture1
Lecture1
 
Lecture 10 software development
Lecture 10 software developmentLecture 10 software development
Lecture 10 software development
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
 
2 Programming Language.pdf
2 Programming Language.pdf2 Programming Language.pdf
2 Programming Language.pdf
 
First session quiz
First session quizFirst session quiz
First session quiz
 
First session quiz
First session quizFirst session quiz
First session quiz
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introduction
 
Unit V.pptx
Unit V.pptxUnit V.pptx
Unit V.pptx
 
microprocesser-140306112352-phpapp01.pdf
microprocesser-140306112352-phpapp01.pdfmicroprocesser-140306112352-phpapp01.pdf
microprocesser-140306112352-phpapp01.pdf
 
Linux Programming
Linux ProgrammingLinux Programming
Linux Programming
 
Compiler design Introduction
Compiler design IntroductionCompiler design Introduction
Compiler design Introduction
 
Concisely describe the following terms 40 1. Source code 2. Object c.pdf
Concisely describe the following terms 40 1. Source code 2. Object c.pdfConcisely describe the following terms 40 1. Source code 2. Object c.pdf
Concisely describe the following terms 40 1. Source code 2. Object c.pdf
 
1 Describe different types of Assemblers.Assembly language.docx
 1 Describe different types of Assemblers.Assembly language.docx 1 Describe different types of Assemblers.Assembly language.docx
1 Describe different types of Assemblers.Assembly language.docx
 

My cool new Slideshow!

  • 1. Fundamentals and a Brief History of Computer Systems
  • 2. Q: What is a computer? A: A machine that manages information
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Computer Organization CPU Memory Devices
  • 8.
  • 9.
  • 10. Example 1 + 2 = 3
  • 11.
  • 12.
  • 13.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. Q: How do we actually share the resources? A: Virtualization
  • 29.
  • 30.
  • 31.
  • 32. Logical Control Flows Time Process A Process B Process C Each process has its own logical control flow
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. On Demand Paging Memory 0: 1: P-1: Page Table Disk Virtual Addresses Physical Addresses CPU 0: 1: N-1:
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. Virtual Address Space in Linux kernel virtual memory (code, data, heap, stack) memory-mapped region for shared libraries run-time heap (managed by malloc) user stack (created at runtime) unused memory invisible to user code 0xc0000000 0x08048000 0x40000000 read/write segment (.data, .bss) read-only segment (.init, .text, .rodata) loaded from the executable file 0xffffffff Virtual Address in hexadecimal, base 16
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.