COP 3402 Systems Software Euripides Montagne University of

  • Slides: 15
Download presentation
COP 3402 Systems Software Euripides Montagne University of Central Florida (Fall 2012)

COP 3402 Systems Software Euripides Montagne University of Central Florida (Fall 2012)

Outline 1. Course Organization 2. What is Systems software? Eurípides Montagne University of Central

Outline 1. Course Organization 2. What is Systems software? Eurípides Montagne University of Central Florida 2

COP 3402 Systems Software Who am I and where to find me? Instructor: Euripides

COP 3402 Systems Software Who am I and where to find me? Instructor: Euripides Montagne Tele. : (407) 823 -2684 email: eurip@eecs. ucf. edu Office hours: MTWR from Eurípides Montagne 1: 00 p. m. to 2: 30 p. m. University of Central Florida (HEC 217) 3

COP 3402 Systems Software Who are your Tas and grader? TA : Brendan Patrick

COP 3402 Systems Software Who are your Tas and grader? TA : Brendan Patrick Lynch Office hours: TBA email: brendan. lynch@knights. ucf. edu TA : Arup Gosh Office hours: TBA email: arup. kr. ghosh@gmail. com Grader : Sharon Ladiero email: sjladiero@knights. ucf. edu Eurípides Montagne University of Central Florida 4

COP 3402 Systems Software Course information Lecture meetings: MW 7: 30 p. m. –

COP 3402 Systems Software Course information Lecture meetings: MW 7: 30 p. m. – 8: 45 p. m. (HEC 125 ) Recitations: Lab 0011: Monday 6: 30 p. m. – 7: 20 p. m. (ENG 327) Lab 0012: Wednesday 3: 30 p. m. – 4: 20 p. m. (BA 110) Lab 0013: Wednesday 6: 30 p. m. – 7: 20 p. m. (ENG 327) Web page: http: //www. cs. ucf. edu/courses/cop 3402/fall 2012/ Eurípides Montagne University of Central Florida 5

COP 3402 Systems Software Course outline Course Outline: This course is designed to provide

COP 3402 Systems Software Course outline Course Outline: This course is designed to provide a fundamental understanding of real and virtual machines as language processor. We will study the processor as an instruction interpreter. Compilers, assemblers, and virtual machines will be presented as systems software for program development. An introduction to Operating system will be given. Course Topics: introduction to compilers and interpreters, virtual machines, computer architecture and assembler, loaders and linkers, macro-processors, run time environment and operating systems Prerequisites: COP 3502 – Computer Science I Eurípides Montagne University of Central Florida 6

COP 3402 Systems Software Course outline (continued) Grading Policy: (20%) Exam #1 (20%) Exam

COP 3402 Systems Software Course outline (continued) Grading Policy: (20%) Exam #1 (20%) Exam #2 (25%) Final Exam (30%) Programming project. (5%) Recitations Each programming project will have a due date and points will be subtracted for submission after that date ( up to 2 days late, 20 % off; more than two days late, you get “ 0” for that program). Eurípides Montagne University of Central Florida 7

COP 3402 Systems Software Course outline (continued) Material: Lecture notes: On website. Required text:

COP 3402 Systems Software Course outline (continued) Material: Lecture notes: On website. Required text: Compilers: Principles, Techniques, & Tools, Second Edition by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Addison Wesley, 2007 Recommended: Compiler Construction Using Java, Java. CC, and Yacc. Anthony j. Dos Reis. Wiley, 2012. Supplementary texts: Modern Compiler Implementation in C by Andrew Appel. Cambridge University Press, 1998 Compiler Construction: Principles and Practice by Kenneth C. Louden, PWS, 1997 System Software: An Introduction to Systems Programming, 3 rd Edition by Leland Beck, 1997. Concepts of Programming Languages, 8 th Edition by Robert W. Sebesta. Addison Wesley, 2010 Eurípides Montagne University of Central Florida 8

COP 3402 Systems Software An Introduction to Systems Software Eurípides Montagne University of Central

COP 3402 Systems Software An Introduction to Systems Software Eurípides Montagne University of Central Florida 9

What is Systems Software? Systems Software consists of a set of programs that support

What is Systems Software? Systems Software consists of a set of programs that support the operation of a computer system and help, the programmer, to simplify the programming process and create an environment to run application software efficiently. Examples of systems software are: Eurípides Montagne Text editors Compilers Loaders Linker Debugger Assembler Operating system University of Central Florida 10

Systems software can be classified in two groups: 1. - Software to create a

Systems software can be classified in two groups: 1. - Software to create a program development environment Text editor Compiler Assembler Linker Debugger (low-level) 2. - Software to create a run-time environment Operating system Loader Dynamic Linker Program libraries Eurípides Montagne University of Central Florida 11

Systems Software: Program Development Environment Text editor: Software that permits the creation and editing

Systems Software: Program Development Environment Text editor: Software that permits the creation and editing of text files (i. e. application programs). Compiler: Translates programs written in a high level language to object code or machine code. Assembler: Translates programs written in assembly language to object code or machine code. Static Linker: Combines and resolves references between object programs and creates the executable code. Debugger (low-level) It is used to debug executable programs and their related object code and source program. Eurípides Montagne University of Central Florida 12

Systems Software: Run-Time Environment Loader: Loads an executable code and starts its execution. Libraries:

Systems Software: Run-Time Environment Loader: Loads an executable code and starts its execution. Libraries: Precompiled programs that create a set of functions for use by other programs. Dynamic Linker: Loads and links shared libraries at run-time Operating system: An event driven program that make an abstraction of the computer system. The operating system handles all resources efficiently, creates an environment for application programs to run, and provides a friendly interface between the user and the computer system. Eurípides Montagne University of Central Florida 13

Compile time Source Program Compiler/ assembler Object Module Other Object Modules Link Editor (Linker)

Compile time Source Program Compiler/ assembler Object Module Other Object Modules Link Editor (Linker) Load time Executable File System Library Loader Dynamically Loaded System Library Execution time Eurípides Montagne Running Program University of Central Florida Computer hardware + OS 14

COP 3402 Systems Software Next class we will talk about The processor as an

COP 3402 Systems Software Next class we will talk about The processor as an instruction interpreter