Software Flashcards
(126 cards)
In this approach, a number’s sign is represented with a sign bit: setting that bit (often the most significant bit) to 0 for a positive number or positive zero, and setting it to 1 for a negative number or negative zero. The remaining bits in the number indicate the magnitude (or absolute value). For example, in an eight-bit byte, only seven bits represent the magnitude, which can can range from 0000000 (0) to 1111111 (127). Thus numbers ranging from −127 to +127 can be represented once the sign bit (the eighth bit) is added.
“Sign-magnitude” or “Sign and magnitude” representation
In computer architecture, ___ integers, memory addresses, or other data units are those that are ___ (8 octets) wide. Also, ___ CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. ___ microcomputers are computers in which ___ microprocessors are the norm. From the software perspective, ___ computing means the use of code with ____ virtual memory addresses.
64-bit
A computer program that transforms computer code written in one programming language (the source language) into another programming language (the target language).
A compiler
In computer science, a ___ is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. The implementation of ___ and processes differs between operating systems, but in most cases a ___ is a component of a process. Multiple ___ can exist within one process, executing concurrently and sharing resources such as memory, while different processes do not share these resources. In particular, the ___ of a process share its executable code and the values of its dynamically allocated variables and non-___-local global variables at any given time.
A thread of execution
A set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies these properties (and these can be perceived as a single logical operation on the data) is called a transaction. For example, a transfer of funds from one bank account to another, even involving multiple changes such as debiting one account and crediting another, is a single transaction.
ACID (Atomicity, Consistency, Isolation, Durability)
Is the act of compiling a higher-level programming language such as C or C++, or an intermediate representation such as Java bytecode or .NET Framework Common Intermediate Language (CIL) code, into a native (system-dependent) machine code so that the resulting binary file can execute natively.
___ produces machine optimized code, just like a standard native compiler. The difference is that ___ transforms the bytecode of an extant virtual machine (VM) into machine code.
Ahead-of-time compilation (AOT compilation)
OSI Host layer, 7th layer
High-level APIs, including resource sharing, remote file access.
Closest to the end user, which means both the OSI ___ layer and the user interact directly with the software ___.
This layer interacts with software ___ that implement a communicating component.
Application layer
___, is a character encoding standard for electronic communication. ___ codes represent text in computers, telecommunications equipment, and other devices. Most modern character-encoding schemes are based on ___, although they support many additional characters.
ASCII (/ˈæskiː/ ASS-kee), abbreviated from American Standard Code for Information Interchange
Any low-level programming language in which there is a very strong correspondence between the instructions in the language and the architecture’s machine code instructions. ___ language may also be called symbolic machine code.
___ code is converted into executable machine code by a utility program. The language usually has one statement per machine instruction (1:1), but comments and statements that are ___ directives, macros, and symbolic labels of program and memory locations are often also supported.
Each ___ language is specific to a particular computer architecture and sometimes to an operating system. However, some ___ languages do not provide specific syntax for operating system calls, and most ___ languages can be used universally with any operating system, as the language provides access to all the real capabilities of the processor, upon which all system call mechanisms ultimately rest. In contrast to ___ languages, most high-level programming languages are generally portable across multiple architectures but require interpreting or compiling, a much more complicated task.
Assembly language (or assembler language), often abbreviated asm
Transactions are often composed of multiple statements. This guarantees that each transaction is treated as a single “unit”, which either succeeds completely, or fails completely: if any of the statements constituting a transaction fails to complete, the entire transaction fails and the database is left unchanged. This system must guarantee ___ in each and every situation, including power failures, errors and crashes.
Atomicity (database systems)
___ is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. It is a member of a family of notations invented by Paul Bachmann, Edmund Landau, and others, collectively called Bachmann-Landau notation or asymptotic notation.
In computer science, ___ is used to classify algorithms according to how their running time or space requirements grow as the input size grows.
___ characterizes functions according to their growth rates: different functions with the same growth rate may be represented using the same ___.
The letter ___ is used because the growth rate of a function is also referred to as the order of the function. A description of a function in terms of ___ usually only provides an upper bound on the growth rate of the function.
Big O notation
In mathematics and digital electronics, a ___ is a number expressed in the base-2 numeral system or ___ numeral system, which uses only two symbols: typically “0” (zero) and “1” (one).
The base-2 numeral system is a positional notation with a radix of 2. Each digit is referred to as a bit. Because of its straightforward implementation in digital electronic circuitry using logic gates, the ___ system is used by almost all modern computers and computer-based devices.
Binary number
In information security and programming, a ___, is an anomaly where a program, while writing data to a buffer, overruns the buffer’s boundary and overwrites adjacent memory locations.
Buffers are areas of memory set aside to hold data, often while moving it from one section of a program to another, or between programs. ___ can often be triggered by malformed inputs; if one assumes all inputs will be smaller than a certain size and the buffer is created to be that size, then an anomalous transaction that produces more data could cause it to write past the end of the buffer. If this overwrites adjacent data or executable code, this may result in erratic program behavior, including memory access errors, incorrect results, and crashes.
Buffer overflow, or buffer overrun
A unit of digital information that most commonly consists of eight bits, representing a binary number.
Historically, this was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit of memory in many computer architectures.
Byte or octet
A ___ is a small-sized datum derived from a block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. It is usually applied to an installation file after it is received from the download server. By themselves, ___ are often used to verify data integrity but are not relied upon to verify data authenticity.
The actual procedure which yields the ___ from a data input is called a ___ function or ___ algorithm. Depending on its design goals, a good ___ algorithm will usually output a significantly different value, even for small changes made to the input. This is especially true of cryptographic hash functions, which may be used to detect many data corruption errors and verify overall data integrity; if the computed ___ for the current data input matches the stored value of a previously computed ___, there is a very high probability the data has not been accidentally altered or corrupted.
Checksum
A ___ on Unix operating systems is an operation that changes the apparent root directory for the current running process and its children. A program that is run in such a modified environment cannot name (and therefore normally cannot access) files outside the designated directory tree. The term ___ may refer to the ___ system call or the ___ wrapper program. The modified environment is called a ___ jail.
chroot
In cryptography, a ___ is an algorithm for performing encryption or decryption—a series of well-defined steps that can be followed as a procedure.
Cipher (or cypher), less common term is encipherment
An interface where the user types a ___ (which is expressed as a sequence of characters — typically a ___ name followed by some parameters) and presses the Return key to execute that ___.
Command line
___ focuses on classifying computational problems according to their inherent difficulty, and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by mechanical application of mathematical steps, such as an algorithm.
A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition, by introducing mathematical models of computation to study these problems and quantifying their computational complexity, i.e., the amount of resources needed to solve them, such as time and storage. Other measures of complexity are also used, such as the amount of communication (used in communication complexity), the number of gates in a circuit (used in circuit complexity) and the number of processors (used in parallel computing). One of the roles of ___ is to determine the practical limits on what computers can and cannot do. The P versus NP problem, one of the seven Millennium Prize Problems, is dedicated to the field of ___.
Computational complexity theory
This ensures that a transaction can only bring the database from one valid state to another, maintaining database invariants: any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. This prevents database corruption by an illegal transaction, but does not guarantee that a transaction is correct.
Consistency (database systems)
Is generally a terminal in the physical sense that is by some definition the primary terminal directly connected to a machine. This appears to the operating system as a (kernel-implemented) terminals. On some systems, such as Linux and FreeBSD, this appears as several terminals (ttys) (special key combinations switch between these terminals); just to confuse matters, the name given to each particular terminal can be “___”, “virtual ___”, “virtual terminal”, and other variations.
Console
In multitasking computer operating systems, a ___ is a computer program that runs as a background process, rather than being under the direct control of an interactive user. Traditionally, the process names of a ___ end with the letter d, for clarification that the process is in fact a ___, and for differentiation between a ___ and a normal computer program.
Daemon (/ˈdiːmən/ or /ˈdeɪmən/)
In computer science, a ___ is a region of a physical memory storage used to temporarily store data while it is being moved from one place to another. Typically, the data is stored in a ___ as it is retrieved from an input device (such as a microphone) or just before it is sent to an output device (such as speakers). However, a ___ may be used when moving data between processes within a computer.
Data buffer (or just buffer)
OSI Media layer, 2nd layer
Reliable transmission of ___ frames between two nodes connected by a physical layer
It defines the protocol to establish and terminate a connection between two physically connected devices.
It also defines the protocol for flow control between them.
Data link layer