1Why do you need an OS?
- control interaction between components: memory, hard drives, keyboard, CPU
- common platform for applications
- user interface
2standard OS features
- file management: add, delete, rename
- application support: memory management, swap file management
- input and output support: printers, keyboards, storage drives, USB drives
- OS configuration and management tools
3Microsoft Windows
- major market presence
- Windows 10, 11, Server
- advantages: large industry support, broad selection of OS options, wide variety of software support
- disadvantages: large install base provides a big target for security exploitation, large hardware support can create challenging integration exercises
4Linux
- free Unix-compatible software system, Unix-like but not Unix
- many different distributions: Ubuntu, Debian, Red Hat/Fedora
- advantages: free, works on wide variety of hardware, passionate and active user community
- disadvantages: limited driver support especially with laptops, limited support options
5Apple macOS
- desktop OS running on Apple hardware
- advantages: easy to use, extremely compatible, relatively fewer security concerns
- disadvantages: requires Apple hardware, less industry support than the PC platform, higher initial hardware cost
6chrome OS
- Google's OS, based on the Linux kernel
- centers around chrome web browser, most apps are web-based
- many different manufacturers, relatively less expensive
- relies on the cloud, connect to the internet
7Apple iPadOS
- OS for Apple's iPad tablets, variant of Apple's phone iOS
- tablet features: desktop browser - Safari, second monitor - Sidecar, keyboard support, multitasking
8Apple iOS
- Apple iPhones, based on Unix
- closed-source, no access to source code, exclusive to Apple products
- iOS apps: apps are developed with iOS SDK on macOS, apps must be approved by Apple before release, apps are available to users in the Apple App Store
9Google Android
- Open Handset Alliance, Open-source OS, based on Linux, supported on many different manufacturer's devices
- Android apps: apps are developed on Windows, macOS, and Linux with the Android SDK, apps are available from Google Play, Apps also available from third-party sites (i.e., Amazon Appstore)
10Vendor-specific limitations
- End-of-life, different companies set their own EOL policies
- updating: iOS, Android, and Windows check and prompt for updates, chrome OS will update automatically
- compatibility between OSes: some movies and music can be shared
- almost no direct application compatibility: many apps have been built to run on different OSes, some data files can be moved across systems, web-based apps have potential
11file systems
- before data can be written to the partition it must be formatted, build the foundation
- OSes expect data to be wrttien in a particular format, Fat32 and NTFS are popular
- many OSes can read(and write) multiple file system types: FAT, FAT32, NTFS, exFAT, etc
12FAT
- File Allocation Table, one of the first PC-based file systems (circa 1980)
- FAT32: larger(2TB) volume sizes, maximum file size of 4GB
- exFAT(Extended File Allocation Table): Microsoft flash drive file system, files can be larger than 4GB, compatible across many OS: Windows, Linux, macOS
13NTFS
- New Technology File System or NT File System, extensive improvements over FAT32: quotas file compression, encryption, symbolic links, large file support, security, recoverability
- not very compatible across OSes, many OSes will read NTFS(but not write), some have limited write functionality to an NTFS file system
14other file systems
- ext3: third extended file system, commonly used by the Linux OS
- ext4: fourth extended file system, update to ext3, commonly seen in Linux and Android OS
15APFS
- Apple File System, added to macOS High Sierra(10.12.4), also included with iOS and iPadOS
- optimized for solid-state storage: encryption, snapshots, increased data integrity
16boot methods
- USB storage: USB must be bootable, computer must support booting from USB
- optical media: CD-ROM and DVD-ROM
- PXE(Pixie) Preboot eXecution Environment: perform a remote network installation, computer must support booting with PXE
- SSD/HD: store many OS installation files
- internet based: Linux distributions, macOS recovery installation, Windows updates
- external/hot swappable drive: some external drives can mount an ISO image(optical drive image), boot from USB
- internal hard drive: install and boot from separate drive, create and boot from new partition
17types of installations
- inplace upgrade: maintain existing apps and data
- recovery partition: hidden partition with installation files
- clean install: wipe the slate clean and reinstall, migration tool can help
- image deployment: deploy a clone on every computer, relatively quick, can be completely automated
- repair installation: fix problems with the Windows OS, does not modify user files
- remote network installation: local server or shared drive, install across the internet
- load alternate third party drivers when necessary: disk controller drivers, etc
18the disk partition
- separates the physical drive into logical pieces: useful to keep data separated, multiple partitions are not always necessary
- useful for maintaining separate OSes
- formatted partitions are called volumes, Microsoft's nomenclature
19GPT partition style
- GUID Partition Table, globally unique identifier, latest partition format standard
- requires a UEFI BIOS, can have up to 128 partitions, maximum size is 9 billion TB, Windows max partition is currently 256TB
- no need for extended partitions or logical drives
20MBR partition style
- Master Boot Record: old standby, with all of the old limitations
- maximum partition size of 2TB
- Primary: bootable partitions, maximum of 4 primary partitions per hard disk, one of the primary partitions can be marked as Active
- Extended: used for extending the maximum number of partitions, one extended partition per hard disk(optional), contains additional logical partitions, logical partitions inside an extended partition are not bootable
21disk partitioning
- first step when preparing disks (may already be partitioned), existing partitions may not always be compatible with your new OS
- MBR-style hard disk can have up to four partitions
- GUID partition tables support up to 128 partitions: requires UEFI BIOS or BIOS-compatibility mode, BIOS-compatibility mode disables UEFI SecureBoot
- serious potential for data loss, not an everyday occurrence
22quick format vs. full format
- quick format: create a new file table, looks like data is erased but it isn't, no additional checks
- quick format the default during installation in Windows 10 and 11: use diskpart for a full format
- full format: writes zeros to the whole disk, your data is unrecoverable, checks the disk for bad sectors(time consuming)
23why upgrade?
- upgrade: keep files in place
- install: start over completely fresh
- maintain consistency: customized configurations and multiple local user accounts
- upgrades save hours of time: avoid app reinstall, keep user data intact, keep user settings, get up and running quickly
24upgrade methods
- inplace upgrade: upgrade existing OS, keeps all apps, documents, and settings
- clean install: wipe everything and reload, backup your files, start the setup by booting from the installation media
25prepare the boot drive
- know your drive: is data on the drive? has the drive been formatted? what partitions are on the drive?
- backup any old data, save user preferences
- most partitioning and formatting can be completed during the installation, clear the drive and start fresh
26before the installation
- check minimum OS requirements: recommended requirements, memory, disk space, etc
- run a hardware compatibility check: runs when you perform an upgrade, run manually from the Windows setup screen, Windows 10 upgrade checker, PC health check for Windows 11
- plan for installation questions: drive/partition configuration, license keys, etc
- application and driver compatbility: check with the app developer and hardware manufacturer
27windows product life cycle
- also called the Modern Lifecycle Policy
- quality updates: monthly security updates and bug fixes
- feature updates: annual update with new features, used to occur every 3-5 years
- support is provided after the release: 18 to 36 months, dependent on the Windows version and edition
28file types
- .dmg: Apple Disk Image, mountable as a drive in Finder
- .pkg: installer package, used to distribute software, runs through an installer script
- .app: application bundle, contains the necessary files to use the application, "view package contents" from the finder
29app store
- centralized updates and patches for both OS and apps
- app store application: the "updates" option
- automatic updates, or manual install
- patch management: install and view previous updates
30uninstallation process
- move the .app file to the trash, the .app package contains all of the application files, quick and easy
- some apps include a separate uninstall program, usually included in the app folder
31Apple ID and corporate restrictions
- personal Apple products use a personal Apple ID: associated with personal data and digital purchases
- companies use managed Apple IDs using Apple Business Manager: integrate with Active Directory, connect with an existing MDM, assign and move apps and digital content to selected users
32time machine
- automated backups: included with macOS
- hourly backups: past 24 hours
- daily backups: past month
- weekly backups: all previous months
- starts deleting oldest information when disk is full
33anti-virus
- macOS does not include anti-virus or anti-malware
- many 3rd-party options from the usual companies
- an emerging threat, still doesn't approach windows, its all about the number of desktops
- automate your signature updates, new updates every hour/day
34system preferences
- the macOS version of the Windows control panel, a close comparison
- access to most customization and personalization options, includes important configuration utilities
35displays
- configure the location of multiple displays: side by side, top to bottom
- menu can be moved to any display, doesn't have to be the primary
- modify individual display settings: resolution, brightness, colors
36network
- configure network interfaces: wired, wireless
- IPv4 and IPv6: manual and automatic(DHCP)
- detailed network settings: IP, DNS, 802.1X, etc
37printers and scanners
- add and remove printers and scanners: configure individual settings
- share printers and scanners: configure rights and permissions
- view status: ink and toner levels, scanning status
38privacy
- limit application access to private data: location services, photos, calendars
- control access to cameras and microphones: enable on a per-app basis
- unauthorized apps can't view your private data: malware, other apps
39accessibility
- allow apps to use system input: keyboard, mouse, audio, video
- scripting and automation: requires access for input
- limits 3rd party applications: cant take over the keyboard
40mission control and spaces
- quickly view everything that's running: spread out the desktop into a viewable area, swipe upwards with three fingers or control-up arrow
41keychain
- password management: passwords, notes, certificates, etc (anything private)
- integrated into the OS: keychain access
- passwords and secure notes are encrypted: login password is the key
42spotlight
- find files, apps, images, etc
- similar to Windows search
- magnifying glass in upper right, or press command-space
- define search categories in system preferences/spotlight, enable/disable categories
43iCloud
- integrates Apple technologies: macOS, iOS, iPadOS
- share across systems: calendars, photos, documents, contacts, etc
- backup iOS devices: never lose data again
- store files in an iCloud drive: similar to Google Drive, Dropbox, integrated into the OSes
44gestures
- you can do more than just point and click: extend the capabilities of your trackpad
- use one, two, three fingers, swipe, pinch, click
- customization: enable/disable, system preferences/trackpad
45finder
- central OS file manager, compare with File Explorer
- file management: launch, delete, rename, etc
- integrated access to other devices: file servers, remote storage, screen sharing
46remote disc
- use an optical drive from another computer: designed for copying files, will not work with audio CDs or video DVDs
- set up sharing in system preferences: sharing options, appears in the finder
47dock
- fast access to apps: quickly launch programs
- view running applications: dot underneath the icon
- keep folders in the dock: easy access to files
- move to different sides of the screen: auto hide or always display
48disk utility
- manage disks and images, resolve issues
- file system utilities: verify and repair file systems, modify partition details, erase disks
- create, convert, and restore images: manage disk images
49FileVault
- FDE(Full Disk Encryption) for macOS, decryption uses a local key or iCloud authentication
- proper authentication is required before macOS can start, data is unavailable to others
- available in system preferences: Security & Privacy >> FileVault
50terminal
- command line access to the OS: manage the OS without a graphical interface
- OS access: run scripts, manage files, configure OS and application settings
51force quit
- stop an application from executing, some applications are badly written
- command-option-escape: list application to quit
- hold the option key when right-clicking the app icon in the dock: choose force quit
52linux commands
- the command line: terminal, XTerm, or similar
- commands are similar in both Linux and macOS: Mac OS derived from BSD(Berkeley Software Distribution) Unix
- download a live CD or install a VM, many pre-made Linux distributions are available
- use the "man" command for help: an online manual, " > man grep"
53ls
- list directory contents, similar to the "dir" command in Windows
- lists files and directories: may support color coding; blue is a directory, red is an archive file, etc
- for long output, pipe through more: "> ls -l | more" (use q or Ctrl-c to exit)
54pwd
- Print Working Directory: displays the current working directory path, useful when changing directories often
55mv
- move a file, rename a file
- mv SOURCE DEST, "mv first.txt second.txt"
56cp
- copy a file: duplicate files or directories
- cp SOURCE DEST, "cp second.txt third.txt"
57rm
- remove files or directories: deletes the files
- does not remove directories by default: directories must be empty to be removed or must be removed with "-r"
58chmod
- change mode of a file system object: r=read, w=write, x=execute, can also use octal notation, set for the file owner(u), the group(g), others(o), or all(a)
- chmod mode FILE " > chmod 744 script.sh"
- "-rwxr--r--", |-|user|group|others| permissions
- "chmod a-w first.txt", all users, eliminate writing permission to first.txt
- "chmod u+x script.sh", owner of script.sh can execute the file
59chown
- change file owner and group, modify file settings
- sudo chown [OWNER:GROUP] file "> sudo chown professor script.sh", changes owner of script.sh to professor
60su/sudo
- some command require elevated rights: there are some things normal users can't do
- "sudo", execute a command as the superuser or as a different user ID, the specified command executes as the super user
- "su", become super user or change to a different user, you continue to be that user until you "exit"
61apt-get
- Advanced Packaging Tool: handles the management of application packages, applications and utilities
- install, update, remove: "> sudo apt-get install wireshark", install wireshark package
62yum
- Yellowdog Updater, Modified(yum): install, delete, update
- manages RPM packages: Red Hat Package Manager, RPM Package Manager
- a Linux distribution will commonly use either "yum" or "apt-get"
63ip
- manage the network interfaces: enable, disable, configure addresses, manage routes, ARP cache, etc
- "ip address", view interface addresses
- "ip route", view IP routing table
- "sudo ip address add 192.168.121.241/24 dev eth0", configure the IP address of an interface
64df
- Disk Free: view file systems and free space
- "df", view number of blocks
- "df -h", view human-readable sizes
65grep
- find text in a file, search through many files at a time
- grep PATTERN [FILE], "> grep failed auth.log", search for "failed" text
66ps
- view the current processes and the process ID(PID), similar to the Windows task manager
- view user processes: "ps"
- view all processes: "ps -e | more"
67top
- view CPU, RAM, and resource utilizations: the "task manager" for Linux
- process information, easy to find the highly utilized applications
- summary of overall load: one, five, and fifteen minute intervals
- many different options: check the man page for startup options and keys
- "q" to quit
68find
- find a file by name or extension, search through any or all directories
- find files with a specific extension: "> find . -name "*.txt"", find names of files in current directory with ".txt"
69dig
- lookup information from DNS servers: canonical names, IP addresses, cache timers, etc
- Domain Information Groper: detailed domain information, add dig to Windows: "http://www.isc.org/downloadsind/"
70cat
- concatenate: link together in a series
- copy a file/files to the screen: "> cat file1.txt file2.txt"
- copy a file/files to another file: "> cat file1.txt file2.txt > both.txt", creates a new file combining the two
71nano
- full-screen text editor: easy to edit
- included with many Linux distributions: easy to install
- select, mark, copy/cut and paste text: similar features to graphical-based editors
72backups
- many options: command line and graphical, may be included with the distribution
- "tar": Tape Archive, easy to script into a backup schedule
- "rsync": sync files between storage devices, instant synchronization or scheduled
- command line tools: "apt-get", "yum"
- graphical update managers: software updater
- patch management: updates can be scheduled
- software center: the Linux "app store"
73anti-virus/anti-malware
- relatively few viruses and malware for Linux, still important to keep updated
- Clam Antivirus: open source antivirus engine
- same best practice as any other OS: always update signature database, always use real-time scanning
74Shell/Terminal
- command line access to the OS, common to manage in Linux
- OS maintenance: run scripts, manage files, configure OS and application settings
75Samba
- add SMB(Server Message Block) to Linux: file and print sharing, active directory integration
- integrate Linux into a Windows environment: Linux becomes a Windows file server