IT Fundamentals IA
IT Fundamentals IA
The key characteristics of computer: For that, let us first get reminded about what a
computer is: a computer is a very versatile electronics machine created by human.
Computer has become a necessity in our daily activities. Their presence is known in
each aspect of life, home, school, college, office, hospital, bank, research among others.
It is a machine that performs processes, calculations and operations based on the
instructions provided by software or a hardware programmer.
Accuracy: Computers are accurate. They are known to be reliable; therefore, they
never make mistakes. There goes a popular saying “Garbage in, garbage out”. It is
always us, programmers that make mistakes and never the machine.
Consistency: Computer provides consistent result. The outputs totally depend on the
instructions inputted. For example, when a set of instructions are repeatedly giving to
the computer, the same answer will be provided at any time.
Versatility:
Storage: with the help of this characteristic, us, humans are able to store
data/information in our various devices for either permanently or temporarily.
Multitasking: Computers have the ability to perform multiple tasks at once. It is done
in a parallel way without confusion for as long as the user is giving the right
instructions. For instance, I can do my C programming practical on CodeBlocks while
having some file downloading from the internet.
Connectivity: computers have the ability to connect to other devices and networks;
allowing communication and sharing of data and resources as well as remote access.
With the help of a computer, we can communicate with people from every part of the
world. This feature allow the computer to connect to the internet and other devices,
Bluetooth capabilities. Also, ports for connecting external devices such as printers,
storage devices.
For instance, Manipal University Online is the simplest living example of computers
ability to connect. Every weekend, we are taught by lecturers from other part of the
world while I am located here in west-Africa.
Scalability: computers have the ability to scale up in order to handle and proceed more
workload and demand. They are capable of increasing or decreasing in performance
and cost in response to changes in application and system proceeding demands in order
to meet the user’s need.
Security: computers do save its content from unauthorized users. They ensure that the
information and data are safe from threads such as viruses, hacking as well as identity
theft. Computers do ensure data integrity and availability of the data processed.
2. RAM, or Random Access Memory: is a type of memory that allows both reading
and writing of data. It enables information to be accessed in any order, hence the term
"random access." However, since ROM also offers random access, a more fitting term
for RAM is "read/write memory."
RAM is volatile, meaning it only retains data while it is powered. Once the power is cut off,
the data is lost. RAM comes in various sizes, such as 256 MB, 512 MB, 4 GB, 8 GB, and
more. The speed of RAM is measured in hertz (Hz).
There are two primary types of RAM: Static RAM (SRAM) and Dynamic RAM (DRAM).
DRAM can store information but loses it within milliseconds, even if powered, unless
it is refreshed periodically (typically every 2 milliseconds).
DRAM is more affordable, has higher packing densities, and consumes less power.
While it operates at a moderate speed, DRAM is suitable for storing large amounts of
data.
SDRAM, or synchronous Dynamic RAM, is a term for various types of RAM that operate in
sync with the microprocessor's clock speed. This synchronization increases the number of
instructions the processor can execute within a given time frame.
Types of Software:
System Software: These are fundamental programs without which a computer would
have limited functionality. System software, like 'Windows Update' for Windows and
'Software Update' for Mac, is usually pre-installed on new machines and can be
updated by running programs. They manage basic operations, facilitate
communication with peripheral devices, and support the execution of application
software. Examples include compilers, assemblers, operating systems, and debuggers.
Typically, system software operates in the background and at a basic level, which is
why it’s known as "low-level" software. It ensures communication between the
hardware and the operating system.
It is also possible to install a program in our machine by booting from CD-ROM which
contains all the files needed to support the program.
The software is then able to be executed once the program is loaded in the computer’s
storage.
Operating system:
Talking about computer software and programs, operating system is another important
program which establishes the software and hardware resources of the computer. It is
considered as the most important software because of its ability to boot the system.
It is compulsory for a machine to have an operating system installed on it.
The operating system is there to manage and allocate memory, dynamic file
management, controls input and output devices, permits networking and prioritize
system demands.
The windows family made up of windows xp, windows 98, windowsMe, windows vista
is an example of operating system; Linux, RedHat, Solaris, Obuntu, UNIX among
others. They provide a graphical user interface for a higher level function. The operating
system is there to provide an environment in which a user can easily run their program.
User interface: The operating system is there to bring into existence an environment
in which the user can easily interact with the device. The environment is a channel or a
mean through which, users utilize to connect with the computer system. Users asks
questions or give commands/instructions and then get responses from the system
through the interface provided by the operating system.
User interface is created in various from ranging from:
Command-line interface (CLI) where user interact with the system though text-based
command input. It is accurate. However, it has longer learning curves.
Graphical User Interface (GUI), on the hand, is more suitable for users with less
technical knowledge. It makes use of icons and menu to it more understandable to users.
Formatting Floppy Diskettes: While modern systems use more advanced storage
media, the OS provides tools to format floppy diskettes, preparing them for data
storage by organizing the disk’s structure. This process includes setting up the file
system and marking bad sectors to avoid data loss.
Setting Up Directories: To help users organize their files efficiently, the OS allows
the creation of directories (folders). These directories enable a hierarchical structure
for file storage, making it easier to manage, locate, and access files.
Displaying File Listings: The OS includes utilities to display a list of files stored on a
specific disk. This feature is crucial for users to view and manage the contents of their
storage devices, check file properties, and perform file operations such as copying,
moving, or deleting.
Checking Disk Space: Before saving new files, the OS can verify if there is sufficient
space on the disk. This prevents data corruption and ensures that users do not run out
of storage unexpectedly, which could lead to application errors or system crashes.
By handling these tasks, operating systems ensure that computers are user-friendly, reliable,
and efficient, allowing users to focus on their work without worrying about the complexities
of hardware management.
4. The Central Processing Unit (CPU) is the core component of a computer that
executes instructions and processes data. It is often referred to as the brain of the
computer because it carries out the majority of computational tasks. The CPU
performs several critical functions, which can be broken down into four primary
categories: fetching, decoding, executing, and storing. Here is a detailed look at each
function and the significant subunits that enable these processes:
Fetching:
Decoding:
Executing:
Storing:
o Definition: This involves writing the results of the execution back into
memory or into a register.
o Role: The result of the executed instruction is written to the appropriate
location, whether it is a register within the CPU for quick access or the main
memory for longer-term storage.
o Function: The Control Unit directs the operation of the processor. It tells the
computer's memory, ALU, and input/output devices how to respond to the
instructions that have been sent to the processor.
o Components: It includes components like the Instruction Decoder and
Control Signals Generator, which help manage and coordinate the activities of
the CPU.
Registers:
o Function: Registers are small, fast storage locations within the CPU that hold
data, instructions, and addresses that the CPU is currently processing.
o Types: Different types of registers serve specific purposes, such as the
Accumulator (for intermediate results), the Instruction Register (for the current
instruction), and the Program Counter (for the address of the next instruction).
Cache:
Buses:
o Function: Buses are the communication pathways that transfer data between
the CPU and other components of the computer, such as memory and
input/output devices.
o Types: Key buses include the data bus (for data transfer), the address bus (for
addressing information), and the control bus (for control signals).
By Purpose:
By Data Handling:
Analog Computers: These computers process analog data, which is continuous and
variable. They are used in applications like speedometers and thermometers.
Digital Computers: These computers process digital data, which is in binary form (0s
and 1s). Almost all modern computers are digital.
Hybrid Computers: These combine the features of both analog and digital
computers. They can process both continuous and discrete data. Hybrid computers are
used in specialized applications like medical equipment and control systems.
By Functionality:
These classifications help in understanding the different types of computers and their specific
uses, ensuring that each is used appropriately for its intended purpose.
Requirement Analysis: This initial phase involves understanding and analyzing the
requirements of the software. Testers collaborate with stakeholders to identify what
needs to be tested. They review the requirements documents to ensure they are clear,
complete, and testable.
Test Planning: During this phase, the testing strategy is formulated. Test managers
and testers develop a test plan that outlines the scope, objectives, resources, schedule,
and activities for testing. It includes details about the types of tests to be performed,
test environment, test deliverables, risk assessment, and contingency plans.
Test Case Development: In this phase, testers create detailed test cases based on the
requirements and test plans. Test cases are specific conditions under which a new
functionality is tested, ensuring it works as expected. They include test inputs,
execution conditions, and expected results.
Test Environment Setup: This phase involves preparing the hardware and software
environment where the testing will take place. It includes configuring the necessary
hardware, software, network, and other resources. The test environment should mimic
the production environment as closely as possible to ensure accurate results.
Test Execution: During test execution, the actual testing is carried out by executing
the test cases developed in the previous phase. Testers record the results of each test
case, noting whether the software behaves as expected. Any deviations from expected
results are logged as defects.
Defect Reporting and Tracking: When testers find discrepancies or bugs during test
execution, they document these defects and report them to the development team.
Defects are tracked using defect tracking tools, and their status is monitored until they
are resolved. Testers retest the software to verify that the defects have been fixed.
Test Cycle Closure: This phase involves wrapping up the testing process. Testers
evaluate the test coverage, test results, and overall quality of the software. They
ensure that all planned tests have been executed and all defects have been addressed.
A test closure report is prepared, summarizing the testing activities, results, and
lessons learned.
Each of these phases is integral to the software testing process, ensuring thorough validation
and verification of the software product to deliver a high-quality, reliable application to end-
users.
REFERENCES:
This book provides a solid foundation in operating systems, covering key concepts
like process management, memory management, file systems, and security.
Khan Academy: