Let s begin with the very beginning...

Size: px
Start display at page:

Download "Let s begin with the very beginning..."

Transcription

1 Let s begin with the very beginning... As we learned in the fourth grade science course, back in 1801, a French man, Joseph Marie Jacquard, invented a power loom that could weave textiles, which had been done for a long time by hand. More interestingly, this machine can weave textiles with patterns such as brocade, damask, and matelasse by controlling the operation with punched wooden cards, held together in a long row by rope. 1

2 How do these cards work? Each wooden card comes with punched holes, each row of which corresponds to one row of the design. Multiple rows of holes are punched on each card and all the cards that compose the design of the textile are hooked together in order. Although the punched card concept was based on some even earlier invention by Basile Bouchon around 1725, the Jacquard loom was the first machine to use punch cards to control a sequence of operations. Let s check out a little demo as how Jacquard s machine worked. 2

3 Why do we talk about a loom? With Jacquard loom, if you want to switch to a different pattern, you simply change the punched cards. By the same token, with a modern computer, if you want it to run a different application, you simply load it with a different program, which used to keep on a deck of paper based punched cards. That is why Jacquard s machine is considered to be an important step towards the creation of the modern computer system as we know it. 3

4 The very first, but unfinished, computer On June, 14, 1822, the English mathematician Charles Babbage proposed a steam driven calculating machine based on the decimal number system, which he called the Difference Engine, which was not implemented at his time due to various reasons. A fully operational model of a working difference engine No. 2 was constructed in the Science Museum in London from 1989 to (Check out the course page for a demo.) Babbage then proposed the next machine, the famous Analytical Engine. It was first suggested in 1837, and Babbage continued to work on the design until his death in It was again an unfinished business. 4

5 Analytical Engine and Computer The design of the Analytical Engine was quite similar to that of the general-purpose computers, completed about 100 years later in the 1940 s. This device, large as a house and powered by six steam engines, would be general purpose in nature because it would be programmable, thanks to the punched card technology. Moreover, Babbage made an important intellectual leap regarding the punched cards. 5

6 Babbage s idea In the Jacquard loom, the presence, or the absence, of each hole in the card physically allows a colored thread to pass or stop. Babbage saw that the pattern of holes could be used to represent either an abstract idea such as a problem statement or the raw data required for that problem s solution. Babbage actually realized that, at the very bottom, a program can be represented the same way as a piece of data. This is exactly the same idea as we have been using with modern computers, when coding anything, including both programs and data, with two digits, 0 and 1, i.e., doing math in a binary system. 6

7 Here is more... Babbage also realized that punched paper could be employed as a storage mechanism, holding computed numbers for future reference. Because of the connection to the Jacquard loom, Babbage called the two main parts of his Analytical Engine the Store and the Mill, as both terms are used in the weaving industry. The Store was where numbers were held and the Mill was where they were woven into new results. In a modern computer these same parts are called the memory unit and the central processing unit (CPU). 7

8 What do they do? A Store can hold 1,000 numbers of 50 decimal digits each, while an arithmetical unit (the Mill ) would be able to perform all four arithmetic operations, plus comparisons and optionally square roots. The input (programs and data) was to be provided to the machine via punched cards, a method being used at the time to direct mechanical looms such as the Jacquard loom. For output, the machine would have a printer, a curve plotter and a bell (to wake you up?). The machine would also be able to punch numbers onto cards to be read in later, using the ordinary base-10 fixed-point arithmetic. Check out the course page for more information about these machines... 8

9 Another attempt Although AE was never completed, according to the December, 2010 issue of Communication of ACM, John Graham-Cumming, a British programmer and author now wants to implement Babbage s Analytical Engine. More specifically, John plans to create a 3D virtual model of Babbage s machine, workout all the bugs, and then build it. As part of the project, John also plans to digitize Babbage s papers and make them available on line. This project has been recently picked up by the Science Museum in London, and it is estimated to be completed by the 150th anniversary of Charles Babbage s death. 9

10 A more recent story Clicking the fast forward button,..., with the ENIAC machine(completed in 1946), a program was set up, and switched out, by manually flipping switches and changing cable connections. Later on, John Von Neumann proposed a change, i.e., storing the program on two columns of dials in the parameter tables, which slowed down the machine tremendously. You now can dial any program in before its execution, rather than having to get an engineer to wire the program for you. 10

