0% found this document useful (0 votes)
31 views14 pages

Chapter 4 (Computer Science)

Uploaded by

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

Chapter 4 (Computer Science)

Uploaded by

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

Chapter 4: software

4.1 types of software and interrupts


Application software => system software => hardware

Application software:
these are programs that allow the user to do specific tasks
General features of application software:
 used to perform various applications (apps) on a computer
 allows a user to perform specific tasks using the computer's resources
 may be a single program (for example, NotePad) or a suite of programs (for example, Microsoft
Office)

 user can execute the software as and when they require.

Examples:
word processor
spreadsheet
Database
control and measuring software
apps
photo editing software
Video editing software
graphics manipulation software

word processor:
 Word processing software is essentially a digital toolbox for writing and editing documents.
 You can type text, manipulate its format (font, size, alignment etc.), copy and paste sections,
check for spelling mistakes, find synonyms, insert images, and even translate your work into
another language

spreadsheet:
 is a numerical workhorse that helps you organize, calculate, and visualize data. It arranges
numbers in a grid of rows and columns, like a giant table.
 Each intersection in the grid is called a cell, and you can perform calculations within those cells
using formulas.
 This lets you analyze data, create graphs to visualize trends, and even model different scenarios
using "what if" calculations to see how changing certain values would affect outcomes.

Database:
=> Acts like a digital filing cabinet, neatly storing and managing large amounts of data in tables.
Imagine rows as records and columns as specific details.
=> You can ask questions to retrieve just the info you need, generate reports with charts and
graphs, and keep everything up-to-date by adding, deleting, or modifying data
control and measuring software:
=> acts as a brain for machines, letting them sense the world (temperatures, etc.) and react
accordingly.
=> It uses sensors to gather data, compares it to internal "knowledge," and then sends out
commands to control things like chemical processes, opening valves, or adjusting settings.
=> It's basically a real-time translator between the physical world and automated actions.

applications:
=> Apps are mini-programs that pack big functionality onto your mobile device, they are like
pocket-sized versions of computer software, downloaded from app stores like Google Play or
Apple's App Store.
=> They cover a vast range, from entertainment like video and music streaming to practical tools
like GPS navigation and photo editing.

photo editing software:


=> Photo editing software lets you transform your digital photos. Tweak brightness, contrast,
color, or banish red-eye with ease.
=> But it goes way beyond basic fixes. Imagine molding facial features, merging photos, or adding
artistic effects.
=> You can even erase unwanted elements and create picture-perfect moments

Video editing software:


=> Video editing software is a powerful tool that allows you to transform raw footage into a
polished and engaging video.
=> You can rearrange clips, add titles and music, and enhance the visuals with color correction
and filters.

graphics manipulation software:


=> Graphics manipulation software allows for the alteration of bitmap and vector images. Bitmap
images, consisting of pixels with information about brightness and color, can be altered using
these editors.
=> Vector editors, on the other hand, manipulate lines, curves, and text to alter the image.

System software:
General features:
>>> set of programs to control and manage the operation of computer hardware

>>> provides a platform on which other software can run

>> required to allow hardware and software to run without problems

>> provides a human computer interface (HCI)

>>> controls the allocation and usage of hardware resources.


Examples:
Linkers
Compilers
Device drivers ( covered on later, under utilites)
operating systems (covered on later)
utilites (covered on later)
2|Page
Compilers:
 A compiler is a computer program that converts a high-level language program into machine
code, allowing it to be directly used by a computer for a specific task.
 The original program is called the source code, and the compiled code is called the object code.
High-level languages like Java, Python, and C++ are examples.

Linkers:
 A linker is a computer program that merges object files from a compiler into a single program,
simplifying the programming process.
 It is used in programming languages where modules are written separately, allowing for smaller,
more manageable sub-tasks. However, at some point, all modules must be combined to form the
final program.

Utility programs:
System software provides various utility programs for computer users, including virus checkers,
defragmentation software, disk contents analysis and repair, file compression and management,
backup software, security, and screensavers. These programs are often initiated by the user or
run in the background without user input.

Utility program offered by most computer:

Virus Checkers:
=> Computers, including mobile phones and tablets, can be susceptible to virus attacks.
=>Operating systems offer virus checkers, which must be regularly updated and run in the
background to protect against malware.
=> Various methods can help prevent viruses, such as downloading from the internet, not opening
files from unknown senders, and using non-original software.
=>Anti-virus software, running in the background, constantly checks for virus attacks. It checks
software or files before they are loaded, compares them against a database of known viruses, and
performs heuristic checking.
=>Infected files or programs are quarantined, allowing the virus to be automatically deleted or
the user to decide on deletion. Anti-virus software needs to be updated as new viruses are
constantly discovered, and full system checks should be performed once a week to catch dormant
viruses.

