Google Technical Support Fundamentals, Week 3
order of booting process
1. BIOS/UEFI, low-level software that initializes our computer's hardware to make sure everything is good to go 2. POST, power on self test; performs a series of diagnostic tests to make sure that the computer is in proper working order 3. boot device is selected using a bootloader (small program that loads the operating system) 4. once computer finds boot device, start to execute this program 5. This will then start to load a larger and more complex program and eventually loads our operating system 6. kernel gets loaded 7. essential system processes and user space items are launched.
HFS+
A file system used by the Mac OS; journaled, which means it does a better job at saving your disk state in case of a failure
user space
As users, we don't interact with the kernel directly. Instead, we interact with the second part of an operating system the, user space; basically made up of everything outside the kernel; things that we interact with directly like programs, such as text editors, music players, system settings, user interfaces, etcetera
BASH
Born again shell; most common shell
NTFS
New Technology File System; introduced in the previous version of Windows OS, Windows NT; includes many features, like encryption, faster access speeds, security, and more
plink
PuTTY Link, which is built into the command line after PuTTY is installed. You can use Plink to make remote SSH connections too
RDP
Remote Desktop Protocol; another way to connect to other Windows computers; also RDP clients for Linux and OS X too like real VNC and Microsoft RDP on Mac; RDP provides users with a graphical user interface to remote computers provided the remote computer has enabled incoming RDP connections
mstsc.exe
Remote Desktop; client program called the Microsoft terminal services client; used to create RDP connections to remote computers
SSH Authentication key
SSH keys come in a set of two keys called private and public keys. You can think of them as actual physical keys to a special safe. You can use one key to lock the safe, but it won't unlock it. The other key can then only unlock the safe, but not lock it; You can lock something with the public key, but you can only unlock it with a private key and vice versa
SSH
Secure Shell is a network protocol for secure transfer of data between computers; protocol implemented by other programs to securely access one computer from another; a type of remote connection; to use SSH, you need to have an SSH client installed on the computer you're connecting from along with an SSH server on the computer you're trying to connect to; On the remote machine, the SSH server is running as a background process. It constantly checks if a client is trying to connect to it, then will authenticate its requests
virtual machine (VM)
Software that simulates the hardware of a physical computer, creating one or more logical machines within one physical machine; a copy of a real machine; use physical resources like memory, CPU and storage, but they offer the added benefit of running multiple operating systems at once
Process Management
The act of keeping track of information for active processes;
ext4
The current Linux file system, which replaced the ext3 file system. Stands for "fourth extended file system."
swap space
The space on the disk reserved for the full virtual memory space of a process; When we store our virtual memory on our hard drive, we call the allocated space swap space
Graphical User Interface (GUI)
Type of user interface that allows a user to interact with software using text, graphics, and visual images, such as icons; visual way to interact with a computer with the mouse to click and drag, etc.
VPN
Virtual Private Network; Allows a secure private connection over a public network, using an encrypted 'tunnel'. For example, a remote computer can securely connect to a LAN, as though it were physically connected; more sophisticated SSH with a lot more setup
Data blocks
When we save something to our hard disks, it doesn't always sit in one piece. It can be broken down into many pieces and written to different parts of the disk. Block storage improves faster handling of data because the data isn't stored on one long piece and it can be accessed quicker. It's also better for utilizing storage space
four main OSs
Windows, Linux, Mac, and Chrome
process
a program that's executing, like our internet browser or text editor
power user
above average computer users
program
an application that we can run, like Chrome
virtual memory
combination of hard drive space and RAM that acts like memory that our processes can use; When we execute a process, we take the data of the program in chunks we call pages. We store these pages in virtual memory.
Chrome OS
created to be a secure and simple way for the user to interact with the web; can also run Android and Linux applications inside containers; Chrome OS machines come pre-installed with the operating system. So, there's nothing for us to install; Chrome OS machines are interchangeable because most data is stored in the cloud, not locally
Metadata
data that describes other data; contains the information about our file; who created it, when it was last modified, who has access to it, and so on
Windows OS
developed by Microsoft and used widely in the business and consumer space. Most PCs you buy come with windows as the default operating system
three main components to handling files on an OS
file data, metadata, and file system
logs
files that record system events on our computer; Just like a systems diary our computer will record events like when it was turned on, when a driver was loaded and even when something isn't working in the form of error messages; logs are kept so we can refer back to them when we need to find out something that happened; logs can be hard to navigate because our computer will essentially record everything
user space
how humans interact with an OS
I/O Management
how our kernel talks to external devices like disks, keyboards, networks, connections, audio devices, and more. I/O management is anything that can give us input or that we can use for output of data
I/O devices
include our monitors, keyboards, mice, hard disk drives, speakers, bluetooth headsets, webcams, and network adapters; all managed by our kernel, the kernel needs to be able to load up drivers that are used, so that we can recognize and speak to these different types of hardware
I/O
input/output
PowerShell
is Microsoft's task automation framework, consisting of a command-line shell and associated scripting language built on top of, and integrated with, the .NET Framework
kernel
main core of an operating system. It talks directly to our hardware and manages our systems resources; file storage in file management; compare it to a physical office file where we store data in paper form; Another important function of the kernel is process management; optimizes memory usage and make sure our applications have enough memory to run; I/O Management; has to manage our resources efficiently;
Mac OS
mainly used in the consumer space. If you buy an Apple computer, it'll come with Mac OS preloaded
Ubuntu
most popular consumer distribution of Linux
OpenSSH
most popular program to use SSH within Linux; A series of secure programs developed by the OpenBSD organization to fix SSH's limitation of only being able to handle one session per tunnel
Linux OS
open source operating system, which means its software is free to share, modify, and distribute. Linux is used heavily in business infrastructure and in the consumer space; has become a huge community effort with developers all over the world contributing to its success; lots of different organizations package their own version of it; common Linux distributions are Ubuntu, Debian, and Red Hat; Chrome OS and Android OS both run the Linux kernel
PuTTY
popular Open Source program; how to use SSH from a Windows machine; free, open source software that you can use to make remote connections through several network protocols including SSH; can visit PuTTY website to download the entire software package with a Microsoft installer
Process Scheduler
selects an available process for program execution on the CPU; switches the execution of each different process on the CPU faster than you can blink, and it gives you the illusion that things are happening simultaneously
two ways to interact with the user space
shell and graphical user interface
boot
starting up a computer from scratch, or pulling one's self up by one's bootstraps; to start from nothing and follow a series of steps to arrive at a fully operational system; For most operating systems, the boot process follows a general pattern
two main parts of an operating system
the kernel and the user space
shell
using code to interact with OS; command line interface or CLIA shell; a program that interprets text commands and sends them to the OS to execute; Before we had fancy visual interfaces, commands like create a file had to be typed out. While we have GUIs today, the shell is still commonly used to run commands, especially by power users; Linux especially, it's essential that you actually know commands, not just a GUI. This is because most of the Linux machines you interact with in IT support, will be accessed remotely. Most of the time, you won't be given a GUI.
remote connection
when one computer connects to another from a distance; helpful in tech support to solve problems
operating system
whole package that manages our computers resources and lets us interact with it; OS