11 A dilemma ENIAC was kept on upgrading, e.g., in 1953, it got a gigantic 1,000 words added into its memory, and could carry out 5,000 base-10 fixed-point operations a second. Such a simple machine does not have much to be managed; on the other hand, even such a simple machine needs a lot of effort to take care of. This machine lasted, on average 5.6 hours, between repairs. Since it contained 19,000 vacuum tubes, when repairing, a technician has to consider this many possibilities to find out which ones to replace. Let s have a look at this machine and how John looked like... 11

12 Rationale of OS Later on, when machines get bigger and more complicated, e.g., with a memory of 8 GB and a CPU speed of 3 GHz, it became very clear that we have to find out a way to shield programmers from the complexity of the hardware ; since if a programmer has to understand, e.g., how a hard disk works and uses it optimally, she will not be able to write a program of any complexity. The way that has evolved over the years is to place a layer of software on top of the hardware, to manage all the parts of the system and provide some basic operations for the applications. Such a layer will make programming much easier, and also presents with the user a friendly interface so that any one can use it with ease (Smart phone, ipad,...). We call such a layer Operating System. 12

13 Some of the issues When the computer becomes more sophisticated and useful, it becomes a much sought out resource, thus, it really makes sense to be a shared resource. This means multiple programs can run concurrently, based on the time sharing idea. When I wrote down these words, 107 processes, split into 1,463 threads, are running in a four core processor in my machine. To implement such a concurrent system, we have to address and resolve a whole bunch of issues. We will briefly talk about some of those issues before discussing them in details. 13

14 The dynamic aspect of a program In a concurrent setting, programs have to share one set of resources, particularly, the only processor. To be fair, a program runs for a while, then gives up whatever it has, and gets suspended. Later on, it will run again after getting whatever it needs, and when it is its turn again. Since we don t want to start everything from the scratch again when it has another opportunity, we have to keep all the data related to its execution such as the values of all of its variables, the content of all the associated queues, and the address of the next instruction, etc.. 1. This consideration leads to the fundamental concept of a process, which captures the essence of the partial execution of a program: the code, the associated input data, together with all the data it has generated so far, which is needed for its resumption. 14

15 2. Another important issue is when and how to suspend a process? The when part depends on a policy issue of setting up the priority and a technical issue of managing them with appropriate data structures that we have discussed in previous courses. The how part is largely related to the interrupt techniques. 3. When a process runs, it needs resource and when it is suspended, it gives back some of them. We thus have to deal with a whole set of issues about allocating restricted resources so that it is fair and the precious resource is made best use of. For example, we want to keep the processor as busy as possible. One of the obvious, and the most critical, issues is how to allocate the CPU to a process, i.e., the processor scheduling problem. We also have to make sure that neither deadlock nor starvation occurs. 15

16 4. A computer has lots of memory, which is organized as a hierarchy. A fundamental issue here is that, when a process runs, it has to be placed into the main memory, which is always a hot commodity. On the other hand, it is not necessary to place everything into the main memory even when a program is running. Thus, a process, when not running, is located in a lower level, e.g., hard disk; and when running, only part of it will be brought into the main memory. We then have to deal with the memory management issues, such as What is the relationship between different levels of the memory hierarchy? Which parts of the program should be brought in initially? Where should we place it? When some of the parts are no longer needed, or something else has to be brought in, which parts of which processes should be swap out? 16

17 5. A computer consists of lots of other hardware parts, running at different rates, which leads to certain bottlenecks. For example, it takes little time to send a file to the printer, but much longer to get it printed. If we allow all the files to be directly sent to a printer, we will have a mixed-up result. Thus, we have to design various algorithms to streamline those bottlenecks. 6. Another related issue is the exclusiveness issue, which essentially requires the following: While allowing multiple processes the access rights to a critical resource, we only allow one process use it at any time. Printing can be used as an example here again. Should we talk about bathroom also? 7. All data are stored files. There are tons of them. Thus, it is extremely important to organize all these data so that we can quickly get it out when it is needed. 17

18 Something to think about... What we have in the computers these days is to have a whole system there. An analogy is that each and every of those houses has its own generator. We might need them during the winters, but the trend is obviously to have one giant power plant and send over the powers over the lines. With the further development of the web technology, what is to emerge in the future might be to have a really sophisticated operating system in a giant machine and then the system in our own machines will be relatively simple. It is referred to as grid/cloud computing, a pretty hot topic and popular practice. Thus, the whole situation will go back to the central processing/terminal model again. 18

Analytical Engine: The Original

Analytical Engine: The Original Chapter 2 Analytical Engine: The Original Computer As we learned in the fourth grade science course, back in 1801, a French man, Joseph Marie Jacquard, invented a power loom that could weave textiles,

More information

Welcome to COS151! 1.1

