KEMBAR78
Software | PDF | Operating System | Bios
0% found this document useful (0 votes)
6 views7 pages

Software

The document outlines the various types of software, including operating systems (OS), utility software, and application software, detailing their functions and importance in computer systems. It explains how the OS manages memory, peripherals, multitasking, and security, while utility software performs specific tasks like antivirus and disk management. Additionally, it discusses programming languages, their advantages and disadvantages, and the role of integrated development environments (IDEs) in facilitating the programming process.

Uploaded by

mmt43092
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)
6 views7 pages

Software

The document outlines the various types of software, including operating systems (OS), utility software, and application software, detailing their functions and importance in computer systems. It explains how the OS manages memory, peripherals, multitasking, and security, while utility software performs specific tasks like antivirus and disk management. Additionally, it discusses programming languages, their advantages and disadvantages, and the role of integrated development environments (IDEs) in facilitating the programming process.

Uploaded by

mmt43092
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/ 7

SOFTWARE

⭐provides services a computer needs through operating


systems, utility software or application software

OS -
⭐provides a platform where other softwares and hardware of
the laptop can run. It is the backbone of the computer system
- Allocates memory:
It is in charge of the RAM. It checks requests made by programs and validates
them to allocate space for memory. It also deallocates space and moves it into
virtual memory when required. It ensures multiple programs can be running at
the same time.
- Manages peripherals and drivers (mouse, printers, etc):
Manages all the devices connected to the computer including input and output
devices. It loads up device drivers which are softwares that communicate with
the device and is able to translate instructions of the device manager [the os
basically] and send it to the device and vice versa.
- Providing an interface:
The OS provides an interface so that the user is able to communicate with the
operating system. It translates input into what can be understood by the
computer and vice versa. Includes- mouse tracking, menu options, etc.
- Manage files on hard drive:
Controls the user’s permissions (edit delete create rename). And organises it to
give it its best performance for the user. Also helps accidental things by user
- Handles interrupts:
It is a signal from a device [hardware] or a software to the processor which
stops the ongoing processing so it can have the interrupt serviced. The current
state of the task gets saved as part of the internet service routine (basically the
RAM) so as soon as the interrupt is serviced, the task can continue.
- Managing multitasking:
It ensures multiple tasks can function simultaneously using the method of ‘time
slicing’. This breaks down tasks into simpler ones, and they run after one
another, giving the idea of working simultaneously.
- Provides a platform for applications:
Application program interface allows the operating system to handle the
application programs and hardware. API is a LIBRARY interface where data is
shared between softwares to ensure work is completed. When an application is
downloaded, the OS allocates memory space and controls the data, as well as
user access.
- Providing a security system:
Stay protected and elements are monitored
1. Auditing - log on edits, deletes, creation
2. Updates to fix bugs
3. Protect against malware
4. Access level rights
5. Creating or deleting user on the system
- User account management:
User is given an account and password is set. Access rights are given
depending on the needs and responsibilities. Inactive accounts will be deleted
and accounts login activity will be monitored.

Utility software -
⭐perform specific tasks required for the computer to
function. Includes, configuration, analysis, and operating the computer at
good efficiency (optimise)
Security utilities:
- Antivirus → scans to detect and quarantine any virus containing files after
comparing it with pre existing databases to half its spreading and delete it
later.
- Firewalls → monitors incoming and outgoing traffic and uses criteria to
filter out the traffic. (unauthorised access)
- Encryption → algorithm that turns data into unreadable data which can
only be descrambled using an decryption key
Disk organising utilities:
- Compression of files → making the files smaller for more efficient storage
and faster transmission
- Disk defragmentation tools → as parts of files can be saved in different
locations, making sure they are near one another helps faster accessing of
the files.
- Removal of unwanted files tools → saves space

Application software -
⭐designed to carry out a specific task so the user can
complete a large number of tasks. OS processes and allows
users to complete.
Freeware software → editing the source code for any purpose including bug fixes
isn’t allowed. Copyright is implemented, not allowing the user to do anything but
use it.

Free software → editing of source code can be done and bugs can be fixed, it is
used for educational purposes. Can be redistributed in terms of the original
software.

Shareware → a free trial with a limited amount of time and functions are given, for
full access, money needs to be paid. Is under copyright. Software licence.
[guidelines for redistribution]

Firmware, hardware, OS -
For the application software to communicate with the hardware, it needs to signal the
operating system first. It acts as the ‘middleman’ and transmits data from the hardware
to the application software. When a computer initially starts up, a part of the OS needs
to be loaded into the RAM. This is called booting up (bootloader). The start up of the
motherboard is done by BIOS (basic input and output system) [the motherboard helps
communicate between components like CPU and RAM]. the BIOS tells the computer
where the location of the OS is [to the motherboard technically]. It then loads the part
that requires it and executes it. BIOS is also known as firmware
Firmware → program that provides low level control for devices.

