Fundamentals of Information Technology

Chapter 4
Software and Operating Systems

Bachelors Program in IT
Fundamentals of Information Technology   •   Bachelor

Software and Operating Systems

Introduction

Information technology is built on two interacting foundations: hardware and software. Hardware provides the physical resources of a computing system, while software supplies the instructions that organize those resources and enable users to perform useful work. Without software, a computer is an electrically powered collection of components; without hardware, software has no physical platform on which to execute.

Software includes operating systems, device drivers, utilities, programming tools, databases, productivity applications, communication platforms, games, and embedded control programs. Operating systems occupy a particularly important position because they manage hardware resources and provide common services to application programs. They also mediate between users and the complex internal operations of a computer.

For IT professionals, understanding software involves more than knowing how to install or use programs. It requires the ability to classify software, evaluate licensing conditions, select suitable operating systems, manage files and interfaces, configure virtual environments, maintain software securely, and recognize the ethical and organizational consequences of software decisions.

Learning Objectives

By the end of this chapter, students should be able to:

  1. Differentiate system software, application software, and utility software.
  2. Compare open-source and proprietary software models.
  3. Explain the principal functions and components of an operating system.
  4. Describe process, memory, device, storage, file, and security management.
  5. Compare graphical, command-line, touch, voice, and web-based interfaces.
  6. Explain virtualization and identify its benefits and limitations.
  7. Apply sound principles to software installation, configuration, licensing, updating, and maintenance.
  8. Analyze software choices in a realistic organizational context.

1. The Nature and Classification of Software

Software is a collection of programs, data structures, configuration information, and related documentation that directs a computer system to perform tasks. A program is an ordered set of instructions, whereas software usually refers to a more complete product or system, including supporting files and maintenance processes.

A useful classification is based on the relationship between the software and the user.

1.1 System software

System software manages and controls computing resources. It provides a platform on which application software runs. Major categories include:

  • Operating systems, such as Windows, Linux, macOS, Android, and iOS.
  • Device drivers, which allow the operating system to communicate with hardware devices.
  • Firmware, which is software stored in non-volatile memory and used to control hardware at a low level.
  • Language translators, including compilers, interpreters, and assemblers.
  • System services, such as authentication, networking, printing, and scheduling components.

System software is generally concerned with how a computer operates rather than with a particular user task. A printer driver, for example, does not create a report; it translates operating-system requests into commands that a printer can understand.

1.2 Application software

Application software helps users perform specific tasks. Examples include word processors, spreadsheets, web browsers, enterprise resource-planning systems, computer-aided design tools, media editors, learning-management systems, and mobile applications.

Applications may be general-purpose or specialized. A spreadsheet is general-purpose because it can support budgeting, data analysis, and forecasting. A hospital information system is specialized because it is designed around clinical and administrative workflows.

Applications often depend on system software. A word processor may request memory, storage, fonts, network access, and printing services from the operating system rather than controlling those resources directly.

1.3 Utility software

Utility software performs maintenance, protection, optimization, or management functions. Examples include:

  • Backup and restore tools.
  • Antivirus and endpoint-protection software.
  • Disk-management and partitioning tools.
  • File-compression programs.
  • Encryption utilities.
  • Diagnostic and monitoring tools.
  • Software uninstallers and update managers.

The boundary between system software and utility software is not absolute. A modern operating system may include backup, firewall, storage, and diagnostic utilities as built-in components. Classification should therefore be based on primary purpose rather than on a rigid list.

CategoryPrimary purposeTypical examples
System softwareControls hardware and provides a platformOperating system, driver, compiler
Application softwareSupports user or organizational tasksBrowser, spreadsheet, payroll system
Utility softwareMaintains, protects, or optimizes systemsBackup tool, antivirus, compression utility

1.4 Programming and development software

Development software is used to create other software. It includes source-code editors, integrated development environments, compilers, interpreters, debuggers, version-control systems, testing tools, libraries, and software-development kits. Although development tools are sometimes classified as application software, they are commonly treated as a distinct practical category because they support software production rather than ordinary end-user tasks.

2. Operating Systems as Resource Managers

An operating system (OS) is system software that manages computer hardware, provides common services, and offers an interface through which users and applications interact with a computer. It is commonly described as an intermediary between users, applications, and hardware.

