Chapter 1 - Prequel (learning outcomes) Flashcards
describe the role of the operating system
The operating system is the interface between hardware and the software ran by the user. It is in control of:
* Managing memory
* Managing other hardware such as peripherals
* Scheduling processes
* Providing the user an interface such as a cli or gui
explain three approaches to translating source code into machine code
- Interpretation - this involves reading the source code one line at a time and then translating and executing each line as it is read
- Static compilation - this involves translating all of the source code to either bytecode or machine code in one go
- Dynamic / just-in-time (JIT) compilation - this is a mixture of interpretation and static compilation and involves reading each line and converting it to machine cofe then executing it however the machine code is saved and ran on any subsequent executions bringing with it the benefits of static compilation
describe the role of the Java Virtual Machine
this plays the role of compiling bytecode to machine code. the benefit of using this is that java code can be executed on any machine without any changes to the source code or bytecode. the only requirement is that the machine has the appropitae JVM installed
explain what is meant by Java versions and editions
- Java version - these include changes to java such as bug fixes new libraries or features within the language itself
- Editions - there are two main editions of java:
1. Java enterprise edition (JEE) - often used on server side and is used for applications that must be scalable, reliable and have secure networking
2. Java standard edition - this is used on the client side and provides the core functionality of the language itself
describe how procedural software differs from object-oriented software
- Procedural programming follows a step by step approach to execution where a main program calls on other procedures to achieve the small steps of the larger problem. Data within procedural programming is stored in a global data structure and is accessible by any part of the program
- Object oriented programming uses objects that hold there own data and know how to process that data. Objects can interact with each other and share information
explain how object technology has made possible the building of software systems out of components.
Because objects are self contained holding there own data and know how they should process that data they can easily be reused in other applications that require the same functionality