Defragmentation software:
 As a HDD becomes full, file blocks become scattered across the disk surface due to file deletions
and extensions over time.
 This results in slower data access time, as the HDD read-write head requires multiple movements
to retrieve the required data.
 To improve data access and retrieval, storing files in contiguous sectors can be advantageous.
 A disk defragmentor can rearrange data blocks to store files in contiguous sectors, reducing head
movements.

3|Page
Back up software:
 Manual back-ups are recommended, but using the operating system back-up utility is also
recommended. This utility allows for a schedule for backing up files and only performs a back-up
procedure if any changes have been made to a file.
 To ensure security, three versions of a file should be stored: the current working version on the
internal HDD or SSD, a locally backed-up copy on a portable SSD, and a remote back-up version
stored away from the computer.
 Microsoft Windows offers various facilities using the back-up utility, including restoring data,
creating a restore point, and setting up options for saving back-up files.
 File History takes snapshots of files and stores them on an external HDD at regular intervals,
allowing users to choose the version they want to use.
 File History defaults to backing up every hour and retains past versions for ever unless user
settings are changed.
 Mac OS offers the Time Machine back-up utility, which erases the contents of a selected drive and
replaces them with the contents from the back-up.
 It requires an external HDD or SSD connected via USB port and the Time Machine utility installed
and activated on the selected computer.

Security Software:
Security software manages access control, user accounts, links to other software, protects network
interfaces, uses encryption and decryption to ensure intercepted data is meaningless, and oversees
software updates, ensuring legitimate requests come from legitimate sources. It also links into virus and
spyware checkers.

Screen Savers:
 Screensavers are programs that display moving and still images on a computer's screen after
inactivity. They were initially designed to protect older CRT monitors from phosphor burn.
 With modern LCD and OLED screens, screensavers are now mainly used for device customization.
They also serve as part of a computer's security system, triggering a screensaver when a computer
is unused for five minutes without logging out.
 This adds an extra layer of security for office environments. Some screensavers activate
background tasks, such as virus scans or distributed computing applications, which use the
computer's resources only when idle.

Device Drivers:
 Device drivers are software that communicate with the operating system and convert data into a
format understood by hardware peripheral devices. Without them, a hardware device would not
work with a computer.
 When a device is plugged into a USB port, the operating system searches for the appropriate
driver. All USB device drivers contain descriptors, including vendor ID, product ID, and unique
serial numbers.
 If a device has no serial number, the operating system treats it as new. Unique serial numbers
are essential to avoid confusion.

4|Page
OPERATING SYSTEM
 An operating system is software that allows computer systems to function correctly and
communicate with users.
 It provides an environment for applications to run and a user-friendly interface between humans
and computers.
 Common examples include Microsoft Windows, Apple Mac OS, Google Android, and Apple IOS,
which are primarily used on tablets and smartphones.
 Operating systems are typically stored on hard disk drives (HDD) or solid state drives (SSD) on
computers, while mobile phones and tablets use solid state devices due to their smaller size.

Human Computer interface:


 The human computer interface (HCI) can be a Command Line Interface (CLI) or a
Graphical User Interface (GUI).
 CLIs require users to type in instructions to choose options, often requiring a number of
commands. However, the advantage of CLIs is direct communication with the computer
and not being limited to pre-determined options.
 GUIs allow users to interact with a computer using pictures or symbols (icons),
eliminating the need for typing commands.
 For example, a mobile phone with a number of GUI icons can load an application without
needing to type in anything.
 GUIs use various technologies and devices, such as Windows Icons Menu and Pointing
Device (WIMP) for personal computers
 A windows manager handles interactions between windows, applications, pointing
devices, and cursor positions.
 More recently, touch screens have become more common in mobile phones and tablets,
allowing users to perform actions like pinching and rotating with their fingers, which
would be difficult using a single pointer and a device like a mouse.
 Overall, the human computer interface provides a seamless and efficient way to interact
with computers and devices.

5|Page
Who would use each type of interface?
CLI: The CLI is used by programmers, analysts, or technicians to communicate directly with a
computer for software development, error removal, and memory dumps.

GUI: The GUI is used by end-users without extensive computer knowledge, who use the
computer for running software, playing games, or manipulating photographs. Both types of
interfaces are essential for computer users.

