Operating System Flashcards
operating system
the whole package that manages computer’s resources and allows user to interact with it
what are the 2 main parts of an OS?
the kernel and the user space
kernel
the main core of an OS. talks directly to hardware and manages system resources. users don’t interact with it directly.
user space
everything outside of the kernel
what are the 4 main things the kernel does?
process management, memory management, file management, and I/O management.
computer file
data stored and can be anything (word doc, picture, song, bit)
file system
how files are managed. files organized in folders/directories so easier to find. there are lots of different types.
process management
how computer handles processes (order they run in, how many resources they take up, how long they run, etc..)
process scheduler
part of kernel that makes multitasking possible. switches execution of different processes on CPU so fast it gives the illusion that they’re happening simultaneously.
memory usage
optimizes memory and ensures applications have enough memory to run
I/O (input/output) management
how kernel talks to external devices like disks, keyboards, networks, connections, audio devices, hard disk drives. anything that can give input or can use for output of data. (saving file to disk, clicking mouse, using mic to videochat)
examples of user space
programs like text editors, music players, system settings, user interfaces
what are the 3 main components of handling files on an OS?
the file data, the metadata, and the file system
NTFS
Windows filing system that includes encryption, faster access speeds.
ReFS+
file system that Windows is currently developing for future consumer use
HFS+
MacOS’s file system. It’s journaled which means it does a better job at saving your disk state for file failure.
ext4
one of the different types of Linux filing systems that different distributions use.
data blocks
how data is written onto hard drive so that it’s accessed quicker and better utilizes storage space (b/c it’s not store on one long piece).
metadata
everything you need to know about the file and what type of file it is. includes: file owner, permissions, file size, date modified, date created, and file type.
file extension
the appended part of a file name that tells what type of file it is on certain OSs. (i.e. jpeg- picture file)
process
the part of a program that’s executing, like an internet browser or text editor. can have many processes running for same program.
program
an application that can be run.
time slice
an extremely short interval of time (milliseconds) that gets allocated to a process for CPU execution.
examples of factors that could contribute to computer running slowly and CPU resources being maxed out r/t process management:
1 process taking up more time slices than should so next process isn’t being executed.
too many processes want CPU time and CPU can’t keep up.
main process management tasks
creates process, efficiently schedules them, and manages how they’re terminated so resources can be reallocated.
memory management
addresses the limitations of having smaller quantities of memory than space on a hard drive by taking pages of data and swapping them between RAM and virtual memory.
virtual memory
a combination of hard drive space and RAM that acts like memory that processes can use. stores pages that aren’t being used by the system.
pages
chunks of data taken from a program and executed in RAM.
swap space
the allocated space on the hard drive where virtual memories are stored
I/O devices
devices that perform input and output. monitors, keyboards, mice, hard disk drives, speakers, Bluetooth headsets, webcams, network adapters
components of kernel I/O management
loads and starts drivers to enable communication with hardware
manages transfer of data in and out of devices (between user and device and between devices)
tries to ensure that data doesn’t have errors during process
user space
how humans interact with the OS by for examples creating files and folders, opening apps, and deleting items.
what are the 2 ways to interact with an OS?
graphical interface (GUI) and shell
CLIA
command line interface- text commands used in shells
shell
a program that interprets text commands and sends them to the OS to execute
BASH/Bourne Again Shell
most common shell in Linux
PowerShell
most common shell in Windows
logs
files that record system events (like when turned on, when driver loaded, an error message when something doesn’t work) on computer
BIOS/UEFI
a low-level software that initializes computer’s software to make sure everything’s good to go
bootloader
a small program that loads the OS
the boot process
- computer powered on 2. BIOS/UEFI a. runs POST to figure what hardware is on computer and ensure it’s all running correctly, b. loads essential drivers, c. looks in a certain configured order for boot device that contains bootloader, d. executes bootloader 4. kernel loaded 5. essential system processes and user space items launched.
file data
the storage of the actual data in a file