Mobile, Linux, and OSX Operating Systems PDF
Document Details
Uploaded by ExtraordinaryMars
Anoka-Ramsey Community College
Tags
Summary
This document discusses mobile, Linux, and OSX operating systems, covering components, functions, terminology related to them and their differences. It also deals with security features and troubleshooting.
Full Transcript
Mobile, Linux, and OSX Operating Systems The use of mobile devices has grown very rapidly. IT technicians and professionals must be familiar with the operating systems on these devices. Like desktops and laptops, mobile devices also use operating systems to interface with the hardware and to run so...
Mobile, Linux, and OSX Operating Systems The use of mobile devices has grown very rapidly. IT technicians and professionals must be familiar with the operating systems on these devices. Like desktops and laptops, mobile devices also use operating systems to interface with the hardware and to run software. The two most commonly used mobile operating systems are Android and iOS. There are also desktop operating systems other than Windows, the two most popular being Linux and macOS. In this chapter, you will learn about the components, functions, and terminology related to mobile, Linux, and macOS operating systems. First you will learn about the differences between the Android and iOS mobile operating systems, Linux being open source and customizable, and iOS being proprietary to Apple and closed source. You will also learn about common mobile device features like screen orientation, screen calibration, Wi-Fi calling, virtual assistants, and GPS. You will work with both the Android and iOS operating systems as part of lab exercises. The portable nature of mobile devices makes them at risk for theft and loss. You will learn about mobile security features such as screen lock, biometric authentication, remote lock, remote wipe, and patching and upgrading. You also learned that mobile OSs can be configured to disable access if too many failed login attempts are made. This can prevent someone from trying to guess a passcode. Most mobile devices also have a remote lock and remote wipe feature that can be activated if the device is stolen. You will perform a lab exercise securing a mobile device using passcode locks. Finally, you will learn the six steps in the troubleshooting process as they are applied to mobile, Linux, and macOS operating systems. Open Source vs. Closed Source Like desktops and laptops, mobile devices use an operating system (OS) to run software. This chapter focuses on the two most commonly used mobile operating systems: Android and iOS. Android is developed by Google, and iOS is developed by Apple. Before users can analyze and modify software, they must be able to see the source code. Source code is the sequence of instructions that is written in human readable language, before it is turned into machine language (zeroes and ones). The source code is an important component of free software as it allows the users to analyze and eventually modify the code. When the developer chooses to provide the source code, the software is said to be open source. If the program's source code is not published, the software is said to be closed source. **Android GUI** Android is an open source, Linux based smartphone/tablet operating system developed by the Open Handset Alliance, primarily driven by Google. Released in 2008 on the HTC Dream, the Android OS has been customized for use on a wide range of electronic devices. Because Android is open and customizable, programmers can use it to operate devices like laptops, smart TVs, and e-book readers. There have even been Android installations in devices like cameras, navigation systems, and portable media players. **iOS GUI** iOS is a closed source Unix based operating system for Apple's iPhone smartphone and iPad tablet. Released in 2007 on the first iPhone, the Apple iOS source code was not released to the public. To copy, modify or redistribute iOS requires permission from Apple. The figure shows iOS running on an iPhone. **Windows 10 Mobile** iOS is not the only closed source OS for mobile devices. Microsoft also created a version of Windows for their mobile devices. This includes Windows CE, Windows Phone 7, shown in the figure, and Windows Phone 8. With the development of Windows 10 Mobile, Microsoft provides a very similar user interface and use of code an all of their devices. This includes their Windows 10 Mobile phones and tablets they develop under the name Surface. Applications and Content Sources Apps are the programs that are executed on mobile devices. Apps are written and compiled for a specific mobile operating system such as Apple iOS, Android, or Windows. Mobile devices come with a number of different apps preinstalled to provide basic functionality. There are apps to make phone calls, send and receive email, listen to music, take pictures, and play video or video games. Apps are used on mobile devices the same way that programs are used on computers. Instead of being installed from an optical disk, apps are downloaded from a content source. Some apps can be downloaded for free, and others must be purchased. **iOS Apps** Apps for Apple iOS mobile devices are available for free or purchase from the App Store. Apple uses a walled garden model for their apps meaning the apps must be submitted to and approved by Apple before they are released to users. This helps prevent the spread of malware and malicious code. Third-party developers can create apps for iOS devices by using Apple's Software Development Kit (SDK) Xcode and the Swift programming language. Note that Xcode can only be installed on computers running OS X. **Android Apps** Android apps are available from both Google PlayTM and third-party sites, such as Amazon's App store. Android Studio, a Java-based SDK, is available on Linux, Windows, and OS X. Android apps run in a sandbox and have only the privileges enabled by the user. A prompt will appear if an app needs to obtain permissions. Permissions are granted via the app's Settings page.\ Third-party or custom programs are installed directly using an Android Application Package (apk) file. This gives users the ability to directly install apps without going through the storefront interface. This is known as sideloading. Click each image below for more information on apps. Automobile Apps Many new cars have navigation built in them. Some also have what are known as in-vehicle entertainment systems. A growing trend is to use many of the apps on your mobile device through this entertainment system. Your tablet or smartphone is connected to the system via USB or Bluetooth to enable what is known as Android Auto or Apple CarPlay. Navigation is one of the most common uses for this connection. You can also access the music that is on your mobile device and play it over the car stereo. Other features include talk-to-text, hands-free calling, access to digital assistants, and also display the contents of your calendar. Restrictions on Failed Login Attempts When a passcode has been properly implemented unlocking a mobile device requires entering the correct PIN, password, pattern, or another passcode type. In theory, a passcode, such as a PIN, could be guessed given enough time and perseverance. To prevent someone from trying to guess a passcode, mobile devices can be set to perform defined actions after a certain number of incorrect attempts have been made. For Android devices, the number of failed attempts before lockout depends on the device and version of Android OS. It is common that an Android device will lock when a passcode has failed from 4 to 12 times. After a device is locked, you can unlock it by entering the Gmail account information used to set up the device. **IOS Erase Data** For iOS devices, you can turn on the Erase data option as shown. If the passcode fails 10 times, the screen goes black, and all data on the device is deleted. To restore the iOS device and data, if you have backups, use either the Restore and Backup option in iTunes or the Manage Storage option in iCloud. **iOS GUI** On iOS, to increase security, the passcode is used as part of the encryption key for the entire system. Because the passcode is not stored anywhere, no one can gain access to the user data on iOS devices, including Apple. The system depends on the user to provide the passcode before the system can be unlocked and decrypted for use. A forgotten passcode will render user data unreachable, forcing the user to perform a full restore from a backup saved in iTunes or iCloud. Remote Backup Mobile device data can be lost due to device failures or the loss or theft of the device. Data must be backed up periodically to ensure that it can be recovered if needed. With mobile devices, storage is often limited and not removable. To overcome these limitations, remote backups can be performed. A remote backup is when a device copies its data to cloud storage using a backup app. If data needs to be restored, run the backup app and access the website to retrieve the data. Most mobile operating systems come with a user account linked to the vendor's cloud services, such as iCloud for iOS, Google Sync for Android, and OneDrive for Microsoft. The user can enable automatic backups to the cloud for data, apps, and settings. There are also third-party backup providers, such as Dropbox, that can be used. Mobile devices can also be backed up to a PC. iOS supports backups on iTunes running on a PC. Another option is to configure Mobile Device Management (MDM) software to automatically backup user devices. If a mobile device is misplaced or stolen, it is possible to find it using a locator app. A locator app should be installed and configured on each mobile device before it is lost. Both Android and iOS have apps for remotely locating a device. Similar to Apple's Find My iPhone, Google Find My Device allows a user to locate, ring, or lock a lost Android device, or to erase data from the device. To manage a lost device, the user must visit Google Find My Device hosted at https://www.google.com/android/find and log in with the Google account used on the Android device. Google Find My Device is included and enabled by default on Android 5.x and can be found under **Settings \> Biometrics Security \> Find My Mobile**. iOS users can use the Find My iPhone app, as shown in the figure. The first step is to install the app, start it, and follow the instructions to configure the software. The Find My iPhone app can be installed on different iOS devices to locate the lost device. **Note**: If the app is unable to locate the lost device, the device might be turned off or disconnected. The device must be connected to a cellular or wireless network to receive commands from the app, or to send location information to the user. After the device is located, you might be able to perform additional functions, such as sending a message or playing a sound. These options are useful if you have misplaced your device. If the device is close by, playing a sound indicates exactly where it is. If the device is at another location, sending a message to display on the screen allows someone to contact you if it has been found. Remote Lock and Remote Wipe If attempts to locate a mobile device have failed, there are other security features that can prevent data on the device from being compromised. Usually, the same apps that perform remote location have security features. Two of the most common remote security features are remote lock and remote wipe.\ \ **Note:** For these remote security measures to function, the device must be powered on and connected to a cellular or Wi-Fi network. **Remote Lock** The remote lock feature for iOS devices is called lost mode. The Android Device Manager calls this feature Lock. It allows you to lock the device with a passcode, so others cannot gain access to the data in the device. For example, the user can display custom messages, or keep the phone from ringing due to incoming calls or text messages. **Remote Wipe** The remote wipe feature for iOS devices is called erase phone. The Android Device Manager calls this feature Erase. It deletes all data from the device and returns it to a factory state. To restore data to the device, Android users must set up the device using a Gmail account, and iOS users must synchronize their device to iTunes. Most mobile device operating systems provide a full device encryption feature. Full device encryption can prevent anyone in possession of the device from circumventing the device's access controls and reading the raw data stored in memory. All user data on an iOS device is always encrypted and the key is stored on the device. When used to "wipe" the device, the OS deletes the key, and the data becomes inaccessible. Data Protection encryption is enabled automatically when a password lock is configured on the device. On Android OS, encryption is enabled through **Settings \> Security**. Android uses full-disk encryption with a passcode-derived key. Introduction to Linux and macOS Operating Systems Two file systems used on most Linux operating systems are ext3, which is a 64-bit file system with support for journaling, and ext4, which delivers significantly better performance than ext3. Linux can also support FAT and FAT32. In addition, Network File System (NFS), can be used to mount remote storage devices into the local file system. Most installations of Linux also support creation of a swap partition to use as swap space. The swap partition is used by the operating system to supplement system RAM. If applications or data files use up all the available space in RAM, data is written to the swap space on a disk and is treated as if it were stored in RAM. Apple Mac workstations have their own file system, Extended Hierarchical File System (HFS Plus). This file system supports many of the same features as NTFS in Windows, but not native file/folder encryption. In macOS High Sierra and later, HFS Plus updated to the Apple File System (APFS), which does support native file encryption. HFS Plus has a maximum volume and file size of 8 ExaBytes. **Unix** Unix is a proprietary operating system written in the C programming language. macOS and iOS are based upon the Berkley Standard Distribution (BSD) version of Unix.\ GNU-Linux is an open-source, independently developed operating system which is compatible with Unix commands. Android, and many OS distributions rely upon the Linux kernel. **Linux** Linux operating systems are used in embedded-systems, wearable devices, smartwatches, cellphones, netbooks, PCs, servers and super computers. There are many different distributions (or distros) of Linux, including SUSE®, Red Hat®, CentOS®, Fedora®, Debian®, Ubuntu®, and Mint®. Each distro adds specific packages and interfaces to the generic Linux kernel and provides different support options. Most distributions provide a GUI interface.\ Most distributions are a complete Linux implementation that includes the kernel, shell, applications, and utilities. Each Linux distro software vendor packages and distributes installation media and provides support. **macOS** The operating system for Macintosh computers, macOS, is developed from the UNIX kernel, it is however, a closed source operating system.\ Since its release in 2001, macOS has undergone regular updates and revision to keep pace with Apple Mac hardware updates. Updates and new OS versions are distributed for free through the App Store. Some older Mac computers may not be able to run the newest macOS versions. You can check support.apple.com/specs for the technical specifications of any macOS release.\ macOS supports remote network installation similar to Preboot eXecution Environment (PXE) called NetBoot. Overview of the Linux GUI Different Linux distributions ship with different software packages, but users decide what stays in their system by installing or removing packages. The graphical interface in Linux is comprised of a number of subsystems that can also be removed or replaced by the user. While the details about these subsystems and their interactions are beyond the scope of this course, it is important to know the Linux GUI as whole can be easily replaced by the user. Because there are so many Linux distributions, this chapter focuses on Ubuntu when covering Linux. Ubuntu Linux uses Gnome as its default GUI. The figure shows a breakdown of the main components of Ubuntu Gnome Desktop. Another feature in the Linux GUI is the ability to have multiple desktops or workspaces. This allows the users to arrange the windows on a particular workspace. **Launcher** A dock placed on the left side of the screen that serves as application launcher and switcher. Right-click any application hosted on the Launcher to access a short list of tasks the application can perform. **Dash Search Box** Holds the Search tool and a list of recently used applications. Dash includes lenses at the bottom of the Dash area, which allow the user to fine tune Dash search results. To access Dash, simply click the Ubuntu button on the top of the Launcher. **Top Menu Bar** A multipurpose menu bar containing the currently running application, buttons to control the active window, and system controls and notifications. **System and Notification Menu** Many important functions are located in the indicator menus at the top right corner of your screen. Use the indicator menu to switch users, shut down your computer, control the volume level, or change network settings. **Lenses** Allows the user to fine tune the results. Overview macOS GUI Among the major differences between older versions of OS X and macOS is the addition of the Aqua GUI. Aqua was designed around the theme of water, with components resembling droplets and a deliberate use of reflection and translucency. The latest release of macOS at the time of writing is 10.14 Mojave. The figures below breakdown of the macOS Aqua desktop. The Apple Magic Mouse and the Magic Trackpad of a MacBook both support gestures to control the user interface. Gestures are finger movements on a trackpad or mouse that enable a user to scroll, zoom, and navigate desktop, document, and application content. Available gestures can be viewed and changed under **System Preferences \> Trackpad.** With macOS, Mission Control is a quick way to see everything that is currently open on your Mac. Mission Control can be accessed by using a three or four finger swipe up gesture, depending on your touch pad or mouse settings. Mission Control allows you to organize your apps on multiple desktops. To navigate the file system, macOS includes Finder. Finder is very similar to the Windows File Explorer. Most Apple laptops do not have an optical drive. To install software from optical media, Remote Disk can be used. Remote Disk is an app which lets the user access a CD/DVD drive on another Mac or Windows computer. Remote Disk sharing is set up in **System Preferences \> Sharing** and then check the DVD or CD sharing check box. macOS also allows screen sharing. Screen sharing is a feature that lets other people using Macs to be able to view your screen. They can even be allowed to take control of your computer. This is very useful when you may need help or wish to help someone else. **Menu Bar** Contains the Apple menu, currently active application menus, status menus and indicators, Spotlight, and Notification Center. **Apple Menu** Access system preferences, software updates, power controls, and more. **Application Menu** Displays the name of the active application in bold and the menu of the active application. **Status Menu** Displays date and time and status of your computer and some features, such as Bluetooth and wireless. **Spotlight** Spotlight is a file system search feature in macOS. It can be used to find almost anything on the macOS. Starting a new search requires clicking the magnifying glass in the menu bar or pressing Command + Space to bring up the search box. Changing the document type being searched is done in Preferences. To specifically exclude locations from a Spotlight search, click the Privacy button to specify folders or drives to be excluded. **Notification Center** Allows the user to see all notifications. **Dock** Displays thumbnails of frequently used applications and the running applications that are minimized. One of the important functions included in the Dock is Force Quit. By right-clicking a running application in the Dock, the user can choose to close an unresponsive application. Overview of Linux and macOS CLI In both Linux and macOS, the user can communicate with the operating system by using the command line interface (CLI). To add flexibility, commands (or tools) that support parameters, options and switches, are usually preceded by the dash (-) character. The options and switches supported by a command are also entered by the user along with the command. Most operating systems include a graphical interface. Although a command line interface is still present, the OS often boots into the GUI by default, hiding the command line interface from the user. One way to access the command line interface in a GUI-based operating system is through a terminal emulator application. These applications provide user access to the command line interface and are often named as some variation of the word terminal. **Linux terminal emulators** A program called a shell interprets the commands from the keyboard and passes them to the operating system. When a user logs in the system, the login program checks the username and password; if the credentials are correct, the login program starts the shell. From this point on, an authorized user can begin interacting with the OS through text-based commands. Users interact with the kernel through a shell. In other words, the shell acts as an interface layer between the user and kernel. The kernel is responsible for allocating CPU time and memory to processes. It also manages the file system and communications in response to system calls. On Linux, popular terminal emulators are Terminator, eterm, xterm, konsole, gnome-terminal. The figure shows gnome-terminal. **macOS terminal emulator** macOS includes a terminal emulator called Terminal, but a number of third-party emulators are available. The figure shows Terminal. Linux Backup and Recovery The process of backing up data refers to creating a copy (or multiple copies) of data for safekeeping. When the backing up process is complete, the copy is called a backup. The primary goal is the ability to restore or recover the data in case of failure. Gaining access to an earlier version of the data is often seen as a secondary goal of the backing up process. While backups can be achieved with a simple copy command, many tools and techniques exist to make the process automatic and transparent to the user. Linux does not have a built-in backup tool. However, there are many commercial and open source backup solutions for Linux such as Amanda, Bacula, Fwbackups, and Déjà Dup. Déjà Dup is an easy and efficient tool for backing up data. Déjà Dup supports a number of features including local, remote, or cloud backup locations, data encryption compression, incremental backs up, periodic scheduled backups, and GNOME desktop integration. It also restores from any particular backup. macOS Backup and Recovery macOS includes a backup tool called Time Machine. With Time Machine, users choose an external drive to be used as a backup destination device and connect it to the Mac via USB, FireWire or Thunderbolt. Time Machine will prepare the disk to receive backups and, when the disk is ready, it performs incremental backups periodically. If the user has not specified a Time Machine destination disk, Time Machine will ask if the newly connected external disk should be used as the destination backup disk. Time Machine stores some backups on your Mac, so if the Time Machine backup disk is not available, you may be able to restore a backup directly from your Mac. This type of back up is called a local snapshot. To enable Time Machine, go to **System Preferences \> Time Machine**, slide the switch **On** and select the disk where the backups are stored, as shown in the figure. Clicking the **Options** button allows the user to select or unselect the files, folders, or drives to backup. By default, Time Machine performs hourly backups for the past 24 hours, daily backups for a month, and weekly backups for all previous months. When the destination backup drive becomes full, Time Machine removes the oldest backup files to free up space. To restore data from Time Machine, make sure the destination backup disk is connected to the Mac and click **Enter Time Machine** in the Time Machine menu. A timeline on the right-hand side of the screen will show the available backups. Time Machine allows the user to restore the data to any previous version currently available in the destination backup disk. Overview of Disk Utilities To help diagnose and solve disk-related problems, most modern operating systems include disk utility tools. Ubuntu Linux includes a disk utility called Disks. With Disks users can perform the most common disk-related tasks including partition management, mount or unmount, format disks and query Analysis and Reporting Technology, (S.M.A.R.T.). macOS includes Disk Utility. In addition to supporting the main disk maintenance tasks, Disk Utility also supports Verify Disk Permissions and Repair Disk Permissions. Repair Disk Permission is a common troubleshooting step in macOS. Disk Utility can also be used to backup disks to image files and perform an image recovery to disk from image files. These files contain the entire contents of a disk. Below are a few common maintenance tasks that can be performed using disk utility software: - **Partition management** -- When working with computer disks, partitions may need to be created, deleted or resized. - **Mount or Unmount disk partitions **-- On Unix-like systems, mounting a partition relates to the process of binding a partition of a disk or a disk image file (usually a.iso) to a folder location. - **Disk Format** -- Before a partition can be used by the user or the system, it must be formatted. - **Bad Sector Check** --When a disk sector is flagged as bad, it becomes harmless to the OS because it will no longer be used to store data. Many bad sectors could be an indicator of a failing disk. Disk utilities can salvage data stored in bad sectors by moving it to healthy disk sectors. - **Query S.M.A.R.T. attributes** -- S.M.A.R.T. can detect and report attributes about a disk's health. The goal of S.M.A.R.T. is to anticipate disk failure, allowing the user to move the data to a healthy disk before the failing disk becomes inaccessible. Scheduled Tasks Computer systems need periodic preventive maintenance to ensure best performance. Maintenance tasks should be scheduled and performed frequently to prevent or detect problems early. To avoid missing maintenance tasks due to human error, computer systems can be programmed to perform tasks automatically. Two tasks that should be scheduled and performed automatically are backups and disk checks. Backups and disk checks are usually time-consuming tasks. An additional benefit of scheduled maintenance tasks is that it allows the computer to perform these tasks when no users are using the system. The CLI utility known as cron, can schedule these tasks during off-peak hours. In Linux and macOS, the cron service is responsible for scheduled tasks. As a service, cron runs in the background and executes tasks at specific dates and times. cron uses a schedule table called a cron table that can be edited with the crontab command. The cron table is a plain text file that has six columns, as shown in the figure. A task is usually represented by a command, a program or a script. To schedule a task, the user adds a row to the cron table. The new row specifies the minute, hour, day of the month, and the day of the week the task should be executed by the cron service. When the specified date and time arrives, the task is executed. The cron table shown has two entries. The first entry tells the cron service to execute myFirstTask script, located at **/myDirectorymyDirectoryetc/sudoers** file. In this example, **sudo** is needed to kill a process. **chown** The **chown** command allows users to switch both the owner and the group of a file or files. After using the **su** or **sudo** commands, files will sometimes appear in a user's home directory that don't belong to them. Use the **-R** (recursive) option with the **chown** command to revert all files in a user's home directory back to them. **apt-get** The **apt-get** command is used to install and manage software on Debian based Linux distributions. There are many options available for this command which can be examined simply by typing **apt**. The **apt-get** command is deprecated in favor of simply using **apt**. **shutdown ** The **shutdown** command is used to halt and reboot the operating system. It also has the capabilities of warning users of an impending shutdown, and scheduling a shutdown in the future. In multiuser systems, regular users do not have the rights to shutdown the system. **dd** The **dd** (Disk Duplicate) command is used to copy files and partitions, and create temporary swap files. The **dd** command should be used with extreme caution. Chapter 12: Mobile, Linux, and macOS In this chapter, you learned that, like desktops and laptops, mobile devices also use operating systems to interface with the hardware and to run software. The two most commonly used mobile operating systems are Android and iOS. You learned that Android is an open source operating system and is customizable while iOS is closed source and cannot be modified or redistributed without permission from Apple. Both platforms use apps to provide functionality. You worked with both the Android and iOS operating systems as part of lab exercises. Mobile devices are easily lost or stolen, therefore as an IT professional, you need to be familiar with mobile security features such as screen locks, biometric authentication, remote lock and remote wipe, and patching and upgrading. You learned that mobile devices can be unlocked using facial recognition, fingerprints, passcodes, and swipe patterns. You also learned that mobile OSs can be configured to disable access if too many failed login attempts are made to prevent someone from trying to guess a passcode. Another measure of security is provided by remote lock and remote wipe for devices that have been lost or stolen. These features allow the device to be remotely wiped or locked to prevent data on the device from being compromised. You configured passcode locks on a mobile device in the lab. You learned about the Linux and macOS operating systems and some of the differences between them. Linux supports ext3, ext4, FAT, and NFS file systems while macOS supports HFS and APFS. Also, macOS includes a backup tool called Time Machine while Linux does not have a built-in backup tool. Another major difference is the Linux GUI can be easily replaced by the user. Finally, you learned the six steps in the troubleshooting process as they are applied to mobile, Linux, and macOS operating systems.