A modern OS performs several related roles:

  1. Resource manager: allocates processor time, memory, storage, and devices.
  2. Control program: supervises execution and prevents competing activities from causing unacceptable interference.
  3. Service provider: offers standard services such as file access, networking, printing, and security.
  4. Abstraction layer: hides hardware-specific complexity behind consistent concepts such as files, processes, and directories.
  5. Protection mechanism: separates users and programs and controls access to resources.

2.1 Operating-system components

The kernel is the central, privileged part of an operating system. It manages core operations such as process scheduling, memory protection, device communication, and system calls. A system call is a controlled request by an application for a service provided by the kernel, such as opening a file or creating a process.

Many operating systems also contain:

  • Device drivers, which translate general OS requests into device-specific commands.
  • File-system modules, which organize data on storage devices.
  • Networking stacks, which implement communication protocols.
  • Security subsystems, which handle authentication, authorization, encryption, and auditing.
  • System libraries, which provide reusable programming interfaces.
  • Shells or user interfaces, through which users issue commands.

Operating systems may use a monolithic, layered, microkernel, modular, or hybrid architecture. A monolithic kernel places many services in kernel space, which can provide performance but increases the consequences of kernel errors. A microkernel keeps the kernel smaller and moves more services into user space, potentially improving isolation but adding communication overhead. Most mainstream operating systems use practical hybrid or modular designs rather than a completely pure model.

2.2 Process and CPU management

A program is a passive set of instructions stored in a file. A process is a program in execution, together with its current state, memory, resources, and operating-system information. A process may have one or more threads. A thread is a unit of execution within a process.

The operating system:

  • Creates and terminates processes.
  • Allocates processor time.
  • Suspends and resumes execution.
  • Coordinates communication between processes.
  • Detects or reduces conflicts involving shared resources.

A scheduler selects which ready process or thread should execute. Scheduling policies may emphasize fairness, responsiveness, throughput, or priority. In a preemptive system, the OS can interrupt a running process and give the processor to another. This supports multitasking, although the user may perceive rapid switching as simultaneous execution on a single processor core.

Concurrency introduces risks. A race condition occurs when the result depends on the timing of competing operations. A deadlock occurs when processes wait indefinitely for resources held by one another. Operating systems and software developers use synchronization mechanisms, resource-ordering rules, timeouts, and detection procedures to manage these risks.

2.3 Memory management

The OS allocates memory to processes and prevents one process from improperly accessing another process's memory. Common mechanisms include:

  • Virtual memory: provides each process with an address space that may be larger than the immediately available physical memory.
  • Paging: divides virtual and physical memory into fixed-size blocks called pages and frames.
  • Memory protection: restricts access according to process and privilege boundaries.
  • Swapping or paging to storage: temporarily moves data between main memory and secondary storage.

Virtual memory improves isolation and flexibility, but excessive movement between memory and storage can cause thrashing, in which the system spends more time managing memory transfers than executing useful work. Adding physical memory may help, but poor application behavior, inefficient data structures, or excessive concurrent workloads may also be responsible.

2.4 Device and input/output management

The OS provides a consistent interface to devices that differ greatly in design. It uses drivers, buffers, queues, interrupts, and device-independent abstractions. For example, an application can request that data be written to a file without knowing whether the file is stored on a solid-state drive, magnetic disk, or network location.

An interrupt allows hardware or software to signal that attention is required. Direct memory access can allow certain devices to transfer data to or from memory with limited processor involvement. These mechanisms improve efficiency but require careful coordination and protection.

2.5 Storage and file management

A file is a named collection of data managed by an operating system. A directory or folder organizes files and may contain other directories. A file system defines how files are named, stored, located, protected, and recovered.

Common file-system responsibilities include:

  • Naming and identifying files.
  • Recording file size, type, timestamps, and ownership.
  • Allocating storage blocks.
  • Maintaining directories and metadata.
  • Enforcing permissions.
  • Detecting or recovering from certain forms of corruption.

A path identifies the location of a file. An absolute path begins from a root or volume, while a relative path is interpreted from a current location. File extensions often indicate expected formats, but they do not by themselves prove the content or safety of a file.

Permissions commonly express whether a user or group may read, write, execute, modify, or delete an object. Effective access may depend on ownership, group membership, inherited permissions, access-control lists, and security policy.

Good file management includes meaningful names, predictable folder structures, version control, backups, retention rules, and careful treatment of removable and cloud storage. The deletion of a file is not necessarily equivalent to secure destruction; recovery may remain possible unless appropriate secure-erasure or encryption practices are used.