Memory management:
 Memory management is crucial in computer systems, managing primary storage (RAM) and
enabling data movement between RAM and HDD/SSD during program execution.
 It keeps track of memory locations and ensures memory protection to prevent competing
applications from using the same memory locations simultaneously.
 Failure to do so could lead to data loss, incorrect results, security issues, and even a
computer crash in extreme cases.
 Proper memory management ensures that data is stored securely and efficiently.

Security Management:
 Security management is a crucial aspect of an operating system that ensures the
integrity, confidentiality, and availability of data.
 It involves updating operating systems, keeping anti-virus software up-to-date,
communicating with firewalls to check all traffic, using privileges to prevent users from
entering private areas, maintaining access rights for all users, offering data recovery and
system restore when lost or corrupted, and preventing illegal intrusion into the computer
system.
 These features help maintain data privacy, protect against data breaches, and ensure the
safety of users and systems. Further details on these features can be found in more depth
elsewhere in the book.

6|Page
Hardware peripheral management:
 Hardware management involves the control of all input and output peripheral devices.
 It involves using device drivers to communicate with these devices, translating data from
a file into a format that the devices can understand.
 This ensures that each hardware resource has a priority, allowing them to be used and
released as needed. Additionally, hardware management controls queues and buffers,
such as printer management.
 When printing a document, the printer driver is loaded into memory, and data is sent to
a buffer. If the printer is busy or has a low priority, data is sent to a queue before it can
be sent to the buffer.

File management:
 File management involves naming conventions, performing specific tasks, maintaining
directory structures, ensuring access control mechanisms, and ensuring memory
allocation for files.
 It includes tasks like creating, opening, closing, deleting, renaming, copying, and
moving. The extension can include bat, htm, dbf, txt, and.xls. It also ensures file access
rights and password protection.

Multitasking:
 Multitasking is a system where computers can perform multiple tasks simultaneously,
sharing hardware resources under the operating system's control.
 To ensure proper functioning, the operating system must constantly monitor the status of
each process, allocate resources for specific time limits, allow interruptions, and assign a
priority to each process.
 This prevents low-priority processes from starving of resources. Multitasking management
improves the management of main memory, HDD/SSD, and virtual memory, maximizing
CPU time utilization. However, this approach also raises risks of resource starvation for
low-priority processes.

Management of User accounts:


 Computers allow multiple users to log onto a system, ensuring data is stored separately
for security. Each user is assigned a user account with a password and name.
 The operating system manages these accounts, allowing users to customize settings and
manage files.
 Administrators often oversee these accounts, managing creation, deletion, and activity
restrictions.
 In complex multi-user systems, the operating system may oversee multiple accounts,
managing data from personal data to stationery ordering.
Running of applications:
 Application software requires the operating system to run successfully.
 The BIOS, also known as firmware, manages the start-up of the computer's motherboard
by loading necessary operating system parts into RAM.
 The BIOS locates the storage device and executes the necessary software, providing low-
level device control.
 Firmware is defined as a program that provides low level control for devices.
 The BIOS program is stored on an EEPROM, a flash memory chip that remains even when
the computer is powered down. It can be rewritten, updated, or deleted by a user.
7|Page
 The BIOS settings are stored on a CMOS chip, powered by a rechargeable battery on the
motherboard. If the battery is removed or disconnected, the BIOS settings are reset.
 Once the CMOS is re-started, it accesses the same BIOS program from EEPROM but the
settings are the default factory settings. If a user changes the BIOS settings, they will
revert to those made at the factory once power is restored.
 The application software is under the control of the operating system and needs to
access system software like device drivers. Different parts of the operating system may
need to be loaded in and out of RAM during the software's run.

Interrupts:
 An interrupt is a signal sent from a device or software to the microprocessor, causing it
to temporarily stop its operations to service the interrupt.
 Interrupts can be caused by timing signals, input/output processes, hardware faults, user
interaction, or software errors. Once the interrupt signal is received, the microprocessor
either continues with its current tasks or stops to service the device or program that
caused the interrupt.
 Interrupts enable computers to perform multiple tasks or have multiple windows open
simultaneously, creating the illusion of simultaneous operation. However, data is passed
in and out of memory rapidly, allowing both functions to be serviced. This is achieved
through the use of buffers, which store data temporarily.
 For example, buffers are used when downloading a movie from the internet to
compensate for the difference between download speeds and data requirements of the
receiving device.
 The data transmission rate of the movie file from the web server to the buffer must be