Welcome to COS151! 1.1 Welcome to COS151! Title: Introduction to Computer Science Course website: https://cs.up.ac.za/admin/courses/cos151 Find the study guide there Announcements Assignments (download & upload) Brief overview

More information

Part (01) Introduction to Computer

Part (01) Introduction to Computer Part (01) Introduction to Computer Dr. Ahmed M. ElShafee 1 Dr. Ahmed ElShafee, ACU : Summer 2014, Introduction to CS 1 TURING MODEL The idea of a universal computational device was first described by Alan

More information

Introduction to Computer Systems and Operating Systems

Introduction to Computer Systems and Operating Systems Introduction to Computer Systems and Operating Systems Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered 1. Computer History 2. Computer System

More information

Computer Basics. Computer Technology

Computer Basics. Computer Technology Computer Basics Computer Technology What is a Computer Information Processor Input Output Processing Storage Are physical parts like monitor, mouse, keyboard essential? Computer History Abacus 3,000 B.C.

More information

Processor: Faster and Faster

Processor: Faster and Faster Chapter 4 Processor: Faster and Faster Most of the computers, no matter how it looks, can be cut into five parts: Input/Output brings things in and, once done, sends out the result; a memory remembers

More information

Computers History How to make one from marbles Moore s s Law Sohaib Ahmad Khan Early History: Abacus In use since 3 B.C. addition, subtraction, multiplication, division, square roots, cube roots Not really

More information

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems Computer Architecture Review ICS332 - Spring 2016 Operating Systems ENIAC (1946) Electronic Numerical Integrator and Calculator Stored-Program Computer (instead of Fixed-Program) Vacuum tubes, punch cards

More information

EVOLUTION OF COMPUTERS. In the early years, before the computer was invented, there are several inventions of counting machines.

EVOLUTION OF COMPUTERS. In the early years, before the computer was invented, there are several inventions of counting machines. EVOLUTION OF COMPUTERS In the early years, before the computer was invented, there are several inventions of counting machines. 200 BC 500 BC CHINESE ABACUS EGYPTIAN ABACUS 1620 JOHN NAPIER NAPIER'S BONES

More information

Intro to Operating Systems

Intro to Operating Systems Definition of an Operating System Intro to Operating Systems By Al LBCC An operating system (OS) is a program which acts as an interface between computer system users and the computer hardware. This abstraction

More information

Great Inventions written by Bob Barton

Great Inventions written by Bob Barton COMPUTER Great Inventions written by Bob Barton Computers Computers help society function in many vital ways, often without our being aware of them. Computers control traffic lights and factory operations.

More information

Introduction To Computers. About the Course

Introduction To Computers. About the Course Introduction To Computers Chapter No 1 Introduction About the Course Course instructor Course policies Topics to be covered Course Website and Reference material Assignments and Projects ITC - Chapter

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems By Farhan Ahmad farhanahmad@uet.edu.pk Department of Chemical Engineering, University of Engineering & Technology Lahore Introducing Computer Systems Exploring computers

More information

Overview of a computer

Overview of a computer Overview of a computer One marks 1. What is von Neumann concept also called as? Stored memory or stored program concept. 2. Who is the father of computer Charles Babbage 3. What is a computer? It is an

More information

CHAPTER 1 Introduction

CHAPTER 1 Introduction CHAPTER 1 Introduction 1.1 Overview 1 1.2 The Main Components of a Computer 3 1.3 An Example System: Wading through the Jargon 4 1.4 Standards Organizations 15 1.5 Historical Development 16 1.5.1 Generation

More information

CHAPTER 1 Introduction

CHAPTER 1 Introduction CHAPTER 1 Introduction 1.1 Overview 1 1.2 The Main Components of a Computer 3 1.3 An Example System: Wading through the Jargon 4 1.4 Standards Organizations 13 1.5 Historical Development 14 1.5.1 Generation

More information

Algorithm: Program: Programming: Software: Hardware:

Algorithm: Program: Programming: Software: Hardware: 0-1 0-2 Terminology Algorithm: A set of steps that defines how a task is performed Program: A representation of an algorithm Programming: The process of developing a program Software: Programs and algorithms

More information

The trusted, student-friendly online reference tool. Name: Date:

The trusted, student-friendly online reference tool. Name: Date: World Book Online: The trusted, student-friendly online reference tool. World Book Advanced Database* Name: Date: History of Computers Computers! Virtually no other form of technology has become so powerful

More information

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker Computers in Engineering COMP 208 A Historic Perspective Michael A. Hawker Sept 4th, 2007 Computers in Engineering 1 A Brief History Abacus considered first mechanical computing device Used beads and rods