2.6 Security and protection

Operating-system security is based on several complementary principles:

  • Authentication: verifying identity.
  • Authorization: determining permitted actions.
  • Accountability: recording actions so they can be reviewed.
  • Least privilege: granting only the access required for legitimate work.
  • Isolation: preventing one process, user, or service from unnecessarily affecting another.
  • Defense in depth: using multiple protective controls rather than relying on one mechanism.

Security controls may include passwords, multifactor authentication, secure boot, encryption, application sandboxing, firewalls, security updates, logging, and endpoint detection. No single control is sufficient in every environment.

3. User Interfaces

A user interface is the means through which a person communicates with a computer system. Interface design affects accessibility, productivity, error rates, training requirements, and security.

3.1 Graphical user interfaces

A graphical user interface (GUI) uses windows, icons, menus, pointers, buttons, and visual feedback. GUIs are often approachable for new users and support visual discovery. Their limitations include resource consumption, possible inconsistency between applications, and reduced efficiency for repetitive expert tasks.

3.2 Command-line interfaces

A command-line interface (CLI) accepts typed commands. CLIs can be precise, scriptable, efficient for automation, and suitable for remote administration. They require knowledge of syntax and create risks if destructive commands are issued without verification. Professionals should test commands, understand current paths and privileges, and avoid executing untrusted scripts.

3.3 Touch, voice, and web interfaces

Touch interfaces are effective on mobile and kiosk devices but may be less suitable for precise or extended data entry. Voice interfaces improve accessibility and hands-free operation but raise issues involving recognition accuracy, privacy, authentication, and accidental activation. Web interfaces provide platform independence through a browser, although they depend on network availability, browser compatibility, and secure session management.

Accessible interfaces should support keyboard navigation, readable contrast, alternative text, adjustable text size, captions, clear focus indicators, and compatibility with assistive technologies. Accessibility is both a professional responsibility and, in many jurisdictions, a legal requirement.

4. Virtualization and Containers

Virtualization is the abstraction of physical computing resources so that one physical machine can support multiple logical computing environments. A virtual machine (VM) presents a software-defined computer, including virtual processors, memory, storage, and devices.

A hypervisor manages virtual machines. A Type 1, or bare-metal, hypervisor runs directly on hardware. A Type 2 hypervisor runs as an application on a host operating system. Each VM generally contains its own guest operating system and applications.

Virtualization can:

  • Consolidate workloads onto fewer physical servers.
  • Isolate applications or tenants.
  • Support testing and development.
  • Simplify snapshots, cloning, and disaster recovery.
  • Run legacy systems on newer hardware.
  • Improve resource utilization.

Virtualization also introduces overhead and management complexity. Poorly sized VMs can waste resources, and a failure in a host or management layer may affect many guest systems. Snapshots are useful for short-term testing but should not be confused with independent backups.

Containers provide operating-system-level isolation. Unlike VMs, containers commonly share the host kernel while packaging an application and its dependencies. Containers are lightweight and start quickly, but their isolation model differs from that of full VMs. Container security requires careful image provenance, patching, privilege control, secret management, and runtime monitoring.

5. Open-Source and Proprietary Software

Open-source software is distributed under a license that provides defined rights to inspect, use, modify, and redistribute source code. These rights are governed by the specific license, not merely by the availability of source code.

Proprietary software is controlled by an individual or organization that generally restricts access to source code and defines permitted use through a license agreement. Proprietary software may be sold through subscriptions, perpetual licenses, usage-based pricing, or bundled services.

Open-source licensing is diverse. Permissive licenses generally allow reuse with limited conditions. Copyleft licenses may require derivative works distributed under specified conditions to preserve corresponding freedoms. Some licenses impose obligations concerning notices, source-code availability, or patent rights. Organizations must examine the actual license and comply with its terms.

ConsiderationOpen-source softwareProprietary software
Source codeUsually available under licenseUsually restricted
CostMay have no purchase price; support may cost moneyOften license, subscription, or service fees
ModificationPermitted according to licenseUsually restricted
SupportCommunity, commercial, or internalVendor, partner, or contracted support
ControlGreater ability to inspect and customizeGreater dependence on vendor roadmap
RiskFragmentation or uncertain maintenanceVendor lock-in or licensing changes

Neither model is automatically more secure, reliable, ethical, or economical. Evaluation should consider total cost of ownership, security response, community or vendor strength, interoperability, accessibility, support, compliance, and exit options.

