Computer Systems Flashcards
What does Software mean?
A collection of procedures and rules that carry out the operation on a computer stored on an internal or external storage
What does hardware mean?
The physical components that make up a computer (Motherboards, Keyboard)
What is the relationship between software and hardware?
- Both are required during startup to boot OS
- Maintain background tasks
- Continual Checks ensure smooth performance
- Required for input, and output systems
- A mouse (hardware) picks up movement from the sensor sending the input to the PC
- Input is received and recognised by the drivers and an output is sent back
- Resulting in the cursor moving on the screen
What is system software and what are the uses?
Designed to assist the computer in the efficient execution of application programs
Such as an OS - Linux, Windows
What is application software and what are the uses?
Allows for the user to achieve specific tasks that the user wishes to perform
Such as Notion or Chrome
What is the role of utility programs?
User-operated programs to maintain the functionality of a system
Management, diagnostic tools - Task Manager
What is the role of libraries?
- Generic name for collections of programs that can develop new software
- Installed when a game or program requires it
- Can be used to automate tasks
What is the role of translators and what are the different types?
Translators
- 3 types - Compilers, Assemblers, Interpreters
- Convert source code into code a computer can understand
-
Assemblers
- Converts assembly language into machine code
-
Compilers
- Checks lines of program to see if they are following syntax
- Then converting the entire source code into object code
-
Interpreters
- Line-by-line syntax check as well as execution
- Repeated until code is complete
What is the role of the operating system?
- Collection of programs supplying an abstraction
- Abstraction through virtual machines hiding complexities
- Provides a user interface
- Manages the system processes and management
- Input and Output devices
- Memory management
- Program management
What are the levels that the OS hides from the user?
What is process management?
Process Management
- Involves scheduling and switching of programs and threads
- Gives the illusion that multiple apps are running at the same time
- Even though only each processor can only run one process at a time
- Accomplished by the process control block
- A list of tasks sorted by priority
- All programs have to be run once or a limited amount of time
- Switched in order that is efficient
- Without bringing down the efficiency of the time interactive applications
- Can be altered through user actions such as task manager
What is device management?
Device Management
- Installs the correct device drivers
- Device drivers use a layer of abstraction
- Such as the encoding of sound files to an actual speaker
- Hardware devices organised in priority
- When a hardware device performs a duty an interrupt occurs and is sent to the interrupt handler
- Interrupt handlers direct the flow of execution to the correct driver
What is memory management?
Memory Management
- OS has to keep track of all the memory available
- Avoiding programmes running out of memory and crashing
- Shifting of contents in memory to and from the hard drive
What is the provision of a virtual machine?
Provision of a virtual machine
- Abstracting all processes behind hardware and software
- Providing a UI hiding all operations
What is the role of an assembler?
An assembler is a program that takes instructions in assembly language into machine code
- Where the code is checked for syntax errors
- Support the use of pseudo-operations like reserving space for data
Instructions not directly translatable
Explain this diagram
What is the role of a compiler + advantages?
- Checks all the lines in the code
- Converts all the lines of code into machine language
- Then is executed by a computer
Advantages
- Machine codes run faster than an interpreter
- Machine code can run without a compiler
- Copies of compiled programmes are secure as no source code can be seen
What is the role of an interpreter + advantages?
- Checks line by line for invalid instructions
- Translates each statement line by line to machine code
- Executes machine code line by line
Advantages
- Programmers can debug each problem as they come across it
- Easier development
- Error in source code can be corrected
When would you want to use a compiler?
- Creating an executable file from a high-level language
- Performance boost due to already being compiled
- Giving better loading and run times (Graphics)
When would you want to use an interpreter?
- Good for debugging
- Good for compiling real-time websites (Using JavaScript)
When would you want to use an assembler?
- Good for converting assembly into opcodes
- Understandable for computers can be used to form tasks
What is an intermediate language?
- The abstract programming language used by a compiler
- In between steps when translating compute code into machine code
- So that code can e analysed and optimisations can be made during translation
What is the difference between source code and executable code?
- Source code is given to a compiler to be converted into machine code.
- Executable code indicates tasks according to encoded instructions the CPU can directly execute.
What is the truth table and shape for the NOT gate?