0% found this document useful (0 votes)
12 views11 pages

IT Fundamentals IA

Uploaded by

kadiatoumuj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views11 pages

IT Fundamentals IA

Uploaded by

kadiatoumuj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

1.

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.

A computer is characterized by the following:


Speed:
Automation: Computers are characterized by Automation. They are capable of
performing multiple tasks repeatedly without being supervised by a software or a
hardware developer. The user can give out the instructions to be performed and let the
computer do it by itself.
For example, in programming, there is the looping concept; which, is performing a
particular task for as long as a specific condition is respected.

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).

Static RAM (SRAM):

 SRAM retains data as long as it is powered.


 It is more expensive and consumes more power compared to DRAM.
 Unlike DRAM, SRAM does not require refreshing circuits.
 It offers higher speed and shorter access times.

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.

Within the category of DRAM, there are further classifications:

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.

RDRAM, or Rambus Dynamic Random Access Memory, is a memory system capable of


transferring up to 1 billion bytes per second. It consists of RAM, a RAM controller, and the
bus or pathway that connects the RAM to the microprocessor and other devices in the
computer that utilize it.

The latest version of RDRAM is DRDRAM (Direct Rambus Dynamic Random


Access Memory) developed and licensed by Rambus Corporation. It is expected to
help accelerate the growth of visually intensive interfaces.
DDR RAM stands for Double Date Rate RAM: it is a very fast computer memory.
It is based on the same architecture as SDRAM; however, it uses the clock signal
differently to transfer twice the data in the same amount of time.

3. Computer Software: A computer system is driven by programs that instruct it to


execute various tasks and functions. It encompasses procedures, software programs,
and associated documentation vital for the computer system’s efficient functioning.
Software plays a crucial role in our everyday lives, being used directly or indirectly to
generate high-quality outcomes that satisfy user requirements.

Computer software is divided into two primary categories: system software,


which offers essential general functions, and application software, which assists users
in performing specific tasks. A computer can run a program only by reading,
decoding, and processing instructions in a comprehensible language, with each
execution potentially producing different results depending on the programmer's
input.

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.

 Application Software: These programs are installed by users to accomplish specific


tasks, such as school management, inventory control, or library management.
Application software leverages the computer’s hardware and manages application
packages. To install an application, an installer program is required, which copies
necessary files to the machine’s storage. Configuration follows, teaching the operating
system how to operate the new application.

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.

Programming software: Programming software is a tool that help programmers in the


process of writing programs as well as computer software with the help of different
programming languages. Computer programmers are responsible for teaching
computers programs as well as computational problem solving. Programmers develop
useful software and run them on software they developed earlier called a compiler. The
so called compiler helps in the process of decoding codes written from one
programming language to another. The language understood by the computer is, called
machine language and is, unfortunately, really hard for humans to understand,
therefore, the compiler convert it and act as an interpreter in between the computer and
the programmer. Java, c, c++ are some examples of languages understood by a
computer.

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.

However, windows is known as the most popular operating system.


The uses are as follow:
The operating system acts as a channel in between the hardware components and that
of the software; it helps in many way as it serves lots of purposes, mainly: resource
management, user interface, as well as application support.

Let us discuss those uses in details:


Resource Management: One of the most important use of an operating system is to
efficiently manage the resources of the machine; which include controlling the central
processing unit (CPU), disk drives, and printers among other devices. It acts as a
supervisor and allocates task to the required components of the computer. It sets
priorities and allow every task to execute concurrently without any conflict.
The operating system runs in between the memory and taking care of the execution of
other operating system. It helps in the process of loading external instructions from
storage devices as per requirements. In other words, the operating system responds to
the user instructions using the available resources.
The ability of the operating system to dynamically control and manage the resources of
the device increase the overall performance of the computer.

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.

Running Application Programs/ Support for Applications: The OS acts as an


intermediary between applications and the hardware. It provides the necessary
resources for applications to run, such as memory allocation, CPU scheduling, and
input/output operations. This ensures that applications can operate smoothly without
needing to manage hardware details directly.

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.

Protecting and Backing up Files: To safeguard data, the OS provides mechanisms to


copy files to other storage media for backup purposes. This protection against data
loss is essential, as it allows recovery in case of hardware failure, accidental deletion, or
other data loss scenarios.

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:

Functions of the CPU

Fetching:

o Definition: This is the process of retrieving an instruction or data from the


