cop 3402 systems software
DESCRIPTION
COP 3402 Systems Software. Euripides Montagne University of Central Florida. Outline. Course Organization What is Systems software?. COP 3402 Systems Software. Who am I and where to find me?. Instructor: Euripides Montagne Tele.: (407) 823-2684 email : [email protected] - PowerPoint PPT PresentationTRANSCRIPT
COP 3402 Systems Software
Euripides Montagne
University of Central Florida
Eurípides Montagne University of Central Florida 2
Outline
1. Course Organization
2. What is Systems software?
Eurípides Montagne University of Central Florida 3
Instructor: Euripides Montagne
Tele.: (407) 823-2684
email: [email protected] Office hours: MWF 11:00 p.m. - 12:30 p.m. (Noon)(HEC 217)
T 2:00 p.m. - 3:00 p.m. (HEC 217)
Who am I and where to find me?
COP 3402 Systems Software
Eurípides Montagne University of Central Florida 4
Lecture meetings: M-W 7:30 p.m. – 8:45 p.m.(CB2 105)
Recitations:Lab0011: Monday 6:30 p.m. – 7:20 p.m. (HEC 118) Lab0012: Wednesday 3:30 p.m. – 4:20 p.m. (ENG2 302)
Lab0013: Wednesday 6:30 p.m. – 4:20 p.m. (HEC 118)
Web page: http://www.cs.ucf.edu/courses/cop3402/fall2014
COP 3402 Systems SoftwareCourse information
Eurípides Montagne University of Central Florida 5
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
COP 3402 Systems SoftwareCourse outline
Eurípides Montagne University of Central Florida 6
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.
COP 3402 Systems SoftwareCourse outline (continued)
Eurípides Montagne University of Central Florida 7
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, JavaCC, and Yacc. Anthony j. Dos Reis. Wiley, 2012. Modern Compiler Implementation in C by Andrew Appel. Cambridge University Press, 1998Compiler Construction: Principles and Practice by Kenneth C. Louden, PWS, 1997System Software: An Introduction to Systems Programming, 3rd Edition by Leland Beck, 1997.Concepts of Programming Languages, 8th Edition by Robert W. Sebesta. Addison Wesley, 2010
COP 3402 Systems SoftwareCourse outline (continued)
Eurípides Montagne University of Central Florida 8
TAs: Edward Aymerich email: [email protected] Office hours: Tuesdays 9:30 a.m. - 11:30 a.m. (HEC 308)Elham Havvaei email: [email protected] hours: Tuesdays 1:30 p.m. - 3 p.m.Salman Khokhar email: [email protected] hours: Tuesday 2:00 p.m. - 4:00 p.m.
Graders: Sharon Ladiero email: [email protected] Marconi email: [email protected] hours: MW: 12:30 p.m. - 1:30 p.m.Andrea Castillo
COP 3402 Systems SoftwareWho are your TAs?
Eurípides Montagne University of Central Florida 9
COP 3402 Systems Software
An Introduction to
Systems Software
Eurípides Montagne University of Central Florida 10
What is Systems Software?
Systems Software consists of a set of programs that supportthe 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:Text editorsCompilersLoadersLinkerDebuggerAssemblerOperating system
Eurípides Montagne University of Central Florida 11
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 12
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 levellanguage to machine code(assembly Language).
Assembler: Translates programs written in assembly language toobject code(binary).
Static Linker: Combines and resolves references between object programs and creates the executable code.
Debugger It is used to debug executable programs and their (low-level) related object code and source program.
Eurípides Montagne University of Central Florida 13
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 computersystem. 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 14
SourceProgram
Compiler/assembler
ObjectModule
Link Editor (Linker)
Other Object Modules
Loader
ExecutableFile (ELF)
SystemLibrary
DynamicallyLoaded SystemLibrary
RunningProgram Computer hardware + OS
Load time
Compile time
Execution time
COP 3402 Systems Software
Next class we will talk about
The processoras an instruction interpreter