More information

Computers in Engineering COMP 208

Computers in Engineering COMP 208 Computers in Engineering COMP 208 A Historic Perspective Michael A. Hawker Sept 4th, 2007 Computers in Engineering 1 A Brief History Abacus considered first mechanical computing device Used beads and rods

More information

Machine Architecture and Number Systems

Machine Architecture and Number Systems Machine Architecture and Number Systems Topics Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Binary to Decimal Converting from Decimal

More information

CS 1 Notes 1 - Early Computing and 2 - Electronic Computing

CS 1 Notes 1 - Early Computing and 2 - Electronic Computing CS 1 Notes 1 - Early Computing and 2 - Electronic Computing Computer Science: The discipline that seeks to build a scientific foundation for such topics as: computer design computer programming information

More information

Early Calculating Tools

Early Calculating Tools Early Calculating Tools Abacus At least 5,000 years old Memory aid for making calculations Cannot perform actual computations Eventually replaced by pencil and paper Early Calculating Tools Pascalene Invented

More information

In this chapter, you will learn about: The definition of computer science. Algorithms. Invitation to Computer Science, C++ Version, Third Edition

In this chapter, you will learn about: The definition of computer science. Algorithms. Invitation to Computer Science, C++ Version, Third Edition Objectives Chapter 1: An Introduction to Com puter S cience Invitation to Computer Science, C++ Version, Third Edition In this chapter, you will learn about: The definition of computer science Algorithms

More information

HISTORY OF CALCULATION. Evolution of Computation

HISTORY OF CALCULATION. Evolution of Computation HISTORY OF CALCULATION Evolution of Computation Mechanical Era Slide Rule is the first mechanical device for numeric calculation Slide Rule can do Multiplication, Division, Power, Root and Trigonometry

More information

David DeFlyer Class notes CS162 January 26 th, 2009

David DeFlyer Class notes CS162 January 26 th, 2009 1. Class opening: 1. Handed out ACM membership information 2. Review of last lecture: 1. operating systems were something of an ad hoc component 2. in the 1960s IBM tried to produce a OS for all customers

More information

The Generations of Computers

The Generations of Computers The Generations of Computers The development of computers started with mechanical and electromechanical devices (17 th through 19 th century) and has progressed through four generations of computers. Mechanical

More information

Computer Systems. Hardware, Software and Layers of Abstraction

Computer Systems. Hardware, Software and Layers of Abstraction Computer Systems Hardware, Software and Layers of Abstraction 1 Automation & Computers Fundamental question of computer science: What can be automated? Computers automate processing of information Computer

More information

1: History, Generation & Classification. Shobhanjana Kalita, Dept. of CSE, Tezpur University

1: History, Generation & Classification. Shobhanjana Kalita, Dept. of CSE, Tezpur University 1: History, Generation & Classification Shobhanjana Kalita, Dept. of CSE, Tezpur University History Computer originally (17 th century) meant someone who computes Only in the 20 th century it was associated

More information

Machine Architecture and Number Systems CMSC104. Von Neumann Machine. Major Computer Components. Schematic Diagram of a Computer. First Computer?

Machine Architecture and Number Systems CMSC104. Von Neumann Machine. Major Computer Components. Schematic Diagram of a Computer. First Computer? CMSC104 Lecture 2 Remember to report to the lab on Wednesday Topics Machine Architecture and Number Systems Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number

More information

Describe the layers of a computer system

Describe the layers of a computer system Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe the history of computer hardware and software

More information

Chapter 1. The Big Picture

Chapter 1. The Big Picture Chapter 1 The Big Picture 1.1 Computing Systems Hardware The physical elements of a computing system (printer, circuit boards, wires, keyboard ) Software The programs that provide the instructions for

More information

A Brief History of Computer Science

A Brief History of Computer Science A Brief History of Computer Science 4700 Hundred years ago Sumerians invented the abacus Sand, lines, pebbles Sexagesimal Base 60 still used today Time, distance How do you count like that? Side trip Factors

More information

HISTORY OF COMPUTING

HISTORY OF COMPUTING NAME: DATE: PERIOD: 01) Definition of computers: HISTORICAL DEVICES 02) How is the term Analog used when representing data? 03) Answer the questions for the two devices used prior to the invention of the

More information

CHAPTER 1 COMPUTER OVERVIEW

CHAPTER 1 COMPUTER OVERVIEW CHAPTER 1 COMPUTER OVERVIEW WHAT IS A COMPUTER? Def: A computer is an electronic device that can perform a variety of operations in accordance with set of instructions called program. DATA Data. Data in