greater than the rate at which data is transmitted from buffer to media player. Without
buffers, the movie would frequently freeze.

 when an interrupt is received, it needs to be serviced. The status of the current task
being run first needs to be saved, and the contents of the Program Counter (PC) and
other registers are saved.
 The interrupt service routine (ISR) is executed by loading the start address into the PC.
Once the interrupt has been fully serviced, the status of the interrupted task is
reinstated, and the process continues.
 Buffers and interrupts are essential components in modern computer systems, enabling
the execution of standard computer functions. They are often taken for granted by users,
such as when a document is sent from memory to a printer.

8|Page
 The time taken to print a document is significantly longer than the time it takes for the
microprocessor to send data to the printer. Without buffers and interrupts, the
microprocessor would be idle waiting for the document, wasting time.
 They allow the microprocessor to continue with other tasks, maximizing its processing
power and speed.

In summary, interrupts are crucial for computer systems to function efficiently and effectively.
They allow for simultaneous execution of multiple tasks and ensure efficient data transfer
between devices.

9|Page
Types of programming language, translators and
integrated development environments (IDEs)
 Languages are essential for communication, and to understand each other, one must
speak the same language or use an interpreter.
 Programmers use various programming languages to communicate with computers, which
only understand their own language, machine code.
 A program needs to be translated into machine code before it can be understood by a
computer.
 Programs are instructions that tell a computer what to do, how to do it, and when to do
it, enabling it to perform various tasks such as streaming videos, writing reports, and
providing weather forecasts.
 Computer programs can be written in high-level languages or low-level languages,
depending on the task and the computer used. Most programmers write in high-level
languages
High Level Programming languages
 High-level languages allow programmers to focus on solving problems without knowing
the computer's hardware and instruction set. They are portable and can be used on
various types of computers.
 High-level languages are designed for programmers, making programming statements
easier to understand.
 Programs written in high-level languages are easier to read, write, debug, and maintain.
 There are various high-level programming languages, including C++, Delphi, Java, Pascal,
Python, and Visual Basic.
 Once a programmer learns programming techniques in one language, they can apply these
techniques to writing programs in other high-level languages.

Low level programming languages


Low-level languages refer to the specific architecture and hardware of a computer,
encompassing machine code, binary instructions, or assembly language that requires translation
into machine code.
Machine code:
 Programmers do not usually write in machine code as it is difficult to understand, and it
can be complicated to manage data manipulation and storage
 It is in binary but stored in hexadecimal
Assembly language:
Fewer programmers write programs in an assembly language. Those programmers who do, do so
for the following reasons:
 to make use of special hardware
 to make use of special machine-dependent instructions
 to write code that doesn't take up much space in primary memory
 to write code that performs a task very quickly

10 | P a g e
Translators:
 computer programs are written by humans in a form that computer programmers can
understand.
 To be used by a computer, programs must be translated into binary instructions,
machine code.
 Humans find it difficult to read binary, but computers can only perform binary
operations. A utility program called a translator is used to convert a program into binary,
with various types performing different tasks.

11 | P a g e
Iintegrated Development Environment (IDE)
An Integrated Development Environment (IDE) is a tool used by programmers to aid in
writing and developing programs. There are various IDEs available, some supporting one
programming language and others for multiple languages, such as PyCharm for Python,
Visual Studio for Visual Basic, or BlueJ for Java.

Code Editor:
 A code editor allows a program to be written and edited without the need to use a
separate text editor.
 This speeds up the program development process, as editing can be done without
changing to a different piece of software each time the program needs correcting or
adding to

Translator:
 Most IDEs usually provide a translator, this can be a compiter and/or an interpreter, to
enable the program to be executed.
 The interpreter is often used for developing the program and the compiler to produce the
final version of the program to be used.

A runtime environment with a debugger:


 A debugger is a program that runs a program under development, allowing the
programmer to step through it at a single stepping or set a breakpoint.
 A report window displays the evaluated variables and expressions, allowing the
programmer to identify logic errors and verify the program's functionality. This helps in
ensuring the program works as intended.

12 | P a g e
Error diagnostics and auto-correction:
Dynamic error checking detects potential errors in program code, alerts the programmer and
offers suggested corrections, enabling many errors to be identified and corrected before the
program is executed.

Auto-completion:
Code editors can offer context-sensitive prompts with text completion for variable names and
reserved words.

Auto-documenter and prettyprinting:


IDEs can provide an auto-documenter to explain the function and purpose of programming code.
Most code editors colour code the words in the program and lay out the program in a meaningful
way this is called pretty printing.

13 | P a g e
14 | P a g e

You might also like