computer's memory (RAM).
o Role: The CPU uses the Program Counter (PC) to keep track of which
instruction comes next. The PC points to the memory address of the next
instruction to be executed, and the CPU fetches this instruction to be
processed.

Decoding:

o Definition: This step involves interpreting the fetched instruction to


understand what actions are required.
o Role: The fetched instruction is sent to the Instruction Decoder, a part of the
Control Unit, which translates the binary-encoded instruction into signals that
dictate the subsequent actions of the CPU components.

Executing:

o Definition: Execution is the process of performing the operations defined by


the decoded instruction.
o Role: Depending on the instruction, this might involve arithmetic or logical
operations, data transfer operations, or control operations. The Arithmetic
Logic Unit (ALU) plays a significant role here by performing mathematical
and logical operations.

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.

Significant Subunits of the CPU

Control Unit (CU):

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.

Arithmetic Logic Unit (ALU):

o Function: The ALU is responsible for performing arithmetic operations (such


as addition and subtraction) and logical operations (such as AND, OR, and
NOT).
o Components: It typically includes circuits for performing these operations
and registers to hold temporary data during computation.

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:

o Function: The cache is a smaller, faster type of volatile computer memory


that provides high-speed data access to the CPU and improves processing
speed by storing frequently used data and instructions.
o Levels: Typically, there are multiple levels of cache (L1, L2, and sometimes
L3), with L1 being the fastest and closest to the CPU cores.

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 understanding these core functions and subunits, one gains a comprehensive


overview of how the CPU operates and coordinates the various tasks that make
modern computing possible.
5. Classification of the computer can be done according various aspect:

By Size and Power:

 Supercomputers: These are the most powerful computers, capable of processing


massive amounts of data at high speeds. They are used for complex tasks like weather
forecasting, scientific simulations, and cryptography.
 Mainframe Computers: These are large and powerful systems used in organizations
for bulk data processing, such as census, industry, and consumer statistics. They
support hundreds or thousands of users simultaneously.
 Minicomputers: Also known as mid-range computers, they are less powerful than
mainframes but more powerful than microcomputers. They are used in small to
medium-sized businesses for tasks like database management and scientific
applications.
 Microcomputers: These are the most common type of computers, including
desktops, laptops, tablets, and smartphones. They are designed for individual use and
perform a wide range of tasks.

By Purpose:

 General-Purpose Computers: These are designed to perform a wide variety of tasks.


Examples include PCs, laptops, and workstations. They can run many types of
software and are used for tasks like browsing, gaming, word processing, and more.
 Special-Purpose Computers: These are designed to perform specific tasks.
Examples include embedded systems in appliances, ATMs, and other dedicated
applications.

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:

 Workstations: These are high-performance single-user computers typically used for


technical or scientific applications. They have more powerful CPUs, large memory,
and advanced graphics capabilities compared to standard PCs.
 Servers: These computers provide services to other computers over a network. They
manage resources and provide data storage, processing power, and other services to
multiple users.
 Embedded Systems: These are specialized computing systems that perform
dedicated functions within larger mechanical or electrical systems. Examples include
embedded systems in cars, medical devices, and home appliances.
By Architecture:

 Von Neumann Architecture: This traditional computer architecture is based on the


concept of storing program instructions and data in the same memory. Most general-
purpose computers use this architecture.
 Harvard Architecture: This architecture separates the storage and signal pathways
for instructions and data. It is commonly used in embedded systems and
microcontrollers for better performance.

These classifications help in understanding the different types of computers and their specific
uses, ensuring that each is used appropriately for its intended purpose.

6. Software testing is a critical process in the software development lifecycle, ensuring


that the software functions correctly and meets user requirements. The various phases
of software testing include:

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.

Post-Release Testing (Maintenance Testing): After the software is released, it


enters the maintenance phase. This involves testing any updates, patches, or
modifications to ensure that the software remains functional and does not introduce
new defects. Regression testing is often performed to verify that new changes do not
adversely affect existing functionality.

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:

"Computer Networking: A Top-Down Approach" by James F. Kurose and Keith W.


Ross

 A comprehensive introduction to networking, this book starts with application-level


protocols and works down to the physical layer.

"Operating System Concepts" by Abraham Silberschatz, Peter B. Galvin, and Greg


Gagne

 This book provides a solid foundation in operating systems, covering key concepts
like process management, memory management, file systems, and security.

Khan Academy:

You might also like