More information

Cryptography: Matrices and Encryption

Cryptography: Matrices and Encryption Cryptography: Matrices and Encryption By: Joseph Pugliano and Brandon Sehestedt Abstract The focus of this project is investigating how to generate keys in order to encrypt words using Hill Cyphers. Other

More information

4. History of computers and applications

4. History of computers and applications In this lesson you will learn: 4. History of computers and applications Savani and Ali have brought things like abacus, some pictures of old computers, a slide rule that was made by hand, a cloth with

More information

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1 Introduction to OS Introduction MOS 1.1 1.3 Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Introduction to OS 1 Why an Operating Systems course? Understanding of inner workings of systems

More information

Babbage Analytical Machine

Babbage Analytical Machine Von Neumann Machine Babbage Analytical Machine The basis of modern computers is proposed by a professor of mathematics at Cambridge University named Charles Babbage (1972-1871). He has invented a mechanical

More information

History of Operating Systems. History of Operating Systems. G53OPS: Operating Systems. History of Operating Systems. History of Operating Systems

History of Operating Systems. History of Operating Systems. G53OPS: Operating Systems. History of Operating Systems. History of Operating Systems Graham Kendall Levy, S. 1984. Hackers: Heroes of the Computer Revolution A hack: a neat or smart way of fixing or implementing something. The first section of the book describes the rise of the original

More information

Chapter 1: An Introduction to Computer Science. Invitation to Computer Science, C++ Version, 6-th Edition

Chapter 1: An Introduction to Computer Science. Invitation to Computer Science, C++ Version, 6-th Edition Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, 6-th Edition Objectives In this chapter, you will learn about The definition of computer science Algorithms A

More information

COMP163. Introduction to Computer Programming. Introduction and Overview of the Hardware

COMP163. Introduction to Computer Programming. Introduction and Overview of the Hardware COMP163 Introduction to Computer Programming Introduction and Overview of the Hardware Reading Read chapter 1 of the online textbook What is the difference between a simple calculator and a computer? Hardware

More information

http://www.computersciencelab.com/computerhistory/historypt2.htm In 1801 Joseph Marie Jacquard invented a loom that could base its weave on a pattern that was automatically read from punched wooden cards

More information

Input/Output Management

Input/Output Management Chapter 11 Input/Output Management This could be the messiest aspect of an operating system. There are just too much stuff involved, it is difficult to develop a uniform and consistent theory to cover

More information

Part 1: Computer and Information Literacy

Part 1: Computer and Information Literacy What is Computer? Understand Computers Part 1: Computer and Information Literacy Computer is an electronic devices that under a program s direction and control, perform four basic operations: Input, Processing,

More information

Elementary Computing CSC M. Cheng, Computer Science 1

Elementary Computing CSC M. Cheng, Computer Science 1 Elementary Computing CSC 100 2014-07-14 M. Cheng, Computer Science 1 CPU and Memory Inside of a computer CPU and RAM Clock Speed & Multi-core Microprocessor How a CPU works Secondary Storage 2014-07-14

More information

(Refer Slide Time 00:01:09)

(Refer Slide Time 00:01:09) Computer Organization Part I Prof. S. Raman Department of Computer Science & Engineering Indian Institute of Technology Lecture 3 Introduction to System: Hardware In the previous lecture I said that I

More information

6.001 Notes: Section 1.1

6.001 Notes: Section 1.1 6.001 Notes: Section 1.1 Slide 1.1.1 This first thing we need to do is discuss the focus of 6.001. What is this course all about? This seems quite obvious -- this is a course about computer science. But

More information

Chapter 1 History & Hardware

Chapter 1 History & Hardware Chapter 1 History & Hardware 1-1 Mechanical Machines History & Generations of Computing The first computers (some in the 17th century) were mechanical devices not electronic devices. While the technology

More information

CS 153 Design of Operating Systems

CS 153 Design of Operating Systems CS 153 Design of Operating Systems Winter 19 Lecture 2: Historical perspective Instructor: Nael Abu-Ghazaleh Last time What is an OS? What roles does it play? Today: Historic evolution of Operating Systems

More information

HISTORY OF COMPUTERS HISTORY OF COMPUTERS. Mesleki İngilizce - Technical English. Punch Card. Digital Data. II Prof. Dr. Nizamettin AYDIN.

HISTORY OF COMPUTERS HISTORY OF COMPUTERS. Mesleki İngilizce - Technical English. Punch Card. Digital Data. II Prof. Dr. Nizamettin AYDIN. Mesleki İngilizce - Technical English II Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr Notes: In the slides, texts enclosed by curly parenthesis, { }, are examples. texts enclosed by square parenthesis,