6. Software Licensing and Intellectual Property

A software license is a legal permission governing use of software. Purchasing software usually does not transfer copyright ownership; it grants rights under stated conditions. Relevant concepts include:

  • Copyright: protects original software expression and documentation.
  • Trademark: protects names, logos, and identifiers.
  • Patent: may protect certain inventions or technical methods, subject to applicable law.
  • End-user license agreement (EULA): sets conditions for use of a product.
  • Subscription license: grants access for a defined period, often with continuing updates.
  • Site or volume license: permits use across a specified number of users or devices.
  • Software as a service (SaaS): provides software functionality through a service relationship rather than local ownership of the application.

Unauthorized copying, license sharing, circumvention of technical controls, and use beyond contractual limits may create legal, financial, and reputational consequences. Organizations should maintain a software asset register, retain proof of entitlement, review license compatibility, and establish approval procedures for downloads and installations.

7. Installation and Configuration

Software installation transfers program files to a device and establishes the settings and system components required for execution. A reliable installation process includes:

  1. Define requirements and confirm compatibility.
  2. Obtain software from a trusted source.
  3. Verify authenticity and, where available, a cryptographic hash or digital signature.
  4. Review license, privacy, and security conditions.
  5. Back up important data and record the current configuration.
  6. Use an account with only the privileges needed for installation.
  7. Select appropriate components and installation locations.
  8. Configure accounts, network settings, integrations, and permissions.
  9. Apply security updates.
  10. Test normal, failure, and recovery functions.
  11. Document the version, settings, owner, and support arrangements.

A clean installation starts with a new or reformatted environment. An upgrade replaces or extends an existing version while preserving selected data and settings. A migration moves data, applications, or services from one environment to another. These activities have different risks and should not be treated as interchangeable.

Configuration management ensures that systems remain in a known, approved state. Baselines, change records, automated deployment, and configuration testing reduce errors. Configuration drift occurs when systems gradually differ from their approved state because of undocumented changes or inconsistent maintenance.

8. Software Maintenance and Lifecycle Management

Software maintenance continues after deployment. It includes:

  • Corrective maintenance: fixing discovered defects.
  • Adaptive maintenance: modifying software for new operating systems, hardware, regulations, or environments.
  • Perfective maintenance: improving performance, usability, or functionality.
  • Preventive maintenance: reducing the likelihood of future failures.

A patch may fix a defect, close a vulnerability, improve compatibility, or add functionality. Patch management should classify updates by risk, test them where practical, deploy them according to priority, and verify successful installation. Unsupported software is especially risky because newly discovered vulnerabilities may not receive fixes.

A maintenance program should address backups, rollback, monitoring, incident response, vulnerability scanning, license renewal, capacity planning, and end-of-life decisions. Before decommissioning software, organizations should preserve required records, revoke access, remove credentials, migrate data, and securely dispose of storage where appropriate.

9. Practical Selection Framework

Selecting software is a socio-technical decision rather than a simple product comparison. A structured evaluation can consider:

  1. Functional fit: Does the product support required tasks and workflows?
  2. Technical fit: Is it compatible with hardware, operating systems, networks, and existing systems?
  3. Security: Are authentication, encryption, logging, updates, and vulnerability processes adequate?
  4. Legal and regulatory fit: Can the organization meet licensing, privacy, accessibility, and retention obligations?
  5. Usability: Can intended users learn and operate it effectively?
  6. Interoperability: Can data be imported, exported, and exchanged using suitable standards?
  7. Cost: What are acquisition, deployment, training, support, migration, downtime, and exit costs?
  8. Sustainability: Is the software actively maintained, and is there a credible support community or vendor?
  9. Exit strategy: Can the organization retrieve its data and transition if the product becomes unsuitable?

A low purchase price does not necessarily mean low total cost. Conversely, a commercial product may be justified when it provides essential support, assurance, integration, or accountability.

10. Illustrative Case Study: Software Modernization in a College

Background

A fictional college operates computer laboratories using a mixture of aging desktop computers, locally installed applications, and several unsupported operating-system versions. Instructors report slow startup, inconsistent software versions, and difficulty reproducing student project environments.

Problem

The college must support office productivity, programming courses, multimedia work, and examination software. Its budget is limited, but it must improve security, accessibility, license compliance, and system reliability.

Analysis