Interrupts -
Interrupts are signals sent to the CPU to pause and service the interrupt task before
continuing with its initial task as it has to run code for the interrupt. This involves the
interrupt service routine where the interrupts are added.
Could be due to hardware → keyboard keys pressed, moving the mouse
Software → division by 0, two programs trying to access the same memory
location, program is not responding.
The internet service routine needs to also go through the fetch decode and execute
cycle to complete its operation. This requires for the current registers to move their
current data to a location in the RAM known as stack, the data is pushed onto the TOP
of the stack frame. Once the instructions are executed for the interrupt, the data in the
registers is retrieved back to continue. There are chances the interrupt itself can get
interrupted (division by 0) this would lead to the current interrupt to go DOWN the
stack frame so the initial interrupt could be serviced first, due to the system in the
RAM.
Hardware → No power supply, power switched off
User → mouse clicking, opening of a new program, ctrl alt delete, etc
Software → illegal instruction, overflow, login request (requires user so pauses),
crashing of the system
Timer → data logging programs (read sensors), screen recording applications
input/output → printer run out of ink, signal to show data transmission is
complete, device not responding.

Low level languages -


Closer to the computer's instructions list understood by the CPU.
Assembly language → the code is written in mnemonics (eg: add, sub, sto), which
almost exactly correspond to machine code even though it is human readable
- Allows focus on simple commands
- Able to write programs for specific processors.
Machine code → 1s and 0s that are directly understood by hardware. (hardware
level)
Adv:
- Communicates directly with the hardware
- More efficient as it as able to directly communicate
- Gives control over the hardware components
- Can be used to write efficient code that works better and takes up less space.
Disadv:
- Difficult to write and understand
- Requires key knowledge on computer architecture
- More prone to errors
- It is machine dependent, suggesting different specialisations of machines will
not be able to use the same code.

Assembly language:
Used for:
- Making use of specific hardware
- Used for machine dependent instructions (it is different from other machines)
- Ensure not too much space is taken up in the RAM
- Ensure code can be completed faster
The computer uses a table which assigns each mnemonic to the machine code for
execution. LDA - load into accumulator, STO - store from acc to ram, ADD - add to
acc value, SUB - sub from acc value
High level languages -
Languages where more english-like statements are used to write code which is easier
to understand. They were needed when processor speeds needed to improve and
memory capacities needed to increase.
Adv:
- One line of can execute multiple commands
- Easier to debug
- Easier to understand and write, making it less prone to errors
- Can be ported into different computers (portable)
Disadv:
- May be less efficient
- Has to be converted into machine code before running it
- Not able to directly interact with hardware
Translators -
Source code written in high level (easy to read, debug, maintain) needs to be
translated into machine code for hardware to understand, for this, it needs to pass
through a translator.

Compiler:
The source code is changed into machine code at once into an executable file. The
source code must not have errors. The translation might take a while. Error reports are
given after compilation but could result in the computer crash. This would require the
source code to fix errors and be compiled again. The file does not need to be compiled
again unless errors occur.
Adv:
- Takes less storage as it optimises the code.
- Less time taken for execution
- It can be stored ready for use
- Can be executed without the compiler [no need for recompilation]
Disadv:
- If program needs to be changed it has to be recompiled
- Takes up storage as the whole program is compiled at once (even virtual
memory can be slower)
- It can not directly point out the errors to debug
- Made specifically for a specific processor

Interpreter:
Directly sends the source code to machine code and translates each line individually,
if error is detected an error message is displayed. Once the error is fixed, the
translation will continue.
Adv:
- Program will always run, only stops when error is found
- Easier to debug and find error
- Don’t store instructions, so take less RAM space.
- Easier to edit program when developed
Disadv:
- Can not be optimised as it is executed as it is
- Takes longer to execute as instructions are not stored and has to be translated
(can not run without it)
- Each line has to be executed separately, taking time (by cpu)

IDE -
Integrated development environment has tools that are used to make the programming
process more effective and useful.
Basic code formatting → font, bold, etc
Code editing → autocorrect, auto adding brackets
Coloured keywords in source code → words are coloured to make it easier for the
programmer to recognize these words (input, output etc)
Commenting code → allows users to comment on what the section of the
program is doing or help comment out sections to stop the program from
running.
Identifying errors → highlights exactly where the error is and shows a message
Debugger → gives instructions on what caused the error (helps with logical errors)
and helps remedy them
Run time environment → enables the program to run and give a corresponding
output
Libraries → extra modules that were not part of the initial source code
Translators → help compile and execute the source code.
GUI builder → helps design an interface instead of working with the source code
[for the interface, gui is better than source code ig]

You might also like