PROGRAM AT RUNTIME Subject code: CSCI-620

Slides:



Advertisements
Similar presentations
Module 6: Introduction to C Language ITEI102 Introduction to Programming Structure of C++ Program - Programming Terminologies - Microsoft Visual Studio.
Advertisements

EC-111 Algorithms & Computing Lecture #1 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Introduction to Programming Lecture 2. Today’s Lecture Software Categories Software Categories System Software System Software Application Software Application.
CS 31003: Compilers ANIRUDDHA GUPTA 11CS10004 G2 CLASS DATE : 24/07/2013.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Chapter 1 Introduction to C Programming. 1.1 INTRODUCTION This book is about problem solving with the use of computers and the C programming language.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
1 Presentation on System Programming Course Code:- CM5G Subject Teacher :- Mr. Pankaj M Ughade Dept :- Computer Technology G. H. Raisoni polytechnic college,
“C” Programming Language What is language ? Language is medium of communication. If two persons want to communicate with each other, they have to use.
Programming Design Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
History of C and C++ C++ evolved from C ANSI C C++ “spruces up” C
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Evolution and History of Programming Languages. Machine languages Assembly languages Higher-level languages To build programs, people use languages that.
Evolution and History of Programming Languages. Software Programming Language.
Programming Fundamentals. Today’s Lecture Why do we need Object Oriented Language C++ and C Basics of a typical C++ Environment Basic Program Construction.
COMPUTER PROGRAMMING. A Typical C++ Environment Phases of C++ Programs: 1- Edit 2- Preprocess 3- Compile 4- Link 5- Load 6- Execute Loader Primary Memory.
1 Programming in C Hello World! Soon I will control the world! Soon I will control the world!
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
CHAPTER 1 INTRODUCTION 1 st Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
Typical C++ Environment and Library Introduction Speaker : Wei-Lu Lin Advisor : Ku-Yaw Chang 2012/10/14.
CHAPTER 1 INTRODUCTION 2 nd Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
CS-303 Introduction to Programming
Introduction to OOP CPS235: Introduction.
1 Introduction Read D&D Sec 1.8; Sec 1.13 THE Java tutorial -
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 1 – Introduction to C.
Introduction to C Programming Language. History of C  C was evolved by Dennis Ritchie at AT&T Bell Laboratories in early of 1970s  Successor of: ALGOL.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
THE SOFTWARE Computers need clear-cut instructions to tell them what to do, how to do, and when to do. A set of instructions to carry out these functions.
Structured programming 1 st stage By Heba.A Raheem Assist Lecturer College of Sciences/Computer Sciences Department.
برمجه حاسبات 2 أ. بيان غزلان الفصل الدراسي هـ.
Chapter 1 Introduction Samuel College of Computer Science & Technology Harbin Engineering University.
1 CS 192 Lecture 4 Winter 2003 December 8-9, 2003 Dr. Shafay Shamail.
Evolution and History of Programming Languages
Chapter 1 Introduction 2nd Semester H
Topic 2: Hardware and Software
Ashima Wadhwa Assistant Professor(giBS)
Chapter 1: An Overview of Computers and Programming Languages
Visit for more Learning Resources
Chapter 5- Assembling , Linking, and Executing Programs
Introduction to programming
Language Translation Compilation vs. interpretation.
Evolution and History of Programming Languages
Compiler Construction (CS-636)
System Programming and administration
Introduction to Programming
Instructor: Chien-Ho Ko
Chapter 1: An Overview of Computers and Programming Languages
ENERGY 211 / CME 211 Lecture 25 November 17, 2008.
Intro to Programming Week # 1 Hardware / Software Lecture # 2
History of compiler development
Chapter 1: An Overview of Computers and Programming Languages
Contents Todays Topic: Introduction to Computer Software We will learn
C++ Programming: From Problem Analysis to Program Design
2.1. Compilers and Interpreters
and Executing Programs
Compiler Construction
Today’s Topic Breakdown of CC script.
Chapter 1: An Overview of Computers and Programming Languages
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Programming Fundamentals Lecture #3 Overview of Computer Programming
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Introduction to Computer Programming
Introduction to Computer Systems
PROGRAM AT RUNTIME Subject code: CSCI-620
System Programming By Prof.Naveed Zishan.
Function of Operating Systems
Presentation transcript:

PROGRAM AT RUNTIME Subject code: CSCI-620 Subject name: Operating Systems Security Lecture No.: 02 Unit: 02 Unit topic: Basic program execution flow control Professor : R. A. Mihajlović School year: 2012/2013 © R. A. Mihajlovic, 2012 - Reproduction is prohibited

CSCI-620 Operating Systems Security Topics Program lifetime phases Typical C program development phases Program statistics Run time Compile time CSCI-620 Operating Systems Security Lecture 2.2 2

Typical Program Lifetime Phases   Typical Program Lifetime Phases One program or software goes through 3 general life time phases: Static or development phase, compile time Transient or loading phase, load time Dynamic or runtime phase, runtime Additional lifetime phase is deployment/installation/roll-out time, which may be of essence with regard to security. CSCI-620 Operating Systems Security Lecture 2.2

Typical C Program Development Steps   Typical C Program Development Steps Phases of some typical C/C++ program evolution: Editing (Static) Preprocessing (Static) Compiling (Static) Linking (Static) Loading (Transient) Executing (Dynamic) CSCI-620 Operating Systems Security Lecture 2.2

Typical C Program Development Steps   Typical C Program Development Steps Program source text is created in the editor and stored on disk. Preprocessor program processes the source code text. Loader puts program in memory. Compiler & Assembler create object code and stores it on disk. Linker links the object code modules with the libraries Loader Primary Memory Compiler Editor Preprocessor Linker   Primary Memory . Disk CPU Static or Compile Time Transient or Load Time Dynamic or Run Time CPU fetches each object code instruction and executes it.

Source Code Text Processing Compiler (Static time) “Translates” program written in "source" language to "target" language Interpreter (Dynamic time translation & execution) Translates source text line/instruction into object code and immediately executes CSCI-620 Operating Systems Security Lecture 2.2

Source Code Text Processing (Transformation) Assembler (Static time) Translates Assembly language text into the object binary code (machine “language” not human language) for particular machine/CPU Macro Processor (Static time) Textual substitutions, (Parses text, finds its directives and executes these directives by replacing them with the macro-text) Example: Macro assembler replaces Macro Assembly instructions with the block of assembly instructions (With the Macro code) Example: C preprocessor replaces preprocessor directives with the result of their execution (#include, #define, #ifdef,…) CSCI-620 Operating Systems Security Lecture 2.2

CSCI-620 Operating Systems Security Run time statistics Good estimate is that out of all programs running at any given time anywhere in the world, 90% were written in C. CSCI-620 Operating Systems Security Lecture 2.2

Compile time statistics Good estimate is that out of all programs that exist on the storage of any computing machine in the world 10% were written in C.

CSCI-620 Operating Systems Security Reference [1] John W. Backus, 82, Fortran Developer, Dies, NY Times, March 20, 2007 [2] Additional material CSCI-620 Operating Systems Security Lecture 2.2

CSCI-620 Operating Systems Security The End J.W. Backus Inventor of Fortran 1957 CSCI-620 Operating Systems Security Lecture 2.2