IT Fundamentals/Operating Systems

From Wikiversity
Jump to navigation Jump to search
Operating system role
Windows 10
macOS
Linux
Chrome OS
Android
iOS

This lesson introduces operating systems and file systems.

Objectives and Skills[edit | edit source]

Objectives and skills for the operating systems portion of IT Fundamentals certification include:[1]

  • Explain the purpose of operating systems.
    • Interface between applications and hardware
    • Disk management
    • Process management/scheduling
      • Kill process/end task
    • Application management
    • Memory management
    • Device management
    • Access control/protection
    • Types of OS
      • Mobile device OS
      • Workstation OS
      • Server OS
      • Embedded OS
        • Firmware
      • Hypervisor (Type 1)
  • Compare and contrast components of an operating system.
    • File systems and features
      • File systems
        • NTFS
        • FAT32
        • HFS
        • Ext4
    • Features
      • Compression
      • Encryption
      • Permissions
      • Journaling
      • Limitations
      • Naming rules
    • File management
      • Folders/directories
      • File types and extensions
      • Permissions
    • Services
    • Processes
    • Drivers
    • Utilities
      • Task scheduling
    • Interfaces
      • Console/command line
      • GUI

Readings[edit | edit source]

  1. Wikipedia: Operating system
  2. Wikipedia: File system

Multimedia[edit | edit source]

  1. YouTube: Purpose of Operating Systems
  2. YouTube: Components of an Operating System

Activities[edit | edit source]

  1. Perform system updates:
  2. Update device drivers.
  3. Use your system's monitoring utilities to review active processes and resources in use.
  4. Terminate a running application.
  5. Examine system health and recent events for your system:
  6. Manage folders and files.
  7. Schedule a task to run automatically.
  8. Test other operating systems using your web browser:
  9. Download and install virtualization software for your system. Use it to test other operating systems. This activity will also help you test databases in a future lesson.

Lesson Summary[edit | edit source]

Operating System Concepts[edit | edit source]

  • An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware.[2]
  • Access to data stored on disks is a central feature of all operating systems. Computers store data on disks using files, which are structured in specific ways in order to allow for faster access, higher reliability, and to make better use of the drive's available space. The specific way in which files are stored on a disk is called a file system, and enables files to have names and attributes. It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree.[3]
  • Multitasking refers to the running of multiple independent computer programs on the same computer; giving the appearance that it is performing the tasks at the same time. Since most computers can do at most one or two things at one time, this is generally done via time-sharing, which means that each program uses a share of the computer's time to execute.[4]
  • An operating system kernel contains a scheduling program which determines how much time each process spends executing, and in which order execution control should be passed to programs. Control is passed to a process by the kernel, which allows the program access to the CPU and memory. Later, control is returned to the kernel through some mechanism, so that another program may be allowed to use the CPU. This so-called passing of control between the kernel and applications is called a context switch. Modern operating systems have preemptive control over running applications, device drivers, and kernel code.[5]
  • Preemptive multitasking allows the operating system to terminate running processes that stop responding. Different operating systems refer to this capability by different names, such as ending tasks or killing processes.[6]
  • Modern CPUs support multiple modes of operation. CPUs with this capability offer at least two modes: user mode and supervisor mode. Supervisor mode is used by the kernel for low level tasks that need unrestricted access to hardware, such as controlling how memory is accessed, and communicating with devices such as disk drives and video display devices. User mode, in contrast, is used for almost everything else. Application programs, such as word processors and database managers, operate within user mode, and can only access machine resources by turning control over to the kernel, a process which causes a switch to supervisor mode.[7]
  • Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already in use by another program. Since programs time share, each program must have independent access to memory.[8]
  • Modern operating systems must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. Systems commonly have some form of requester identity, such as a user name, and to establish identity there may be a process of authentication such as a password, ID card, and/or biometric data.[9]
  • Once authenticated, user access to resources must be authorized by verifying that the requester has permission to access the resource. Authorization permissions typically include separate options for read, create, modify, and delete.[10]
  • Resource permissions may be granted directly to users, or permissions may be granted to groups of users, and user accounts are added to various administrative groups to inherit permissions.[11]
  • Operating system resource management may also include auditing options. These would allow tracking of requests for access to resources (such as, "who has been reading this file?"). Internal security, or security from an already running program is only possible if all possibly harmful requests must be carried out through interrupts to the operating system kernel. If programs can directly access hardware and resources, they cannot be secured.[12]