More information

PDF, Acroforms, XFA & Charles Babbage. Or How the Musings of a 19 th Century English Mathematician Remain Relevant Today

PDF, Acroforms, XFA & Charles Babbage. Or How the Musings of a 19 th Century English Mathematician Remain Relevant Today PDF, Acroforms, XFA & Charles Babbage Or How the Musings of a 19 th Century English Mathematician Remain Relevant Today Agenda Charles Babbage Envisioned Data Processing and Forms Processing Time Eventually

More information

Evolution of the Computer

Evolution of the Computer Evolution of the Computer Janaka Harambearachchi (Engineer/Systems Development) Zeroth Generation- Mechanical 1. Blaise Pascal -1642 Mechanical calculator only perform + - 2. Von Leibiniz -1672 Mechanical

More information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017 ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)

More information

MECHANICAL COMPUTATION, BABBAGE AND HIS ENGINES

MECHANICAL COMPUTATION, BABBAGE AND HIS ENGINES MECHANICAL COMPUTATION, BABBAGE AND HIS ENGINES Janet Delve & David Anderson Taken from A History of Computing Technology by Michael R. Williams, 2000 MECHANICAL CALCULATING MACHINES MECHANICAL CALCULATING

More information

History. 3rd Generation- Integrated Circuits, Transistors (Integrated Circuit form) for Memory ( memory is now volatile), Terminal/Keyboard for I/O

History. 3rd Generation- Integrated Circuits, Transistors (Integrated Circuit form) for Memory ( memory is now volatile), Terminal/Keyboard for I/O Early History History Know what the contributions of Charles Babbage, Ada Lovelace, and Alan Turing were Know Babbages Analytical Machine, which was limited by current technology Know that Ada Lovelace

More information

Operating Systems Overview

Operating Systems Overview Operating Systems Overview 1 operating system no clear traditional definition each definition cover a distinct aspect an interface between applications and hardware true, this was the first reason for

More information

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th COMS 1003 Fall 2005 Introduction to Computer Programming in C History & Computer Organization September 15 th What's Ahead Some computer history Introduction to major players in the development of hardware

More information

Pointers in C/C++ 1 Memory Addresses 2

Pointers in C/C++ 1 Memory Addresses 2 Pointers in C/C++ Contents 1 Memory Addresses 2 2 Pointers and Indirection 3 2.1 The & and * Operators.............................................. 4 2.2 A Comment on Types - Muy Importante!...................................

More information

Monday, January 27, 2014

Monday, January 27, 2014 Monday, January 27, 2014 Topics for today History of Computing (brief) Encoding data in binary Unsigned integers Signed integers Arithmetic operations and status bits Number conversion: binary to/from

More information

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall 1 Technology in Action Technology in Focus: The History of the PC 2 The first personal computer Sold as a kit Switches for input Lights for output Altair 8800 Bill Gates and Paul Allen created a compiler

More information

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics What is OS? History of OS 2 What is OS? (1) Application

More information

You Will Need Floppy Disks for your labs!

You Will Need Floppy Disks for your labs! CIS121 Instructor: Lynne Mayer VoiceMail: (847) 697-1000 x 2328 Lmayer@elgin.edu Office Hours: ICT 122 Mon.: 9:15-10:15 AM, 5:15-6:00 PM Wed.: 9:15-10:15 AM Fri.: 2:30-3:30 PM Website: faculty.elgin.edu/lmayer

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives

More information

A Brief History of Computer Science. David Greenstein Monta Vista High School, Cupertino, CA

A Brief History of Computer Science. David Greenstein Monta Vista High School, Cupertino, CA A Brief History of Computer Science David Greenstein Monta Vista High School, Cupertino, CA History of Computing Machines Definition of Computer A programmable machine A machine that manipulates data according

More information

(History of Computers) Lecture # 03 By: M.Nadeem Akhtar. Lecturer. URL:

(History of Computers) Lecture # 03 By: M.Nadeem Akhtar. Lecturer. URL: INTRODUCTION TO INFORMATION & COMMUNICATION TECHNOLOGIES. (History of Computers) Lecture # 03 By: M.. Lecturer. Department of CS & IT. URL: https://sites.google.com/site/nadeemcsuoliict/home/lectures 1

More information

Introduction To Operating System

Introduction To Operating System 1 Introduction To Operating System What is Operating System? An operating system is a program that controls the execution of application and acts as an interface between the user of a computer and the

More information

