Chapter 4 Flashcards
(19 cards)
System software:
A type of software that manages the hardware and software in a computer. There are two types, utility programs and operating system.
Software:
A series of instructions written in a programming language that perform a function.
Application software:
Software that allows the user to perform a task. Eg: data base, web browser
Application software runs on…
Operating system runs on firmware loaded by the bootstrap
Roles and examples of operating system:
Windows, iOS, Android OS
Provides and interface
Managing files
Managing peripherals and drivers
Managing memory
Managing multitasking
Managing interrupts
Managing user accounts
Providing a platform for running applications
Interrupt:
A signal sent to the processor to tell it that it’s attention is required
Interrupt handler:
A program that organizes interrupts based on priority level
Sequence of activities for interrupts:
Processor checks interrupt queue
Checks whether there is an interrupt with a higher priority level than the task at hand
If it is:
Stores current process and fetches the interrupt
Calls relevant ISR
When finished the stored process is returned to memory or another higher level interrupt is fetched
If it isn’t it:
Runs another FDE cycle
Characteristics and definition of a high level language:
A type of programming language that uses English like commands,
Easier for humans to understand
Easier for humans to debug
Portable, machine independent
Must be converted to low level language to be run
One statement can prevent many low level instructions
Can’t directly manipulate hardware
Characteristics and definition of low level language:
A language closer to the machine’s language either assembly or binary,
More difficult for humans to understand read and write
More difficult for humans to debug
Machine code doesn’t need converting, assembly doesn’t take much time to be converted
Several instructions needed to represent one high level instruction
Can directly manipulate hardware which can make the program more memory efficient
Translator:
Software that converts one programming language to another
Interpreter definition and sequence of activities:
A translator that checks one line of code and executes it before moving on to the next
Reads one line of code
Checks that it is correct
If not, it stops and reports an error
If it is, it executes the statement and moves on to the next
Compiler definition and sequence of activities:
A translator that checks all code. If there are errors, an error will be reported and the program isn’t executed. If there aren’t, an executable file(file produced by compiler that can run independently of translator software and doesn’t include source code) is created.
Comparison of interpreters and compilers:
Interpreter:
Can test part of the program without completing it
Translates one line of code then executes it
Reports a syntax error as soon as it is picked up on and stops the program from running until corrected
Useful when writing a program
Code needs to be retranslated each time the program is run
Doesn’t produce an executable file
Source code is required to run the program
Software is required to run the program
Comparison of interpreters and compilers:
Compiler:
Translates all lines of code before executing the program
Reports all syntax errors at the same time, program is not run until all errors are corrected
Useful when a program has been finished
Code doesn’t need retranslating each time it is re run
Produces and executable file
Source code is not required to run the program, only the executable file
No other software is required
You have to finish the section of code before testing
Integrated development environment:
Software that allowed a user to write, read and program code
Includes relevant translator and run time environment and editor
Can provide debugging features like break points, variable watch window and stepping
Editor:
A feature of IDE that allows user to enter and amend code
May include:
Pretty print
Autocompletion
Autocorrection
RTE:
A feature of IDE that allows user to interact with the program and lets it be run
Where the outputs from the executed code is displayed
Firmware:
A type of software that is stored in ROM which included the BIOS and boot loader