COP 3402 Systems Software Euripides Montagne University of

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

COP 3402 Systems Software Euripides Montagne University of Central Florida (Spring 2014)

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: Eurípides Montagne MWF 10: 00 a. m. to 11: 00 a. m. TR 3: 00 p. m. to 4: 00 p. m. University of Central Florida (HEC 217) 3

COP 3402 Systems Software Course information Lecture meetings: TR 1: 30 p. m. –

COP 3402 Systems Software Course information Lecture meetings: TR 1: 30 p. m. – 2: 45 p. m. (HPA 1 125 ) Recitations: Th Th 8: 30 a. m. – 9: 20 a. m. (ENG 1 327) 9: 30 a. m. – 10: 20 a. m. (ENG 1 327) Web page: http: //www. cs. ucf. edu/courses/cop 3402/spr 2014/ Eurípides Montagne University of Central Florida 4

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 5

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). The last programming project will not have the 2 days late submission. Eurípides Montagne University of Central Florida 6

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 Supplementary texts: Compiler Construction Using Java, Java. CC, and Yacc. Anthony j. Dos Reis. Wiley, 2012. 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 7

COP 3402 Systems Software Who are your TAs? TA: Edward Aymerich email: edward. aymerich@knights.

COP 3402 Systems Software Who are your TAs? TA: Edward Aymerich email: edward. aymerich@knights. ucf. edu Office hours: Thursday 10: 30 am – 12: 30 pm (HEC 308) Graders : Michael Harris email: mharri 40@knights. ucf. edu Office hours: TBA Sharon Ladiero email: sjladiero@knights. ucf. edu Office hours: TBA Clayton Walker Eurípides Montagne email: claytonwalkerucf@knights. ucf. edu 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 machine code(assembly Language). Assembler: Translates programs written in assembly language to object code(binary). Static Linker: Combines and resolves references between object programs and creates the executable code. Debugger (low-level) Eurípides Montagne It is used to debug executable programs and their related object code and source program. 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 System Library Executable File (ELF) 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