An initial inventory identifies hardware specifications, installed applications, license status, data locations, user groups, and network requirements. The college discovers that some programs are rarely used, several licenses are duplicated, and important laboratory files are stored locally without a verified backup. It also finds that the existing computers cannot efficiently run the newest version of every required application.

Approach and solution

The college adopts a staged plan:

  • Replace unsupported operating systems and remove unnecessary software.
  • Use open-source tools where functionality, support, and licensing are suitable.
  • Retain selected proprietary applications where specialist features are required.
  • Use standardized images for laboratory computers.
  • Provide virtual machines or containers for programming courses so students receive consistent development environments.
  • Centralize backups and document restoration procedures.
  • Apply least-privilege accounts and multifactor authentication for administrative systems.
  • Create an update schedule with testing and rollback procedures.
  • Maintain a software asset register and an accessibility review process.

Outcome

The college reduces configuration differences, improves patch compliance, and makes course environments easier to reproduce. It does not eliminate all costs: staff require training, virtual infrastructure needs monitoring, and some specialist applications remain expensive. However, the college gains a clearer understanding of total ownership costs and reduces dependence on undocumented manual practices.

Learning points

The case demonstrates that software selection is not determined solely by purchase price. Operating-system support, licensing, maintenance, user needs, security, data management, and exit planning must be considered together. Standardization improves reliability, while carefully selected diversity can preserve educational and operational flexibility.

11. Ethical, Governance, and Contemporary Issues

Software decisions affect privacy, employment, accessibility, safety, and social participation. Organizations should collect only necessary personal data, explain significant automated processing, protect confidential information, and define human responsibility for consequential decisions.

Artificial-intelligence-enabled software introduces additional concerns. AI tools may produce inaccurate outputs, expose confidential data through prompts or integrations, reproduce bias, or make decisions that are difficult to explain. Organizations should define acceptable use, prohibit entry of sensitive information into unapproved services, validate outputs, retain human oversight, and evaluate vendor data practices.

Cloud software changes the location and control of infrastructure but does not remove organizational responsibility. Important questions include where data is stored, who can access it, how incidents are reported, how service availability is measured, and how data will be recovered if the contract ends.

Best practice is therefore based on lifecycle governance: inventory assets, classify data, assess risk, authorize changes, monitor operation, review compliance, and retire systems responsibly.

Chapter Summary

Software consists of instructions, data, configuration, and documentation that enable computing systems to perform tasks. System software manages hardware and provides a platform for applications; application software supports user and organizational activities; and utility software maintains, protects, or optimizes systems.

An operating system manages processes, memory, devices, storage, files, security, and interfaces. Its kernel and supporting services provide abstractions that simplify hardware use while enforcing protection. Interfaces may be graphical, command-line, touch, voice, or web-based, each with different strengths and risks.

Virtualization abstracts physical resources into virtual machines, while containers provide lighter-weight application isolation through shared kernel facilities. Both improve flexibility but require careful security and resource management. Open-source and proprietary software represent different licensing and governance models; neither is universally superior.

Effective software management includes lawful licensing, trusted installation, configuration control, patching, backups, monitoring, documentation, and planned retirement. Professional decisions should evaluate functionality, security, accessibility, interoperability, support, total cost, regulatory obligations, and exit strategy. Ethical governance is essential when software processes personal data or incorporates artificial intelligence.

Key Terms

Operating system: System software that manages hardware and provides services to applications and users.

Kernel: The privileged central component of an operating system.

System software: Software that controls resources and provides a platform for applications.

Application software: Software designed to perform user or organizational tasks.

Utility software: Software used to maintain, protect, diagnose, or optimize a system.

Device driver: Software that enables an operating system to communicate with a hardware device.

Process: A program in execution, including its state and allocated resources.

Thread: A unit of execution within a process.

Virtual memory: An address-space mechanism that provides isolation and extends apparent memory using storage.

File system: The structures and rules used to organize, store, locate, and protect files.

Access control: Rules determining who or what may use a resource and in what manner.

Graphical user interface: An interface using visual elements such as windows, menus, and icons.

Command-line interface: An interface in which users issue typed commands.

Virtualization: Abstraction of physical resources into separate logical computing environments.

Hypervisor: Software or firmware that creates and manages virtual machines.

Container: An isolated application environment that commonly shares the host operating-system kernel.

Open-source software: Software distributed under a license granting defined rights to inspect, modify, and redistribute code.