Operating System Types[edit | edit source]

Firmware
Virtual machines
Hypervisor types
  • A mobile operating system (or mobile OS) is an operating system for mobile phones, tablets, smartwatches, 2-in-1 PCs (that can be convert to a laptop mode or detach and work as a tablet mode) or other mobile devices. While computers such as typical laptops are 'mobile', the operating systems usually used on them are not considered mobile ones, as they were originally designed for desktop computers that historically did not have or need specific mobile features. This distinction is becoming blurred in some newer operating systems that are hybrids made for both uses.[13]
  • Desktop or workstation operating systems manage computer hardware, software resources, and provides common services for personal computer programs. Popular workstation operating systems include Microsoft Windows, Apple macOS, and various Linux distributions.[14]
  • Server operating systems provide functionality for other programs or devices, called "clients". Common server use includes application servers, communication servers, computing servers, database servers, file servers, mail servers, media servers, print servers, virtual servers, and web servers. Popular server operating systems include Linux and Windows Server.[15]
  • An embedded operating system is an operating system for embedded computer systems, a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electrical system. This type of operating system is typically designed to be resource-efficient and reliable.[16][17]
  • Firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware can either provide a standardized operating environment for more complex device software, or, for less complex devices, act as the device's complete operating system, performing all control, monitoring and data manipulation functions.[18]
  • A hypervisor (or virtual machine monitor, VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems.[19]
  • Type-1, native or bare-metal hypervisors run directly on the host's hardware to control the hardware and to manage guest operating systems. Type-2 or hosted hypervisors run on a conventional operating system (OS) just as other computer programs do.[20]

File Systems[edit | edit source]

A file system or filesystem (often abbreviated to fs), controls how data is stored and retrieved.[21]

  • NTFS (New Technology File System) a proprietary journaling file system developed by Microsoft, for use with Windows NT and later Windows operating systems.[22]
  • FAT32 (32-bit File Allocation Table) is a legacy industry-standard computer file system with support for an increased number of possible clusters compared to previous versions.[23]
  • HFS (Hierarchical File System) is a proprietary file system developed by Apple Inc. in 1998 for use in computer systems running macOS.[24]
  • APFS (Apple File System) is a proprietary file system released in 2017 for macOS, optimized for flash and solid-state drive storage, with a primary focus on encryption.[25]
  • ext (extended file system) is a file system created specifically for the Linux kernel. ext4 is the fourth version of this file system.[26]

File system features include:

  • Compression is the process of encoding information using fewer bits than the original representation.[27]
  • Encryption is the process of encoding a message or information in such a way that only authorized parties can access it and those who are not authorized cannot.[28]
  • Permissions provide access rights to specific users and groups of users. These permissions control the ability of the users to view, change, navigate, and execute the contents of the file system.[29]
  • Journaling keeps track of changes not yet committed to the file system's main part by recording the intentions 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.[30]
  • Not all file systems support all features. For example, the FAT32 file system doesn't support compression, encryption, permissions, or journaling.[31]
  • File systems often have restrictions on file names, such file name length and use of special characters in the name. There may also be special meaning given to specific characters, such as using a leading period (.) to indicate a hidden file or a tilde (~) for a temporary system file.

File management includes directories (folders), file types and extensions, and permissions.

  • A directory is a file system cataloging structure which contains references to other computer files, and possibly other directories. On some file systems, directories are known as folders.[32]
  • A file format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. Different operating systems have traditionally taken different approaches to determining a particular file's format, with each approach having its own advantages and disadvantages.[33]
  • A popular method used by many operating systems, including Windows, macOS, CP/M, DOS, VMS and VM/CMS is to determine the format of a file based on the end of its name, more specifically the letters following the final period. This is known as the filename extension.[34]
  • Another way of storing the format of a file is to explicitly store information about the format in the file system, rather than within the file or file name itself. This is known as external metadata.[35]
  • An access-control list (ACL) is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects.[36]

Operating System Components[edit | edit source]

  • A service, also known as a daemon, is a computer program that runs as a background process, rather than being under the direct control of an interactive user. Systems often start daemons at boot time which will respond to network requests, hardware activity, or other programs by performing some task.[37]
  • A process is the instance of a computer program that is being executed by one or many threads. It contains the program code and its activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.[38]
  • A device driver is a computer program that operates or controls a particular type of device that is attached to a computer. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.[39]
  • Utility software is software designed to help to analyze, configure, optimize or maintain a computer. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that benefit ordinary users. Common utility categories include system, storage device management, and file management.[40]
  • A task or job scheduler is a computer application or service for controlling unattended background program execution of tasks. Modern task schedulers typically provide a graphical user interface and a single point of control for definition and monitoring of background executions in a distributed network of computers.[41]

Operating System User Interfaces[edit | edit source]

  • A CLI (Command Line Interface) is a type of interface that processes commands to a computer program in the form of lines of text.[42]
  • A GUI (Graphical User Interface) is a form of user interface that allows users to interact with electronic devices through graphical icons.[43]

Key Terms[edit | edit source]

APFS (Apple File System)
A proprietary file system released in 2017 for macOS, optimized for flash and solid-state drive storage, with a primary focus on encryption.[44]
CLI (Command Line Interface)
A type of interface that processes commands to a computer program in the form of lines of text.[45]
ext (extended file system)
A file system created specifically for the Linux kernel.[46]
FAT (File Allocation Table)
A legacy computer file system architecture and a family of industry-standard file systems utilizing it.[47]
FAT32 (32-bit File Allocation Table)
An updated legacy computer file system which supports an increased number of possible clusters.[48]
HFS (Hierarchical File System)
A proprietary file system developed by Apple Inc. in 1998 for use in computer systems running macOS.[49]
GUI (Graphical User Interface)
A form of user interface that allows users to interact with electronic devices through graphical icons.[50]
kernel
A computer program at the core of a computer's operating system with complete control over everything in the system.[51]
NTFS (New Technology File System)
A proprietary journaling file system developed by Microsoft, for use with Windows NT and later Windows operating systems.[52]
OS (Operating System)
System software that manages computer hardware and software resources and provides common services for computer programs.[53]

Assessments[edit | edit source]

See Also[edit | edit source]

References[edit | edit source]

  1. CompTIA: IT Fundamentals (ITF+) Exam Objectives FC0-U61
  2. Wikipedia: Operating system
  3. Wikipedia: Operating system
  4. Wikipedia: Operating system
  5. Wikipedia: Operating system
  6. Wikipedia: Operating system
  7. Wikipedia: Operating system
  8. Wikipedia: Operating system
  9. Wikipedia: Operating system
  10. Wikipedia: Operating system
  11. Wikipedia: Operating system
  12. Wikipedia: Operating system
  13. Wikipedia: Mobile operating system
  14. Wikipedia: Operating system
  15. Wikipedia: Server (computing)
  16. Wikipedia: Embedded operating system
  17. Wikipedia: Embedded system
  18. Wikipedia: Firmware
  19. Wikipedia: Hypervisor
  20. Wikipedia: Hypervisor
  21. Wikipedia: File system
  22. Wikipedia: NTFS
  23. Wikipedia: File Allocation Table
  24. Wikipedia: Hierarchical File System
  25. Wikipedia: Apple File System
  26. Wikipedia: Extended file system
  27. Wikipedia: Data compression
  28. Wikipedia: Encryption
  29. Wikipedia: File system permissions
  30. Wikipedia: Journaling file system
  31. Wikipedia: File system
  32. Wikipedia: Directory (computing)
  33. Wikipedia: File format
  34. Wikipedia: File format
  35. Wikipedia: File format
  36. Wikipedia: Access-control list
  37. Wikipedia: Daemon (computing)
  38. Wikipedia: Process (computing)
  39. Wikipedia: Device driver
  40. Wikipedia: Utility software
  41. Wikipedia: Job scheduler
  42. Wikipedia: Command-line interface
  43. Wikipedia: Graphical user interface
  44. Wikipedia: Apple File System
  45. Wikipedia: Command-line interface
  46. Wikipedia: Extended file system
  47. Wikipedia: File Allocation Table
  48. Wikipedia: File Allocation Table
  49. Wikipedia: Hierarchical File System
  50. Wikipedia: Graphical user interface
  51. Wikipedia: Kernel (operating system)
  52. Wikipedia: NTFS
  53. Wikipedia: Operating system