1/100
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Operating System (OS)
A type of software that manages computer hardware resources and provides common services for computer programs
Device Management
The OS manages all devices connected to a computer (printers, scanners, external hard drives)
Memory Management
The OS manages the memory of a computer, it ensures each program gets the necessary memory to run correctly
Process Management
The OS manages all the processes running on a computer, it ensures each process gets the necessary resources and allows multiple programs to be in memory and run at the same time
Security
The OS provides safety features to protect from viruses/malware
User Interface (UI)
The OS provides a user interface that allows us to interact with the computer and run apps
Kernel Mode
The processor mode that enables software to have full and unrestricted access to the system and its resources
Machine Level
Contains: An instruction set, memory organization (to store data), Input/Output, and a bus structure
Bus Structure
A communication system that transfers data between components inside a computer (or between computers)
Internal Bus
Connects computer internals to the motherboard
Parallel Bus Structure
Multiple bits of data are transmitted simultaneously over multiple channels
Serial Bus Structure
Data is transmitted one bit at a time over a single channel (USB = universal serial bus)
Device Driver
A group of files that enable one or more hardware devices to communicate with the computer’s OS
Resources Managed by OS
Processors, memory, timers, disks, mice, network interfaces
Mainframe OS
Designed to run on large, centralized computers that handle high volumes of data processing and storage
Server OS
Specialized computers that operate within a client/server architecture to serve the requests of client computers on the network
Multiprocessor OS
Used to boost the performance of multiple CPUs within a single computer system
Personal Computer OS
Provide a good interface for a single user, used for word processing, spreadsheets, and internet access
Handheld (Mobile) OS
Designed to run on mobile devices (touchscreens, mobile apps, wireless connectivity)
Embedded OS
Designed to run on embedded systems such as consumer electronics, industrial machines, and automobiles (low power consumption and small memory footprint)
Sensor Node OS
Run on small devices that can sense and transmit data wirelessly (low power consumption, real time processing, wireless connectivity)
Real Time OS
Designed to handle real time applications that require immediate response to external events
Smart Card OS
Run on small plastic cards with embedded sensor microchips, provide secure storage and cryptographic functions
Edit Time
Phase in which source code of a program is written, modified, or reviewed by a programmer
Compile Time
Phase in which source code of a program is translated into machine-readable code by a compiler (object code)
Link Time
Phase in which the object code is linked with other object files and libraries to create an executable file or a shared library
Distribution Time
Phase in which the executable file/shared library is packaged and distributed to end-users or customers (i.e. downloads, media, etc.)
Installation Time
Phase in which the end-user installs the software in their computer
Load Time
Phase in which the OS loads the executable file/shared library into memory and prepares it for execution
Run Time
Phase in which the program is executed by the computer
Thread
A sequence of instructions that can be executed independently by a computer’s CPU
Multithreading
Allows multiple threads of execution to run concurrently on a single CPU
Threadpool
Collection of worker threads that are maintained by the OS and are waiting for tasks to be allocated for concurrent execution by the program
Locking
Mechanism that enforces limits on access to a shared resource when there are many threads, used to ensure that only one thread can access a shared resource at a time
Kernel
The main layer between an OS and the underlying computer hardware, processes memory management, file systems, device control, and network
Scheduler
Component of an OS that manages the allocation of resources and the execution of tasks, ensures each task gets its fair share of resources
Vim
Mode based text editor → You need to enter INSERT mode before you can write text to the file
Nano
Modeless text editor → What you see is what you get command line text editor
ls
List and directories in the current directory
cat
Joins and displays file
touch
Creates an empty file or updates the timestamp of an existing file
mkdir
Creates a new directory
rmdir
Deletes an empty directory
grep
Searches for a pattern in a file or input
traceroute
Traces the route taken by packets over an IP network
ping
Tests the reachability of a host on an IP network
chown
Changes the owner of a file or directory
chmod
Changes the permissions of a file or directory
alias
Creates an alias for a command or sequence of commands
pwd
Prints the current working directory
cd
Changes the current working directory
cp
Copies files and directories from one location to another
rm
Removes files and directories
mv
Moves or renames files and directories
sudo
Executes a command with elevated privileges
echo
Prints text to the terminal or redirects it to a file
vim
A text editor that allows users to create, edit, and view files (V)
nano
A text editor that allows users to create, edit, and view files (N)
which
Displays the location of an executable file in the user’s PATH environment variable
tail
Displays the last few lines of a file or input stream
head
Displays the first few lines of a file or input stream
wc
Counts the number of lines, words, and characters in a file or input stream
find
Searches for files and directories that match specified criteria in a given location
wget
Downloads files from the internet
Race Conditions
When two or more processes are reading/writing some shared data and the final result depends on who runs precisely when
Critical Region
The resource that is being shared between processes
Semaphore
An integer variable that is shared between threads, used to solve the critical section problem and to achieve process synchronization
Binary Semaphore (Mutex)
Can only have two values (0 or 1) and it’s initialized to 1
Counting Semaphore
Its value can range over an unrestricted domain
Beautiful Soup Library
Python library used for pulling data out of HTML and XML files (navigates, searches, and modifies)
/bin
Contains binary executable files
/sbin
Contains binary executable files, used by the system administrator for system maintenance
/etc
Contains configuration files required by all programs and startup/shutdown shell scripts used to start/stop individual programs
/dev
Contains device files
/proc
Contains info about system process
Pseudo File System
Contains info about running processes
Virtual File Systems
Contains info about system resources
/var
Contains variable files
/temp
Directory that contains temporary files created by the system/users
/src
Contains binaries, libraries, documentation, and source code for second level programs
/home
Home directories for all users to store their personal files
/boot
Contains boot loader related files
/lib
Contains library files that support the binaries located under /bin and /sbin
/opt
Contains add on applications from individual vendors
/mnt
Temporary mount directory where sysadmins can mount file systems
/media
Temporary mount directory for removable devices
/srv
Contains server specific services related data
Daemon
Utility programs that run silently in the background to monitor and take care of certain subsystems
Interactive Processes
Run by a user at the command line
Batch Processes
Not associated with the command line and are presented from a list of processes (groups of tasks)
User
The owner of the file (creator by default)
Group
Contains multiple users that have the same permissions access to a file
Other
Any other user who has access to the file
File Permissions
Read (R), write (W), execute (X)
Primary/Log in Group
The group that is assigned to the files that are created by the user
Secondary/Supplementary Group
Used to grant certain privileges to a set of users
Pipe Command
Helps combine two or more commands and are used as input/output concepts in a command (Symbol = |)
Redirecting to a File
When we wish the program’s output to be saved in a file instead of printed to the screen (Symbol = >)
Secure Shell Protocol (SSH)
Cryptographic network protocol for operating network services securely over an unsecured network (client-server architecture)
Function Driver
The one driver in the stack that communicates directly with the device