Proprietary software: Software controlled by an owner under restrictive licensing conditions.

Patch management: The process of evaluating, testing, deploying, and verifying software updates.

Configuration drift: Unplanned divergence between actual system settings and an approved baseline.

Review Questions

Short Answer Questions

  1. What is the principal difference between system software and application software?
  2. What functions does an operating-system kernel perform?
  3. Define virtualization and identify one benefit of using virtual machines.
  4. What is the difference between authentication and authorization?
  5. Why should software licenses be reviewed before installation?

Long Answer Questions

  1. Explain how an operating system manages processes, memory, devices, files, and security.
  2. Compare open-source and proprietary software using cost, support, customization, security, and vendor dependence.
  3. Describe a secure and well-documented software installation and configuration process.
  4. Compare graphical, command-line, touch, voice, and web interfaces, including appropriate use cases and limitations.
  5. Explain why software maintenance must include patching, backups, monitoring, documentation, and end-of-life planning.

Analytical / Application Questions

  1. An organization is choosing between a free open-source system and a subscription-based proprietary system. Develop a decision framework that considers technical, financial, legal, security, accessibility, and exit requirements.
  2. A virtualized server environment experiences slow performance after many new virtual machines are added. Analyze possible causes and propose a diagnostic and remediation plan.
  3. A university discovers that students are using unapproved AI software to process confidential research data. Recommend governance, technical, educational, and ethical controls to address the situation.

Multiple Choice Questions with Answers

Question 1

Which category of software primarily manages hardware resources and provides a platform for applications?

A. Application software

B. System software

C. Presentation software

D. Content software

Correct Answer: B. System software

Question 2

What is the principal role of an operating-system kernel?

A. Designing presentation slides

B. Managing privileged hardware and core system operations

C. Creating business advertisements

D. Compressing every user file automatically

Correct Answer: B. Managing privileged hardware and core system operations

Question 3

Which statement best describes a process?

A. A program stored permanently on a disk

B. A physical processor core

C. A program in execution with associated state and resources

D. A folder containing system files

Correct Answer: C. A program in execution with associated state and resources

Question 4

Which practice best reflects the principle of least privilege?

A. Giving every employee administrator rights

B. Allowing users only the access required for legitimate work

C. Disabling authentication for internal systems

D. Sharing one administrator account across a department

Correct Answer: B. Allowing users only the access required for legitimate work

Question 5

What is a major difference between a virtual machine and a typical container?

A. A virtual machine generally includes a guest operating system, while a container commonly shares the host kernel

B. A container always requires more hardware than a virtual machine

C. A virtual machine cannot run applications

D. Containers are physical devices rather than software environments

Correct Answer: A. A virtual machine generally includes a guest operating system, while a container commonly shares the host kernel

Question 6

Which statement about open-source software is most accurate?

A. It is always free of all costs and obligations

B. Its source code is available under a license that defines permitted rights and conditions

C. It cannot be used commercially

D. It is automatically more secure than proprietary software

Correct Answer: B. Its source code is available under a license that defines permitted rights and conditions

Question 7

Which activity is an example of corrective maintenance?

A. Adapting software to a new regulation

B. Adding an optional feature for improved usability

C. Fixing a defect discovered during operation

D. Retiring an unsupported application

Correct Answer: C. Fixing a defect discovered during operation

Question 8

Why are snapshots not normally considered a complete replacement for backups?

A. Snapshots cannot store any system information

B. Snapshots may depend on the same storage or environment as the original system

C. Snapshots are illegal for commercial systems

D. Snapshots can only be created for paper documents

Correct Answer: B. Snapshots may depend on the same storage or environment as the original system

Question 9

Which sequence best represents a sound software installation practice?

A. Install first, then determine whether the source is trustworthy

B. Verify source and compatibility, review conditions, install with appropriate privileges, and test

C. Disable all security controls permanently before installation

D. Copy program files randomly without documentation

Correct Answer: B. Verify source and compatibility, review conditions, install with appropriate privileges, and test

Question 10

A college wants consistent programming environments across laboratory computers. Which approach most directly supports reproducibility?

A. Allowing every student to install unrelated versions manually

B. Using standardized images or controlled virtualized/containerized environments

C. Removing all documentation from the laboratory

D. Disabling software updates permanently

Correct Answer: B. Using standardized images or controlled virtualized/containerized environments

Fundamentals of Information Technology
Chapter 4 of 15