Computers: Software Patrice Koehl Computer Science UC Davis.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
IT-101 Section 001 Lecture #13 Introduction to Information Technology.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Computers Software. Computer Layers Hardware BIOS Operating System Applications.
The Operating System. What is an Operating System? The program that is loaded first and manages the hardware resources like main memory, backing storage.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
 Computer hardware components are the physical pieces of the computer.  The major hardware components of a computer are: – The central processing.
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Chapter 5 Operating Systems. 5 The Operating System When working with multimedia, the operating system is perhaps the most important, the most complex,
ECS 15 Introduction on Python Acknowledge: Prof. Nina Amenta.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Lecture 1: Intro to Computers Yoni Fridman 6/28/01 6/28/01.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
16 March, 2000 CS1001 Lecture 1 Introduction - Syllabus History of Computers Computer Components.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Course: Introduction to Computers
Types of software. Sonam Dema..
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Computer for Health Sciences
Lesson 4 Computer Software
CS 161 INTRO TO PROGRAMMING I Dr. Blaise W. Liffick Fall
Operating Systems What do you have left on your computer after you strip away all of the games and application programs you bought and installed? Name.
Chapter 4 Operating Systems and File Management. 4 Chapter 4: Operating Systems and File Management 2 Chapter Contents  Section A: Operating System Basics.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
SOFTWARE It Consists of a series of instructions that tells the computer what to do. It is collection of programs. Software is set of instruction which.
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Introduction to Interactive Media Interactive Media Tools: Software.
Software Writer:-Rashedul Hasan Editor:- Jasim Uddin.
Operating Systems TexPREP Summer Camp Computer Science.
Chapter 3: Computer Software. Stored Program Concept v The concept of preparing a precise list of exactly what the computer is to do (this list is called.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
Foundation year Lec.3: Computer SoftwareLec.3: Computer Software Lecturer: Dalia Mirghani Year: 2014/2015.
OPERATING SYSTEM - program that is loaded into the computer and coordinates all the activities among computer hardware devices. -controls the hardware.
Computers: Hardware Patrice Koehl Computer Science UC Davis.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
CS-303 Introduction to Programming
Application Software System Software.
Computer and Programming. Computer Basics: Outline Hardware and Memory Programs Programming Languages and Compilers.
Software Rashedul Hasan. Software Instructions and associated data, stored in electronic format, that direct the computer to accomplish a task. Instructions.
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
NON STANDARD HARDWARE By the end of this lesson you will be able to: 1. Identify non standard computer hardware 2. Understand ACRONYMS used to describe.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Computer Software.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Software Engineering Algorithms, Compilers, & Lifecycle.
Computer Basics.
Chapter 5 Operating Systems.
Computer Applications in Business
Topic 2: Hardware and Software
Java Programming: From the Ground Up
Engineering Problem Solving With C An Object Based Approach
Programming Language Hierarchy, Phases of a Java Program
Chapter 5: Using System Software
Overview of Computers and Programming Chapter 1
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
TexPREP Summer Camp Computer Science
Computers: Hardware and Software
Programming Languages
Programming language translators
Presentation transcript:

Computers: Software Patrice Koehl Computer Science UC Davis

Acknowledgments -Wikipedia Thanks to the following web site for the images used in this presentation:

Computer Layers Hardware BIOS Operating System Software Programming languages

BIOS refers to the firmware code usually stored on the PROM, EPROM or flash drive that is run by a computer when first powered on. BIOS performs three major tasks: -First, the Power On Self Tests (POST) are conducted. These tests verify that the hardware system is operating correctly. - Second, the BIOS initiates the different hardware component of the system, scanning their own ROM or PROM. - Third, the BIOS initiate the boot process. The BIOS looks for boot information that is contained in file called the master boot record (MBR) at the first sector on the disk. Once an acceptable boot record is found the operating system is loaded which takes over control of the computer. BIOS: Basic Input/Output Layer

Computer Layers Hardware BIOS Operating System Software Programming languages

The operating system

Definition found on Wikipedia: “An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources” Most common operating systems: - DOS (desktops, laptops) - Unix and variants, including Linux (servers) - MacOS

The operating system Operating systems can be classified as follows: -multi-user : Allows two or more users to run programs at the same time. -multiprocessing : Supports running a program on more than one CPU. -multitasking : Allows more than one program to run concurrently. -multithreading : Allows different parts of a single program to run concurrently.

The operating system Memory management: Current computers organize memory resources hierarchically, from registers, CPU cache, RAM and disks. The virtual memory manager coordinates the use of these resources by tracking which one is available, which is to be allocated or deallocated and how to move data between them. If running processes require significantly more RAM than is available, the system may start thrashing.

Most operating systems come with an application that provides a user interface for managing the operating system, such as a command line interpreter or graphical user interface (GUI). Operating systems provide a software platform on top of which other programs, called application programs, can run. Your choice of operating system determines the applications you can run. The operating system

Computer Layers Hardware BIOS Operating System Software Programming languages

Application software is a class of computer software that uses the capabilities of a computer to a task that the user wishes to perform. The term application refers to both the application software and its implementation. Typical examples of software applications are word processors, spreadsheets, and media players. Application Software

Computer Layers Hardware BIOS Operating System Software Programming languages

A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages Programming languages are used to facilitate communication about the task of organizing and manipulating information, and to express algorithms precisely. (An algorithm is a list of well-defined instructions for completing a task; that is, given an initial state, it will proceed through a well- defined series of successive states, eventually terminating in an end-state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as probabilistic algorithms, incorporate randomness)

( Programming languages There are many, many programming languages, and new ones appear every year.

High level Languages Assembly Languages Machine Languages Hardware Programming languages Three main levels of programming languages: -Machine languages : refers to the "ones and zeroes" that processors use as instructions. Give it one pattern of bits (such as ) and it will add two numbers, give it a different pattern ( ) and it will instead subtract one from the other. -Assembly languages : is as close as you can come to writing in machine language, but has the advantage that it's also human- readable... using a small vocabulary of words with one syllable, such as: MOV A, B -High level languages: A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Each language has its own set of keywords and its own syntax.

Regardless of what language you use, you eventually need to convert your program into machine language so that the computer can understand it. There are two ways to do this: -interpret the program through an interpreter -compile the program through a compiler Programming languages: Interpret or Compile? The main disadvantage of interpreters is that when a program is interpreted, it runs slower than if it had been compiled.

An interpreter is a program that either: - executes the source code directly (type I) - translates source code into some efficient intermediate representation and immediately executes this (type II) - is invoked to explicitly execute stored precompiled code made by a compiler which is part of the interpreter system (type III) Programming languages: Interpreters

Programming languages: Compilers Source Code Source Code Source Code Source Code Object File Object File Object File Object File Runtime Library Executable Program Compile Link

A compiler is a program that translates source codes into object codes. The compiler derives its name from the way it works, looking at the entire source code and collecting and reorganizing the instructions. Programming languages: Compilers Thus, a compiler differs from an interpreter, which analyzes and executes each line of source code successively, without analyzing the entire program.

Programming languages: Examples Interpreted languages: - Perl, Python, Matlab (type II) - Java (type III) Compiled languages: - Fortran - C, C++ - Pascal - Basic - Cobol - ADA