W1: Linux Introduction Flashcards
- Research: Computing Machines
a machine that can recieve an input, and automatically process it into an ouptput. Like the turing machine.
- Research: Turing Machine
‘the blueprint of modern computing’. Initially just a theoretical idea of a device that, when given a tape of whatever needed length of 1s and 0s, reads the tape and changes the 1s and 0s in accordance with its instructions. the tape of 1s and 0s starts as a question, and when the turing machine is finished with it, becomes the answer.
- Research: Von-Neumann Architechture
computer model designed by John Von-Neumann in 1945.
Input -> Memory -> Output
V> Processor (Control Unit <->Arithmetic Logic Unit)
Input is stored as command in Memory,
Processor fetches the commend from Memory,
Control Unit manages commands and input/output,
ALU handles the actual calculations,
CU stores complete commands in memory,
then output is displayed.
- Research: Operating System
program that allows a user to interact with the computer.
- Research: History of Linux
developed by Linus Torvalds.
started in 1991 as a pet project,
became community open source project
Linux 1.0.0 launched in 1994
- Research: What is Linux?
open source Operating System. Actually even Android is based in Linux
- CPU
The component of a computer system that controls the interpretation and execution of instructions. The CPU of a PC consists of a single microprocessor, while the CPU of a more powerful mainframe consists of multiple processing devices, and in some cases, hundreds of them.
- CPU cache
Store temporary files, using hardware and software components. An example of a hardware cache is a CPU cache. This is a small chunk of memory on the computer’s processor used to store basic computer instructions that were recently used or are frequently used.; that’s why it is faster.
- RAM
Form of computer memory that can be read and changed in any order, typically used to store working data and machine code.
- ROM
EPROM
Read-only memory is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device.
EPROM can be erased when exposed to certian ultraviolets.
Eraseable Programmable, read only memory.
- BIOS
a set of computer instructions in firmware which control input and output operations.
- Bus (address, data, control)
Bus: Circuits on the motherboard that connects the CPU to other components.
Address: single-directional, transports address signals from CPU to main memory
Data: Bi-directional, transports data between components.
Control: bi-directional, sends control signals (clock timings, interrupt requests) between components.
(CPU sends addresses to memory and I/O controller, but memory and I/O controller only respond with data and control signals)
- Hard disk
Data storage device using to read and write data onto a rotating disk coated with magnetic material.
- I/O device
secondary storage, keyboard, mouse, monitors, printers, any external device that could send input or recieve output.
- File system
The way in which files are named and placed logically for storage and retrieval.
- Program
A (passive) set of code and instructions meant to complete a task.
- Process
a running (active) instance of a program.
- USB
Universal Serial Bus
technology used to connect computers with peripheral devices
- Serial Port
a connector by which a device that sends data one bit at a time may be connected to a computer. (monitor port)
- Parallel port
a connector for a device that sends or receives several bits of data simultaneously by using more than one wire.
looks like the wider RS-232
- RS-232
Form of Serial Data transmission, or ‘Serial Connection’. (USB is also serial)
the type of connection.
delivers data as voltage signals.
- (U)EFI
UEFI is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. uses C, BIOS didn’t have C.
actively replacing BIOS
can be improved with the C support. has the option to increase home much disk space it uses.
- Boot Loader
a program that loads an operating system when a computer is turned on.
computer program responsible for booting a computer. When computer turns off, its software—operating systems, application code, and data—remains stored on non-volatile memory.
UEFI and BIOS are boot loaders, sorta.
- GRUB/LILO
GRUB: new boot loader with multi-OS device management. supports Windows, Linux, UNIX, macOS, BSD, and Solaris.
LILO: older boot loader with single OS device management. Only supports Linux.
- ATAPI
Advanced Technology Attatchment Packet Interface
ATA Packet Interface is a protocol that has been added to Parallel ATA and Serial ATA so that a greater variety of devices can be connected to a computer than with the ATA command set alone. It carries SCSI commands and responses through the ATA interface.
connection protocol, for wider variety of device connection, including SATA
- SATA
Serial Advanced Technology Attachment
refers to a type of connector cable that is used to attach components, like hard drives, to a motherboard. A solid-state drive (SSD) is a type of storage drive that allows for very fast read and write speeds. Comparing the drive type with a type of connector cable does not really make sense.
connection protocol for storage devices and others
- Master boot record
The Master Boot Record (MBR) is the information in the first sector of a hard disk or a removable drive.
Identifies how and where the system’s operating system (OS) is located in order to be booted (loaded) into the computer’s main storage or random access memory (RAM).
- Binary / octal / hex
…really?
the 1s and 0s, or rather numerical representation of data written in base 2, to be interpretted as true/falses as machine language.
octal is the base 8 representation of binary, or otherwise just base 8 numerology.
hex is the same but at base 16.
- MTBF
Mean time between failures (MTBF)
The average time between system breakdowns. Crucial maintenance metric to measure performance, safety, and equipment design, especially for critical or complex assets like generators or airplanes.
- Swap file
What is a swap file (swap space or page file)? A swap file is a system file that creates temporary storage space on a solid-state drive or hard disk when the system runs low on memory. The file swaps a section of RAM storage from an idle program and frees up memory for other programs.
A swap file allows Linux to simulate the disk space as RAM. When your system starts running out of RAM, it uses the swap space to and swaps some content of the RAM on to the disk space. This frees up the RAM to serve more important processes. When the RAM is free again, it swaps back the data from the disk.
- Virtual memory
Common technique used in a computer’s operating system. Uses both hardware and software to enable a computer to compensate for physical memory shortages, temporarily transferring data from random access memory (RAM) to disk storage.
- inode
file data structure that stores information about any Linux file except its name and data.
keep track of all the files on a Linux system. Except for the file name and the actual content of the file, inodes save everything else.
- ASCII table
ASCII, in full American Standard Code for Information Interchange, a standard data-encoding format for electronic communication between computers. ASCII assigns standard numeric values to letters, numerals, punctuation marks, and other characters used in computers.
limited to 128
- Unicode
Worldwide character encoding standard.
- wchar
wchar_t: 16-bit wide character used to store Unicode encoded as UTF-16LE. native character type on windows operating systems.
- UTF-7/8
both types of Unicode Transformation Format, the standard used to encode 16-bit Unicode characters such as international letters and special symbols in a format that can be transmitted through 7-bit or 8-bit systems.
- POSIX
What is POSIX in computer?
POSIX (Portable Operating System Interface) is a set of standard operating system interfaces based on the Unix operating system.
family of standards specified by IEEE for maintaining compatibility among operating systems. Therefore, any software that conforms to POSIX standards should be compatible with other operating systems that adhere to the POSIX standards.
- GNU
GNU’s Not Unix
GNU is a Unix-like operating system. That means it is a collection of many programs: applications, libraries, developer tools, even games. The development of GNU, started in January 1984, is known as the GNU Project.
- IP / TCP / UDP
TCP/IP is a stream-oriented protocol, while UDP is a packet-oriented protocol. This means that TCP/IP is considered to be a long stream of data that is transmitted from one end of the connection to the other end, and another long stream of data flowing in the opposite direction.
TCP: fast, but potential packet losses.
IP is safer, slower, but certian to reach the destination.
UDP can be used for every type of application that TCP can, as long as you also implement a proper retransmission mechanism. s
- Kernel
The kernel, or system core, ensures the smooth running of the operating system within a computer and is the interface between the software and the hardware. It is used in all devices with an operating system, for example, computers, laptops, smartphones, smartwatches, etc.
- System call
A system call is a routine that allows a user application to request actions that require special privileges. Adding system calls is one of several ways to extend the functions provided by the kernel.
create, delete, open, close, read, write,
- Waterfall
The waterfall model is a breakdown of project activities into linear sequential phases, meaning they are passed down onto each other
- Scrum
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal. The framework begins with a simple premise: Start with what can be seen or known. After that, track the progress and tweak, as necessary.
- Agile development
Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a “big bang” launch, an agile team delivers work in small, but consumable, increments.
- File system: NTFS
New Technology File System:
Process that the Windows NT operating system uses for storing, organizing, and finding files on a hard disk efficiently. NTFS was first introduced in 1993, as apart of the Windows NT 3.1 release.
- File system: NFS
The Network File System (NFS) is a mechanism for storing files on a network. It is a distributed file system that allows users to access files and directories located on remote computers and treat those files and directories as if they were local.
- File System: FAT-16/32
The FAT32 file system cannot store individual files larger than 4 GB, while the NTFS file system can. Compared to FAT32, the NTFS file system has higher disk utilization and can manage disk space more effectively. The read and write speeds of NTFS are also faster than that of FAT32.
- File System: JFS
Journaled File System (JFS) is a 64-bit journaling file system created by IBM.
The “journaled” aspect of JFS means that the file system keeps tracks of changes to files and folders in a log file (or journal). This log can be used to backtrack certain changes in case of an unexpected power failure or system crash, which may prevent data corruption
- File System: ext4
Fourth extended file system, is a journaling file system for Linux. ext4’s most common use case is formatting volumes, hard drives, and other computing storage solutions. ext4 is the default file system for DigitalOcean Volumes Block Storage due to its stability and backwards compatibility.
Ext4 has better journaling capabilities and a higher maximum supported size of 1 exbibyte, while ExFAT is compatible with both Windows and MacOSX operating systems up to 16 exbibytes in size
- Disk Partition: Primary
Primary partition is a bootable partition and it contains the operating system/s of the computer, while logical partition is a partition that is not bootable. Multiple logical partitions allow storing data in an organized manner
- Disk Partition: Extended
A partition that can be divided into additional logical drives.
- Disk Partition: Logical
A logical partition can be formatted and assigned a drive letter. A logical partition must be created inside an extended partition.
If an extended partition does not already exist on the disk or the specified size of the logical drive exceeds the extended partition, no partition is created
gets past the 4 bootable drives limit. can help divide the disk into different file systems for logical organization.