COMP 102: Computers and Computing Lecture 1: Introduction!

COMP 102: Computers and Computing Lecture 1: Introduction! COMP 102: Computers and Computing Lecture 1: Introduction! Instructor: Kaleem Siddiqi (siddiqi@cim.mcgill.ca) Class web page: www.cim.mcgill.ca/~siddiqi/102.html Outline for today What are computers? What

More information

Memory Addressing, Binary, and Hexadecimal Review

Memory Addressing, Binary, and Hexadecimal Review C++ By A EXAMPLE Memory Addressing, Binary, and Hexadecimal Review You do not have to understand the concepts in this appendix to become well-versed in C++. You can master C++, however, only if you spend

More information

Fundamentals of Python: First Programs. Chapter 1: Introduction Modifications by Mr. Dave Clausen

Fundamentals of Python: First Programs. Chapter 1: Introduction Modifications by Mr. Dave Clausen Fundamentals of Python: First Programs Chapter 1: Introduction Modifications by Mr. Dave Clausen Objectives After completing this chapter, you will be able to: Describe the basic features of an algorithm

More information

ECE Lab 8. Logic Design for a Direct-Mapped Cache. To understand the function and design of a direct-mapped memory cache.

ECE Lab 8. Logic Design for a Direct-Mapped Cache. To understand the function and design of a direct-mapped memory cache. ECE 201 - Lab 8 Logic Design for a Direct-Mapped Cache PURPOSE To understand the function and design of a direct-mapped memory cache. EQUIPMENT Simulation Software REQUIREMENTS Electronic copy of your

More information

Introduction to Computer Science. What is Computer Science?

Introduction to Computer Science. What is Computer Science? Introduction to Computer Science CS A101 What is Computer Science? First, some misconceptions. Misconception 1: I can put together my own PC, am good with Windows, and can surf the net with ease, so I

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Why OS? 2 What is an OS? Software that converts hardware into

More information

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss General The Computer Architecture section SFDV2005 is now complete, and today we begin on NETW3005 Operating Systems. Lecturers: Give

More information

History of Computing. Slides from NYU and Georgia Tech

History of Computing. Slides from NYU and Georgia Tech History of Computing Slides from NYU and Georgia Tech Early Computational Devices (Chinese) Abacus 2700 2300 BC Used for performing arithmetic operations Early Computational Devices Napier s Bones, 1617

More information

Computer & Microprocessor Architecture HCA103

Computer & Microprocessor Architecture HCA103 Computer & Microprocessor Architecture HCA103 Computer Evolution and Performance UTM-RHH Slide Set 2 1 ENIAC - Background Electronic Numerical Integrator And Computer Eckert and Mauchly University of Pennsylvania

More information

In particular, we have seen this already when we looked at how images are just bits We started with a very simple device that can be in one of two

In particular, we have seen this already when we looked at how images are just bits We started with a very simple device that can be in one of two 1 So far in this course, we have focused on how mathematics and computer science enable us to understand complex phenomena in the world around us. We did this by following a simple process: We start by

More information

Licensed to: ichapters User

Licensed to: ichapters User Foundations of Computer Science, 2nd edition Behrouz Forouzan and Firouz Mosharraf Publishing Director: John Yates Manufacturing Manager: Helen Mason Production Controller: Maeve Healy Publisher: Gaynor

More information

GENERAL I ARTICLE. Operating Systems. 1. Objectives and Evolution. operating systems, and then we trace the evolution of operating

GENERAL I ARTICLE. Operating Systems. 1. Objectives and Evolution. operating systems, and then we trace the evolution of operating Operating Systems 1. Objectives and Evolution M Suresh Babu In this article we examine the objectives and fun.ctions of operating systems, and then we trace the evolution of operating systems from the

More information

Deadlock and Starvation

Deadlock and Starvation Chapter 6 Deadlock and Starvation We now look into two more issues that make concurrent processing so much more difficult: deadlock and starvation. We will look at the problems first, and discuss a few

More information

COMP combinational logic 1 Jan. 18, 2016

COMP combinational logic 1 Jan. 18, 2016 In lectures 1 and 2, we looked at representations of numbers. For the case of integers, we saw that we could perform addition of two numbers using a binary representation and using the same algorithm that

More information

Principles of Operating Systems CS 446/646

Principles of Operating Systems CS 446/646 Principles of Operating Systems CS 446/646 1. Introduction to Operating Systems a. Role of an O/S b. O/S History and Features Serial processing Simple batch systems Multiprogrammed batch systems Time-sharing

More information

(Refer Slide Time: 00:01:30)

