In this video you will learn about the various components of an operating system such as file systems & features, file management, services, processes, drivers, utilities, & interfaces.
A file system is a method of organizing and retrieving files from a storage medium (e.g., hard drive). File systems usually consist of files separated into groups called directories. Directories can contain files or additional directories. File systems also differ in their support for data compression and encryption, how permissions are specified, whether journaling is supported, limitations on drive size, and naming rules. Today, the most commonly used file system with Windows is NTFS.
File Systems
With any file system, one of the important factors is cluster size (also known as allocation unit size). The cluster size represents the smallest amount of disk space that can be used to hold a file. For example, if a file occupies 2KB of space in memory, it will actually use a cluster when stored. If the cluster is 4KB, the file uses 4KB when saved to disk. If the cluster size is 16KB, the file uses 16KB when saved to disk.
When files are stored, their location is recorded in the file allocation table or master file table, which acts as a type of index to the contents of the disk. The number of entries allowed in this structure along with the cluster size are used to determine the maximum size of a drive and the total number of files it can store (a directory/folder is considered the same as a file in making this calculation). When a disk drive is set up by an operating system, it can contain one or more volumes. Each volume can be assigned a separate ID (in Windows, a drive letter).
Here are some of the various types of file systems you would need to understand for the IT Fundamentals certification exam.
NTFS
New Technology File System (NTFS) is a file organizational system that stores and accesses information located on Microsoft Windows NT, Windows 2000, Windows XP, Windows 7, & Windows 10. The following are some major features of NTFS:
Current and recent versions of macOS and Linux can read drives that use NTFS. Third-party utilities are available to enable these operating systems to write to NTFS drives. Reading a drive includes tasks such as opening a file and viewing the contents of a drive or directory/folder. Writing to a drive includes tasks such as erasing a drive, formatting a drive (which replaces its file system), saving a file, saving changes to an existing file, and deleting (erasing) a file.
FAT32
File Allocation Table 32-bit (FAT32) is a file system used for storage devices, and file systems are ways of organizing storage on devices such as hard drives, SSDs, memory sticks, microSD cards, etc. FAT32 was the primary file system used for older version of Windows (Windows Me and 9x). It supports drive sizes up to 2TB using its default 32KB cluster size. However, FAT32’s cluster size changes according to the size of the formatted drive. For example, a 4GB drive uses a 4KB cluster size. FAT32 also offers long filename support, enabling users to create filenames longer than the eight characters plus three characters filename rule used with the older FAT32 and FAT16 file systems. FAT32 does not include support for journaling, file compression, encryption (use third-party tools for these features), or permissions. For these reasons, FAT32 is used with USB flash drives or memory cards up to 32GB rather than for system drives. For flash drives and memory cards of 64GB or larger, use the exFAT (extended file allocation table) file system. macOS supports read/write access to FAT32 drives, so you can use a FAT32 drive to exchange data between macOS and Windows computers. In Windows, you can use a drive’s properties sheet to see the file system it uses.
HFS and HFS Plus
A hierarchical file system (HFS) is how drives, folders, and files are displayed on an operating system. In a hierarchical file system, the drives, folders, and files are displayed in groups, which allows the user to see only the files they’re interested in seeing. The HFS file system was developed in 1985 for use with early Macintosh computers. It has a 2TB drive limit, a file size limit of 2GB, and supports long filenames (up to 31 characters are supported by macOS’s Finder on an HFS drive). An HFS drive can only hold up to 65,535 files/folders because it uses 16-bit block addressing. Because of its capacity limitations, HFS was replaced by HFS Plus (HFS+) in 1998. HFS is still supported for read-only access on recent and current macOS operating systems.
HFS Plus is also known as OS X Extended. HFS Plus supports drives up to 8EB (exabytes), and an HFS Plus drive can store as many as 4.2 billion files because it uses 32-bit block addressing. macOS has gradually added features to HFS Plus that are similar to those found in NTFS:
Third-party software is available for Linux and Windows to enable read-write access to HFS Plus files.
Ext4
The ext4 (fourth extended file system) is the current version of a journaling file system for Linux. Ext4 was introduced in 2008 with Linux kernel 2.6.28 and is also used by Android starting with version 2.3. The largest recommended volume size is 16 trillion bytes when using 4KB blocks (allocation units). Sixteen trillion bytes is also the maximum file size. There is no limit on the number of folders (subdirectories) on an ext4 volume.
To determine the file system(s) for drives connected to a Linux system, open a console (Terminal) session and use the command cat/etc/mtab. Entries beginning with /dev are mounted drives.
Compression
Compression is a type of data compression that works by storing compressed versions of files on the hard disk. A disk compression utility sits between the operating system and the disk drive. Whenever the operating system attempts to save a file to a disk, the utility intercepts it and compresses it. Likewise, when the operating system attempts to open a file, the disk compression utility intercepts the file, decompresses it, and then passes it to the operating system. Because all applications access files through the operating system, disk compression utilities work with all applications. The entire process is transparent to the user, though opening and closing files may take a little longer. On the other hand, a disk compression utility can double the amount of disk space available.
Compression in NTFS
In NTFS, you can compress a file with File Explorer/Windows Explorer:
A compressed file has two arrows pointing in opposite directions on the file icon or the file is listed in blue, depending on the version of Windows in use. This type of compression is not compatible with other operating systems.
Compression in HFS Plus
HFS Plus (macOS 10.6 and newer) uses the ditto command line utility with the hfsCompression switch to compress a file:
ditto -hfsCompression OriginalFilename CompressedFilename
Almost, all the system files used in macOS 10.6 and above are compressed. You can use ditto to compress data files. To see information about a file compressed with ditto, download and us afsctool (a third-party utility widely available online).
Creating Archive Files
If you want to compress files for emailing or for easier transporting on a thumb drive, you need to create an archive file. Here’s how to create a ZIP (pkzip) file format with Windows (any file system) from File Explorer/Windows Explorer:
To create an archive (ZIP) file with macOS from Finder:
Linux uses the gzip tool create zip files.
Encryption
File encryption means providing security for files that reside on media in a stored state to prevent unauthorized users from viewing the contents of a file. Encryption is supported in the NTFS, HFS Plus, and ext4 file systems. To encrypt files in FAT32, use a third-party utility.
NTFS Encryption with EFS
NTFS uses the Encrypting File System (EFS) to encrypt files on business versions of Windows. To encrypt a file with NTFS, use the Properties sheet’s Advanced dialog. NTFS indicates encrypted files with a padlock icon (Windows 10) or by highlighting the file in green (Windows 10 and earlier versions). The option to highlight encrypted or compressed NTFS filenames in color is controlled through the Change folder and search options setting in the View menu for File Manager.
If an encrypted file is copied to another drive by the original user, it is decrypted. However, if an encrypted file is on a drive that is taken from the original user’s PC and connected to another system, it cannot be opened. EFS is supported only on Windows operating systems. Encrypted files can only be opened by the original user or by the holder of a recovery key, a special file that is created when you first encrypt a key. If you encrypt files in Windows, be sure to make a copy of the recovery key to a USB flash drive and keep that drive in a safe place.
BitLocker Encryption
BitLocker is a full volume encryption feature included with Microsoft Windows versions starting with Windows Vista. It is designed to protect data by providing encryption for entire volumes. By default, it uses the AES (advanced encryption standard) encryption algorithm in cipher block chaining (CBC) or XTS mode with a 128-bit or 256-key. CBC is not used over the whole disk; it is applied to each individual sector. BitLocker was originally designed to support only the system drive (C:), BitLocker currently supports non-system drives. BitLocker To Go also supports removable drives that use NTFS as well as FAT-based file systems. BitLocker works with either systems that have a trusted platform module (TPM) version 1.2 or greater, or a USB flash drive. BitLocker credentials are used to unlock (unencrypt) a BitLocker drive when necessary. The user’s Microsoft account online is used to store this credential information for safekeeping. A BitLocker To Go reader app is available from Microsoft for Windows XP & Windows Vista. This enables a user of a BitLocker-encrypted flash drive or hard drive to open the drive and use its contents on an older computer.
HFS Plus Encryption with FileVault 2
Starting with macOS 10.7 Lion, HFS Plus includes built-in encryption called FileVault 2. FileVault 2 differs from the original FileVault in OS X 10.3 Panther by encrypting both the user’s directory and the startup volume. Users can also create and then encrypt a disk image using Disk Utility. The recovery key, which enables the encrypted drive to be read when the computer is not working properly, can be stored online.
ext4 Encryption
Encryption with an ext4 file system in Linux requires the user to verify the volume is compatible with encryption, enable encryption, create a folder that can be encrypted, generate an encryption key and store it, assign the encryption policy to the folder, and copy files to the folder.
Permissions
Permissions refers to determining which users can perform operations on a volume prepared with a given file system. Of the file systems covered on the IT Fundamentals exam, FAT32 is the only one that does not support permissions.
NTFS Permissions
Permissions are assigned on a per-user or a per-group basis to a volume, a folder (directory), or a file. To see or change an object’s permissions, right-click the object, select Properties, and click the Security tab. The top of the Security window lists groups and user who have permission to access the object. Select a group or user to list its permissions.
Standard permissions are set as Allow or Deny. They include the following:
If a user or group cannot access a volume, folder, or file, the permissions need to be edited to permit the level of access desired.
HFS Plus Permissions
HFS Plus permissions can be viewed and set in three ways:
To use Finder to view permissions (also called privileges in macOS):
Ext4 Permissions
When you use the ls -l command to view file information, UNIX symbolic notation is used to display permissions.
The notation -rw-rw-r– translates as thus:
When you use the stat -c %a command to view file information, permissions are shown in UNIX numeric notation.
The value 664 (some Linux distributions would display this as 0664) translates as follows:
To change permissions for a file, use the chmod command. This command uses UNIX numeric notation. To change a file from read/write to read-only, use the following command: chmod 444filename.ext.
Journaling
A journaling file system is a file system that keeps track of changes not yet confirmed to the file system’s main part by recording the intention of such changes in a data structure known as a “journal”, which is usually a circular log. In the event of a system crash or power failure, such file systems can be brought back online more quickly with a lower likelihood of becoming corrupted. FAT32 and HFS do not support journaling, but NTFS, HFS Plus, and ext4 all support journaling. Journaling is enabled by default in NTFS, HFS Plus (beginning with OS X 10.3), and ext4.
Limitations
Different file systems have limitations on the size of a volume, the number of files in a volume, and the number of files in a folder (directory).
Naming Rules
Although all the file systems covered support filenames longer than the 8.3 limitations of MS-DOS, there are still differences in the rules that govern how long a filename can be.
FAT32 File Naming Rules
FAT32, because it is based on FAT16, which limited filenames to eight characters plus up to a three-character extension (for example, wordfile.doc), actually uses at least two directory entries for long filenames:
To see both filenames and short filenames (SFNs) with a recent or current version of Windows, open the command prompt (cmd.exe), navigate to a folder, and use the following command:
dir /x
FAT32 & NTFS File Naming Rules
FAT32 & NTFS support path names of up to 255 characters, including the filename. FAT32 and NTFS treat uppercase and lowercase names as identical. Here are some additional points to keep in mind:
NTFS File Naming Rules
NTFS supports both long and short filenames by design, so the OS does not need to generate short filenames.
HFS and HFS Plus File Naming Rules
HFS supports filenames of up to 31 characters. Eight-bit characters except for : (colon) can be used. HFS & HFS Plus store uppercase and lowercase characters as entered, but treats them the same when opening and using files. For example, if a file is stored as Lower.txt, it can be opened by referring to Lower.txt, LOWER.TXT, etc. HFS Plus supports filenames of up to 255 characters and does not have any reserved characters that cannot be used in a filename.
Ext4 File Naming Rules
Ext4 supports case-sensitive filenames. For example, Mark.txt, MARK.txt, and mark.txt are separate files in ext4. Filenames can be up to 255 characters. Allowed characters include A-Z, numbers, periods, and underscores.
File folders (directories), file types and extensions, and permissions are all essential parts of file management.
Folders/Directories
In Windows, macOS, and Linux, you can create, switch to, and delete folders (directories) in two ways:
Windows Folder/Directory Commands
After opening a command prompt, you can use the following commands:
Linux/macOS Folder/Directory Commands
After opening a Terminal session, you can use these commands:
File Types & Extensions
Windows, macOS, and Linux differ in their use of file types and extensions.
Windows File Types & Extensions
Windows is heavily dependent on file extensions (.docx, .pdf, .jpg, etc) to determine how to handle files. A file extension that has been matched up with a file type and a default app to open it with is known as a “registered” file type. By default, File Explorer (Windows 10 version) and Windows Explorer do not display registered file types. Hiding file types as the normal setting causes users who rename files to be less likely to delete or change a file extension. Many email-based attacks use a fake file extension, such as something.txt.exe, to try to compromise a system. With registered file extensions hidden by default, an unwary user might mistake something.txt (with actual .exe hidden) for a harmless text file rather than a potentially hazardous executable file. The same dialogs can also be used to make normally hidden files and folders visible.
Linux File Types & Extensions
Linux recognizes seven different file types:
Unlike Windows, Linux makes little use of extensions. Instead, the file’s MIME (Multipurpose Internet Mail Extensions) information is embedded into the file, and this information is used to enable Linux to choose the correct app to open a file.
macOS File Types & Extensions
macOS uses file extensions when present to help determine how to open a file, but it can also use MIME types for files that have no extension.
Services refer to processes that are launched when a system is started or when a particular task is started. Common services include connecting to wireless networks, setting up a print spooler, power management, and many others.
Viewing & Managing Services in Microsoft Windows
To view running services in Microsoft Windows, open Task Manager and select More Details, then click the Services tab. All available services are listed, and each running service has a process ID number (PID). To change the status of a service, right-click it and select Start, Stop, or Restart. You can also open the Services menu or learn more about the service. Services can also be viewed and managed with the sc command-line program.
The easiest way to manage Windows services is through the Computer Management console’s Services module. Open it by entering Services.msc in the Search (Cortana) window and clicking Services when it appears in the results. It can also be launched from the Windows Administrative Tools folder or from Computer Management. Select a service to stop, start, pause, or manage its settings with Properties.
Viewing & Managing Services in macOS
In macOS, services work much differently than in Windows. Services in macOS are managed through the System Preferences, Keyboard, Shortcuts tab; click Services to see available services. You can assign custom keystrokes to activate a service, and you can enable or disable services. By assigning keystrokes to a service, you can use the service more quickly.
To see which services are available, select a file or text and hold down the control key while clicking.
Viewing & Managing Services in Linux
The init.d folder in Linux is used to store services that will be run at startup and shut down when the system is shut down. To see the contents of init.d (and thus the startup services), use ls /etc/init.d (Debian-based distributions such as Ubuntu) or ls /etc/rc.d/init.d (Red Hat-based distributions such as Fedora).
To list all services, running or not, use service -status-all:
Processes are any programs or services that are running at a particular time. Windows, macOS, and Linux all include utilities to display and manage processes. Be careful about stopping processes. Stopping a vital process could crash your system. The safest way to practice stopping a process is to start a program you’re not using and then stop it.
Viewing & Managing Processes in Microsoft Windows
Microsoft Windows includes the GUI-based Task Manager and the command-line tasklist and taskkill utilities for managing processes. Task Manager can be started from the Cortana Search window, or by pressing the Ctrl+Alt+Del keys and selecting Task Manager. Task Manager starts in simple mode, listing running programs. Click More details to see a multi-tabbed display with processes, performance, app history, startup programs, users, details, and services. To stop a process or app in either mode, right-click it and select End task.
Viewing & Managing Processes in macOS
When you use macOS, the Dock at the bottom of the display shows you the apps that use the macOS GUI. To force a GUI app to stop, press command+option+esc keys and choose to app to stop from the Force Quit Applications dialog. After reviewing running apps, press esc if you don’t want to close one. However, many other processes could be running. Use the Activity Monitor to view them. Activity Monitor can be started from the Applications menu. Activity Monitor is similar to the Windows Task Manager and can be used to stop various processes.
macOS can also use the top and ps Terminal (command-line) utilities, which are also available in Linux, to view processes.
Viewing & Managing Processes in Linux
From the Linux Terminal, use top to see running services for the current user and root user. Press Ctrl+C to stop the display. To see options for filtering and sorting, enter top h.
To see running apps and services, use ps aux. This command lists the user first, followed by PID, and the last two items are the amount of time active and the name of the service or app. To see options for ps, enter ps -help.
To kill (stop) a process, look up the PID with either top or ps, then use kill:
kill pid
A device driver is a computer program that operates or controls a particular type of device that is attached to a computer. For a device driver to work, the following all need to be true:
Obtaining Drivers for Microsoft Windows
Drivers compatible with Microsoft Windows are provided by the hardware vendor. Although Windows includes some drivers for printers and other types of devices, these drivers are often limited in features. For the best support for your hardware, download the latest drivers (preferred) or use the drivers packaged with the device. When downloading drivers for a particular device, be sure to choose a driver that is designed for your version of Windows and processor type (32-bit or 64-bit).
Drivers can be updated through Device Manager. To update drivers, right-click the device, select Properties, click the Driver tab, and click Update Driver. You can search your computer and the internet or browse the computer to locate an updated driver. After the driver is updated, you might need to restart your computer.
Obtaining Drivers for macOS
Apple provides drivers for hardware built into its macOS computers. For third-party devices, download drivers at the vendor’s website. Be sure to verify that your version of macOS and your hardware are compatible with the driver.
Obtaining Drivers for Linux
There are many ways to obtain device drivers for Linux, depending on the distribution you use and your hardware vendor. Some hardware vendors host Linux drivers on their websites. However, many drivers, particularly for printers, are available as Linux packages that are available through a distribution’s package manager. To locate a package that contains a driver in Debian-based distributions such as Ubuntu, open a Terminal session and use this command:
sudo apt-cache search drivername
A utility or software utility is computer system software intended to analyze, configure, monitor, or help maintain a computer. Usually, a utility is smaller than a standard program in size and may be included with an operating system or installed separately.
Windows Utilities
Windows utilities are typically located in one of two places in the Start menu:
Here’s a list of some of the most useful utilities:
macOS Utilities
macOS utilities are located in the Applications-Utilities folder. Some of the most useful utilities include the following:
Linux Utilities
Ubuntu and other distributions that use the GNOME desktop store utilities in the Applications-Utilities folder. Some of the most useful utilities include the following:
Task Scheduling
Task scheduling is one of the most important functions in any operating system. In Microsoft Windows, use Task Scheduler to run an app at startup or when particular events take place.
macOS uses the Automator to run apps, services, folder actions, and other types of activities.
Linux distributions typically run the cron daemon (service) automatically at startup. Cron performs tasks as directed by the crontab file. Crontab is a plain-text file that is edited from a console (Terminal) session to add the commands desired. To start the editing process, use sudo crontab -e. If prompted, choose a text editor.
Windows, macOS, and Linux all support two interfaces: console/command lines and graphical user interface (GUI).
Console/Command Line
Microsoft Windows uses the command line (also known as command prompt) primarily for technical management tasks. To open a command-line session, open cmd.exe. However, to use cmd.exe to make changes to your system, run cmd.exe as administrator.
macOS, like Windows, uses a Terminal session for advanced configuration options not available from the GUI. Most, but not all, macOS Terminal commands are similar to those in Linux (both macOS and Linux are based on UNIX). Some Linux distros boot directly to the Linux console using the Terminal app. Others boot to a GUI such as GNOME. However, Linux uses the console mode for most management operations. To make changes to the Linux environment, most distros require the current user to add sudo at the start of the command, sudo allows a user to run apps that normally require an administrator, and users may be prompted to enter their passwords.
GUI
Windows & macOS boot to their GUI environments as standard. Some Linux distros include a GUI and boot to the GUI. Common Linux GUIs include Plasma Desktop (developed by KDE) and GNOME (developed by the GNU Project).