1/339
Flashcards about Operating Systems, Memory Management, Interrupts, Scheduling, Software Development Models, Programming Paradigms, Assembly Language, and Object-Oriented Programming.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What are the main functions of an operating system?
Managing hardware and software resources, providing a user interface, file management, interrupt handling, security, providing a platform for software to run, and providing utilities.
What resources does the operating system manage?
CPU, memory, disk drives, and printers.
What does the GUI of the file system allows the user to decide?
GUI allows the user to decide which directory a file should be saved in and what the file name will be.
What security features do operating systems provide?
Password-protected system accounts, a firewall, virus scanning and file encryption.
In what two ways operating systems provide user interaction?
Visually through a graphical user interface (GUI) or text-based through a command-line interface (CLI).
What functionality provide Utility programs?
File encryption, file compression, disk defragmentation, system backup, disk cleanup.
What are the benefits of memory management?
Efficient allocation of memory enables multitasking, maintains security, and improved efficiency using Paging, Segmentation and Virtual Memory.
What is paging?
Chunking the primary memory into equal-sized blocks.
What is internal fragmentation?
Unused space within a page.
Why is segmentation space-efficient?
Only allocating space depending on the amount an application needs
What causes external fragmentation?
Physical gaps reduce the maximum size of new Segments that can be allocated
What is virtual memory?
Using secondary storage as an extension of main memory.
What are the types of interrupts?
Hardware, software, and trap interrupts.
What is the purpose of interrupts?
Real-time event handling, device communication, and multitasking.
What is the interrupt process?
Interrupt Request (IRQ), Interrupt Acknowledge, Interrupt Service Routine (ISR) Lookup, ISR Execution, and Interrupt Exit.
What is scheduling?
Deciding which tasks to process, for how long, and in what order.
What are the scheduling categories?
Pre-emptive and non-pre-emptive.
What are pre-emptive Scheduling algorithms examples?
Round robin (RR) and Shortest Remaining Time First.
What are non-pre-emptive scheduling algorithms examples?
First Come First Serve and Shortest Job First.
What are the benefits of the Round Robin algorithm?
All processes get a fair share of the CPU; it is good for time-sharing systems, and predictable, as every process gets equal time.
What are the benefits of the Multi-Level Feedback Queues algorithm?
Smaller tasks are prioritised and creates a prioritisation system where similar-sized tasks are queued together
What are the benefits of the Shortest Job First algorithm?
It minimises waiting time and is efficient and fast for short processes.
What are the different types of operating systems?
Distributed, Embedded, Multi-tasking, Multi-user, Real-Time.
Example of Distributed Operating Systems
Hadoop.
Example of Embedded Operating Systems
IoT devices and household devices.
Example of Multi-Tasking Operating Systems
Windows, MacOS, and Linux.
Example of Multi-User Operating Systems
Windows, MacOS, and Linux.
Where are Real-Time Operating Systems used?
In industries like aerospace and automotive where low latency is critical to safety
What does BIOS mean?
Basic Input/Output System.
What does POST mean?
Power-On Self-Test
What is the purpose of a device driver?
To enable communication between an operating system and specific hardware devices.
What is a virtual machine (VM)?
It mimics a complete computer system within a physical machine
What are the uses of virtual machines?
Cross-platform compatibility, software testing, and legacy support.
Example of Cross-platform compatibility
Run MacOS apps on Windows or vice versa.
Example of Software testing
Safe, isolated environments for testing across multiple OS versions.
What is application software?
Software designed to perform a specific task or tasks for a user.
What is the purpose of Disk Defragmentation?
To rearrange the files on a hard drive to increase efficiency by putting files into contiguous blocks and minimizing empty spaces
What is the purpose of File Management?
To organize, search, rename, and relocate files stored on the system.
What is the purpose of System Cleanup?
To free up space on the system by removing unnecessary files and data.
What is the purpose of Security utilities?
To protect the computer system from various threats like viruses, malware, and spyware
What are the characteristics of Open Source Software (OSS)?
Users can view, modify, and distribute the source code.
What are the characteristics of Closed Source Software (CSS)?
The source code is hidden and proprietary.
What do translators do?
Convert source code from a high-level language to a low-level language.
What are the three main types of translators?
Interpreters, Compilers, Assemblers.
What do Interpreters do?
Interpret source code line-by-line and executes it on the fly
What do Compilers do?
Translates the entire source code into machine code at once and then executes it.
What do Assemblers do?
Assemblers translate assembly language into machine code.
What are the four stages of compilation?
Lexical Analysis, Syntax Analysis, Code Generation, and Optimisation.
What is Lexical analysis?
Studying the words or vocabulary of a language.
What is Syntax analysis?
Makes sure tokens adhere to the syntax rules of the programming language
What is Code generation?
This step takes the AST and traverses it to generate object code that can be executed by the computer
What is Optimisation?
Modifies the code to make it more efficient without changing its functionality
What is a code library?
A collection of pre-written code, classes, procedures, scripts, configurations, and more.
What is the use of Linkers?
These combine different code files and libraries into a single executable. They resolve references between files, ensuring everything points where it should
What is the use of Loaders?
These are system tools that load executable files into memory so they can be run by the operating system
What are the steps in the Waterfall Lifecycle Model?
Requirement Gathering and Analysis, System Design, Implementation, Integration and Testing, Deployment, and Maintenance.
What are the steps in the Agile (extreme programming) Model?
Identify user stories and requirements, Plan the sprint (Sprint Planning), Design the solution, Develop the features, Test continuously, Review progress (Sprint Review), Reflect on process (Sprint Retrospective), Release and Repeat
What are the steps in the Spiral Model?
Planning, Risk analysis, Engineering, Evaluation and feedback
What are the steps in the Rapid Application Development (RAD) Model?
Requirement planning, User design and prototyping, Construction or iterative development, Cutover or deployment, Maintenance and updates
What is Procedural Paradigm?
Structured around procedure calls.
What is Object-Oriented Paradigm?
Organises code around objects (which combine data and functionality) rather than functions
What is Assembly Paradigm?
Low-level mnemonic representation of machine code for a specific computer architecture.
What is Assembly Paradigm Strengths?
Direct control over hardware
What is Assembly Paradigm Weaknesses?
Extremely steep learning curve
What is Procedural Paradigm Strengths?
Efficient execution of straightforward tasks A clear flow of control (top to bottom)
What is Procedural Paradigm Weaknesses?
Can become unwieldy for large programs
What is Object-Oriented Paradigm Strengths?
Enhances modularity with encapsulation Enables real-world modelling using objects
What is Object-Oriented Paradigm Weaknesses?
Can lead to unnecessary complexity
Where does assembly language sit?
Between high-level languages and machine code.
What is the Little Man Computer (LMC)?
Hypothetical computer model used for understanding the fundamental operations and mechanics of a computer
What are addressing modes?
Ways in which an instruction in assembly language or machine code can access data stored in memory.
What are the main types of addressing modes?
Immediate, Direct, Indirect, and Indexed
What are classes?
Used as blueprints or templates that can be used to create objects within Object Oriented Programming or OOP
What is the result of Instantiation?
Creates an object from a specific instance of a class and has its own state and behaviours
What is an Object?
A representation of a real-world entity
What is the Constructor?
Special method within a class that is automatically called when an object of that class is created (instantiated)
What are Methods?
Functions associated with objects or classes that define the behaviour and actions that objects can perform
What are Public Methods?
Accessible and can be invoked by any code within the same class or from any external classes
What are Private Methods?
Only accessible within the same class and cannot be invoked by external code or other classes
What is an Attribute?
Refers to a data member or a property associated with an object or a class
What is Inheritance?
Allows a class to inherit the properties and behaviours (methods and attributes) of another class
What is Encapsulation?
The practice of grouping data (attributes) and methods (functions) within a class
What is Polymorphism?
A concept in programming that allows objects to take on different forms or behaviours