1/57
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Basic Input Output System (BIOS)
A program that initializes and tests the hardware of a computer system and loads the operating system.
Device Drivers
Software programs that allow the operating system to control and communicate with peripheral devices such as printers, scanners, and keyboards.
Distributed Operating Systems
Operating systems that are spread over multiple servers on a network, acting as a single system to provide increased reliability and scalability.
Embedded Operating Systems
Specialized operating systems designed to run on devices with limited resources, such as smartphones, IoT devices, and embedded systems.
First Come First Served (FCFS)
A scheduling algorithm where processes are dealt with in the order they arrive, without considering their execution time or priority.
Intermediate Code
Code that is partly translated between a high-level programming language and machine language, often used in virtual machines and interpreters.
Interrupts
Signals from hardware, software, or clocks that alert the CPU to handle a specific event or request.
Interrupt Service Routines (ISR)
Routines that handle interrupts if they have a higher priority than the current task being executed by the CPU.
Memory Management
The efficient organization and allocation of main memory (RAM) to programs, ensuring optimal utilization and preventing conflicts.
Multi-level Feedback Queues
A scheduling algorithm that uses multiple queues with different priorities to schedule processes, allowing for a balance between responsiveness and fairness.
Multi-tasking Operating Systems
Operating systems capable of running multiple tasks or processes simultaneously, providing the illusion of parallel execution.
Multi-User Operating Systems
Operating systems designed to support multiple users simultaneously, typically with a mainframe computer and multiple terminals or remote access.
Operating System
A set of programs that manage the resources and operations of a computer system, including hardware, software, and user interactions.
Paging
A memory management technique that partitions memory into fixed-sized physical divisions called pages, allowing for efficient allocation and retrieval of data.
Real Time Operating Systems
Operating systems designed for applications that require processing and responding to events within strict time constraints, ensuring timely and predictable execution.
Round-Robin
A scheduling algorithm where each process is given an equal time slice or quantum, allowing for fair sharing of CPU time among multiple processes.
Scheduling
The process of allocating processor time to each application or process for efficient multitasking, ensuring fairness and responsiveness.
Segmentation
A memory management technique that partitions memory into variable-sized logical divisions called segments, allowing for flexible allocation and protection of data.
Shortest Job First (SJF)
A scheduling algorithm that selects the process with the shortest estimated running time, minimizing waiting time and improving overall system performance.
Shortest Remaining Time
A scheduling algorithm that selects the process with the shortest estimated time remaining to complete, ensuring efficient utilization of CPU time.
Virtual Machines
Instances where software emulates the functionality of a physical machine, allowing multiple operating systems or environments to run on a single physical machine.
Virtual Memory
An allocated area of secondary storage, such as a hard disk, used to supplement the available physical memory (RAM) by temporarily storing inactive job pages.
Applications Generation Applications
Programs that enable users to create or develop specific applications, providing tools and frameworks for software development.
Assembler
A translator that converts assembly language, a low-level symbolic language, into machine code, which can be directly executed by the computer's hardware.
Closed Source
Proprietary software that restricts access to its source code, making it unavailable for modification or redistribution by users.
Code Generation
The final stage of compilation, where the compiler translates the intermediate code into equivalent machine code that can be executed by the computer.
Compilation
The process of converting high-level language source code, such as C++ or Java, into machine code that can be understood and executed by the computer.
Compilers
Translators that convert high-level programming languages into machine code, enabling the execution of programs on a computer.
Interpreters
Translators that check the source program for syntax errors and execute it line by line, converting and executing the code on the fly.
Lexical Analysis
The first stage of compilation, where the source code is scanned to remove spaces, comments, and identify tokens for further processing.
Libraries
Collections of pre-compiled programs or modules that provide reusable functions and resources, which can be loaded and used by other programs.
Linkers
Programs that link object code files and modules together, resolving references and creating a single executable program or library.
Loaders
Programs that load executable object programs and required libraries into memory, preparing them for execution by the computer's hardware.
Open Source
Software that provides freely available source code, allowing users to view, modify, and distribute the code according to open-source licenses.
Optimization
The process of making object code as efficient as possible by removing redundancies, improving performance, and reducing resource consumption.
Syntax Analysis
The second stage of compilation, where the compiler checks the statements and tokens of the source code for syntax errors and structural correctness.
Translator
A program that converts code from one computer language to another, enabling interoperability and portability of software across different platforms.
Utilities
System software programs that provide various tools and functionalities for maintenance, optimization, diagnostics, and other system-related tasks.
Agile Methodologies
Iterative software development processes that focus on producing incremental prototypes, embracing change, and delivering value to customers.
Extreme Programming
A responsive Agile Methodology that emphasizes short development cycles, frequent releases, and close collaboration between developers and customers.
Rapid Application Development
A software development method that enables quick responses to changes in technologies and requirements, emphasizing iterative and prototyping approaches.
Spiral Model
An iterative version of the Waterfall model, where development stages are refined and repeated in cycles, incorporating feedback and producing prototypes.
Waterfall Lifecycle
A software development approach where development stages are completed one at a time in a linear order, with each stage building upon the previous one.
Assembly Language
A low-level programming language that closely resembles machine code, using mnemonic instructions to represent operations and registers.
Attributes
Data recorded as variables associated with objects, defining their characteristics or properties.
Classes
Templates or blueprints that define attributes and methods to create objects, encapsulating data and behaviors within a single entity.
Direct Addressing
The simplest addressing mode in assembly language, where the operand directly specifies the memory address of the data.
Encapsulation
A programming concept that maintains data integrity by allowing only class methods to access and modify the data, hiding the internal implementation details.
Immediate Addressing
An addressing mode in assembly language where the operand contains constant data directly in the address field of the instruction.
Indexed Addressing
An addressing mode in assembly language where the operand address is calculated by adding an index or offset to a base address, allowing for flexible data access.
Indirect Addressing
An addressing mode in assembly language where the operand stores the address of the required data, allowing for dynamic and indirect data access.
Inheritance
A programming concept where subclasses inherit methods and attributes from a parent class, promoting code reuse and hierarchical organization of classes.
Methods
Program subroutines or functions that represent actions or behaviors that objects can perform, encapsulating reusable code within a class.
Object-Oriented Languages
Programming languages that organize code around objects, which are instances of classes, with attributes and behaviors defining their characteristics and actions.
Objects
Instances of a class that have defined attributes and behaviors, representing specific entities or concepts within a program or system.
Polymorphism
A programming concept where objects of different classes can be treated as objects of a common superclass, allowing them to use the same method to perform an action.
Procedural Languages
High-level programming languages that use self-contained functions and procedures to structure code and solve problems, focusing on step-by-step execution.
Programming Paradigms
Different styles or approaches to computation and programming, chosen based on the specific problem and requirements of the software being developed.