Computers: Software. Computer Layers 10/19/13. Acknowledgments. Thanks to the following web site for the images used in this presentation:

Similar documents
Computer Layers. Hardware BOOT. Operating System. Applications

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Software: Systems and Application Software

Outline: Operating Systems

Lesson 06: Basics of Software Development (W02D2

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Operating System Software

Software. Programming Language. Software. Instructor Özgür ZEYDAN. Bülent Ecevit University Department of Environmental Engineering

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Operating System Today s Operating Systems File Basics File Management Application Software

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Virtualization for Cloud Computing

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Introduction to Virtual Machines

Example of Standard API

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. CIV 112 Computer Programming Lecture Notes (1)

CS420: Operating Systems OS Services & System Calls

System Structures. Services Interface Structure

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

TEST CHAPTERS 1 & 2 OPERATING SYSTEMS

OPERATING SYSTEM SERVICES

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Operating Systems. and Windows

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

Chapter 3. Operating Systems

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Computers: Tools for an Information Age

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

1.1 Electronic Computers Then and Now

Chapter 2 System Structures

Chapter Contents. Operating System Activities. Operating System Basics. Operating System Activities. Operating System Activities 25/03/2014

Engineering Problem Solving

CHAPTER 15: Operating Systems: An Overview

Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9. Do Now: Name 3 parts of the computer.

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

Operating Systems 4 th Class

Chapter 1. The largest computers, used mainly for research, are called a. microcomputers. b. maxicomputers. c. supercomputers. d. mainframe computers.

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Levels of Programming Languages. Gerald Penn CSC 324

Chapter 5: Fundamental Operating Systems

OPERATING SYSTEMS Software in the Background. Chapter 2

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Ch. 10 Software Development. (Computer Programming)

Chapter 5: System Software: Operating Systems and Utility Programs

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Chapter 1: Introduction. What is an Operating System?

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

SOFTWARE TECHNOLOGIES

lesson 1 An Overview of the Computer System

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

1. Overview of the Java Language

Computer Virtualization in Practice

Chap-02, Hardware and Software. Hardware Model

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

1/5/2013. Technology in Action

Chapter 1 Introduction to Computers, Programs, and Java

New Mexico Broadband Program. Basic Computer Skills. Module 1 Types of Personal Computers Computer Hardware and Software

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

İSTANBUL AYDIN UNIVERSITY

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

3 SOFTWARE AND PROGRAMMING LANGUAGES

DIABLO VALLEY COLLEGE CATALOG

What is a programming language?

Discovering Computers

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 2 Introducing Operating Systems

Cambridge International AS and A Level Computer Science

Virtual Machines.

Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems.

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

CIS Mid Semester Examinations

& Data Processing 2. Exercise 1: Introduction to Operating System Concepts. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

Lecture 1 Operating System Overview

Chapter 3 Operating-System Structures

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Programming for GCSE Topic H: Operating Systems

Ubuntu Linux Reza Ghaffaripour May 2008

Non-Volatile Memory Programming on the Agilent 3070

Basics of Computer 1.1 INTRODUCTION 1.2 OBJECTIVES

Effective Java Programming. efficient software development

COURSE OUTLINE Survey of Operating Systems

Chapter 3: Operating-System Structures. Common System Components

Multi-core Programming System Overview

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

L20: GPU Architecture and Models

Embedded Linux development training 4 days session

Chapter 12 Programming Concepts and Languages

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

CPS221 Lecture: Operating System Structure; Virtual Machines

Transcription:

Computers: Patrice Koehl Computer Science UC Davis Acknowledgments Thanks to the following web site for the images used in this presentation: - Wikipedia - http://microsoft.toddverbeek.com - http://www.webopedia.com - http://www.engin.umd.umich.edu/ - http://www.dell.com - http://www.intel.com - http://www.apple.com - http://www.ibm.com - http://homepages.feis.herts.ac.uk/~msc_ice/unit2/ - http://www.howstuffworks.com 1

: Basic Input/Output Layer refers to the firmware code usually stored on the PROM, EPROM or flash drive that is run by a computer when first powered on. 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 initiates the different hardware component of the system, scanning their own ROM or PROM. - Third, the initiate the boot process. The 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. 2

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 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. 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. 3

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. Application 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. 4

A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. 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 welldefined 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) There are many, many programming languages, and new ones appear every year. (http://www.engin.umd.umich.edu/cis/course.des/cis400/) 5

Three main levels of programming languages: Machine Languages Assembly Languages High level Languages - Machine languages: refers to the "ones and zeroes" that processors use as instructions. Give it one pattern of bits (such as 11001001) and it will add two numbers, give it a different pattern (11001010) 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 humanreadable... 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. : Interpret or Compile? 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 The main disadvantage of interpreters is that when a program is interpreted, it runs slower than if it had been compiled. : Interpreters 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) 6

: Compilers Compile Runtime Library Link Executable Program : Compilers 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. Thus, a compiler differs from an interpreter, which analyzes and executes each line of source code successively, without analyzing the entire program. : Examples Interpreted languages: - Perl, Python, Matlab (type II) - Java (type III) Compiled languages: - Fortran - C, C++ - Pascal - Basic - Cobol - ADA 7