(Refer Slide Time: 00:01:30) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture - 32 Design using Programmable Logic Devices (Refer Slide Time: 00:01:30)

More information

Lyman Briggs Lecture Series. Group Question. Discussion Questions. Definition of Computer. Definition of Modern Computer. Definition of a Computer

Lyman Briggs Lecture Series. Group Question. Discussion Questions. Definition of Computer. Definition of Modern Computer. Definition of a Computer Lyman Briggs Lecture Series Emerging Issues in Abortion: Beyond Prolife and Pro-choice Adrienne Asch TONIGHT! 7:30 PM, C-106 Holmes Hall Group Question Get into a group of three people You have three minutes

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013 CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013 TOPICS TODAY Course overview Levels of machines Machine models: von Neumann & System Bus Fetch-Execute Cycle Base

More information

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture 168 420 Computer Architecture Chapter 2 Computer Evolution and Performance ENIAC - background Electronic Numerical Integrator And Computer Eckert and Mauchly University of Pennsylvania Trajectory tables

More information

Announcement. Exercise #2 will be out today. Due date is next Monday

Announcement. Exercise #2 will be out today. Due date is next Monday Announcement Exercise #2 will be out today Due date is next Monday Major OS Developments 2 Evolution of Operating Systems Generations include: Serial Processing Simple Batch Systems Multiprogrammed Batch

More information

Parallel Computing Prehistory

Parallel Computing Prehistory John Information Technology Department Virginia Tech... FDI Summer Track V: Using Virginia Tech High Performance Computing http://people.sc.fsu.edu/ jburkardt/presentations/fdi 2009 history.pdf 26-28 May

More information

Chapter 1 : Introduction

Chapter 1 : Introduction Chapter 1 Introduction 1.1 Introduction A Microprocessor is a multipurpose programmable, clock driven, register based electronic device that reads binary instructions from a storage device called memory,

More information

Introduction to Concurrency (Processes, Threads, Interrupts, etc.)

Introduction to Concurrency (Processes, Threads, Interrupts, etc.) Introduction to Concurrency (Processes, Threads, Interrupts, etc.) CS-3013 Operating Systems Hugh C. Lauer (Slides include materials from Slides include materials from Modern Operating Systems, 3 rd ed.,

More information

Virtual Memory. Chapter 8

Virtual Memory. Chapter 8 Chapter 8 Virtual Memory What are common with paging and segmentation are that all memory addresses within a process are logical ones that can be dynamically translated into physical addresses at run time.

More information

Unit 4: Emerging Technologies. A History of Personal Computing by Mrs. Ogletree

Unit 4: Emerging Technologies. A History of Personal Computing by Mrs. Ogletree Unit 4: Emerging Technologies A History of Personal Computing by Mrs. Ogletree EVOLUTION OF TECHNOLOGY Technology has been constantly changing COMPUTER HISTORY Computers have been around for a very, very,

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17 01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are

More information

Computer Organization CS 206T

Computer Organization CS 206T Computer Organization CS 206T Topics Introduction Historical Background Structure & Function System Interconnection 2 1. Introduction Why study computer organization and architecture? Design better programs,

More information

Engineering Robust Server Software

Engineering Robust Server Software Engineering Robust Server Software Scalability Other Scalability Issues Database Load Testing 2 Databases Most server applications use databases Very complex pieces of software Designed for scalability

More information

Readings and References. Deadlock. Deadlock. Simple Traffic Gridlock Example. Reading. CSE Computer Systems November 30, 2001.

Readings and References. Deadlock. Deadlock. Simple Traffic Gridlock Example. Reading. CSE Computer Systems November 30, 2001. Readings and References Deadlock Reading Chapter 8, Operating System Concepts, Silberschatz, Galvin, and Gagne CSE 410 - Computer Systems November 30, 2001 Other References 30-Nov-01 CSE 410 - Deadlock

More information

7. History of computers and applications

7. History of computers and applications In this lesson you will learn: 7. History of computers and applications Jyoti and Tejas have brought things like abacus, some pictures of old computers, a slide rule that was made by hand, a cloth with

More information

(Refer Slide Time: 1:26)

(Refer Slide Time: 1:26) Information Security-3 Prof. V Kamakoti Department of Computer science and Engineering Indian Institute of Technology Madras Basics of Unix and Network Administration Operating Systems Introduction Mod01,

More information

Process Description and Control

Process Description and Control Process Description and Control B.Ramamurthy 1/28/02 B.Ramamurthy 1 Introduction The fundamental task of any operating system is process management. OS must allocate resources to processes, enable sharing

More information