4.6 Fundamentals of Computer Systems Flashcards
Hardware vs Software
Hardware = physical components
Software = computer code that carries out operations on hardware
Application Software (definition) (examples (4))
- Software created for a specific purpose in order for user to complete a task
- E.g. word processing, spreadsheets, games, internet browsers
Bespoke Software (definition)
Tailor made for 1 specific user
System Software (definition) (examples (5))
- Controls way computer works and tell what to do
- Allows user to communicate with hardware and appl. software
- E.g. OS, utilities, user interface, translators, libraries
The Purpose of the Operating System
Controls + organises the general operation of a computer
Features of the Operating System (7)
- Managing the Processor
- Scheduling processes (decides which to execute next)
- Handles interrupts
- Managing memory
- Load programs
- Move data in/out of RAM
- Allocation of memory/virtual memory (when programs close)
- Handling External Peripherals
- Dealing with I/O requests
- Using device drivers
- Networking: interfacing w/ other computers
- Security: log ins, authorisation to files
- Providing a User Interface:
- WIMP, touch gestures
- Utilities
Examples of Utilities (6)
- Disk defragmenters
- Consolidate split up parts of files back together
- Speeds up retrieval
- File managers
- Create/move/copy/delete/rename directories/folders/files
- Anti Virus Programs
- Compression
- Back ups
- Encryption
Low Level Languages (2)
- Directly run on the hardware
- Each function maps directly to 1 process in object code (1-1 mapping)
1st Generation Language (4)
Machine Code
- binary/hex instructions
- most direct level
- dependent on processor ran on
2nd Generation Language (2)
Assembly Language
- mnemonic code converted by assembler into machine code
High Level Languages (3)
- Each function maps to many functions in object code
- Several machine code lines = 1 HLL line
- ‘Human’ like language
4th Generation Language (Examples)
- Python
- HTML
- SQL
3rd Generation Language (Examples)
- C
- C++
- Java
Imperative High Level Languages (2)
- Program that uses sequence, selection , iteration where instr. must be executed in order
- Aka procedural language as uses subroutines and procedures
Interpreters (2)
- One line of code, translates, runs
- HLL → machine code