Computer Systems Flashcards
Application software
name given to programs that
complete a specific task for the user
Operating system
The OS allows the user to control the computer white hiding its complexity
Manages memory, schedules and processes taska and handles errors.
Utility programs
Utility programs performer housekeeping tasks like data backup or encryption or compression
Library programs
These contain pre written code that programmers can use to perform common tasks
Translators
Translators convert code from one programming language into another so the procesor can excute the instruction
Main functions of an operating system
-hide hardware complexity from user
-to handle interupts
-allocate cores to proccessors
-determine what areas of memory are used for what purpose
-manages communication between processors and I/O devices
-manage power consumption
-Installation of new software
Memory management
Keep track of each byte in a computers memory and decides how much memory should be allocated
Processor scheduling
Assigning proccesors to a cause
File management
Keeps track of all the files in the computer, maintaining their structure and organization
Resource management
Allocation of ram for a resource
Security management
Ensuring OS integrity, confidentiality and availability
User management
Keeps track of who is using the system and what resources they have access to
Machine code
Uses binary digits to reprezentacji instructions. It directly controls the computer’s procesor, providing full control over the system but making it extremely diffucult to write and debug
Assembly language
Uses short, human readable mnemonics to communicate instructions. These mnemonics are specific to the procesor and need to be translated into machine code to be executed
Advantage of assembly language
+more compact
+less error prone
Ad’s of machine code
+No translator needed
+Programmers arent restricted using machine code
+Makes fast and efficient use of the computer
Disad’s of machine code
-Extremely diffcult to work with and for humans to understand
-Very diffcult to amend, find errors
-Operation codes and memory addresses must be remembered
Low level language- portability
Not portable. Programs are written for specifc hardware and cannot run on other types of processors without modification
High level language- portability
Portable. Programs are not specific to any processor and can be used across different types of hardware once compiled or interpreted
Low Level- Ease of use
Difficult for humans to understand. Requires knowledge of hardware and binary representation