Chap 4 - software Flashcards
define program
-set of instructions that is used as a process of creating a software by using a programming language
define software
-set of programs that enables the hardware to perform a specific task
-can be system, application or programming software
differences between programs & software
-software needs a user interface but programs don’t
-software is larger than programs
-software takes more time to develop
-software has more features than programs
define system software & examples
-programs that allow the hardware to run properly & let the user communicate with the computer
-operating system, utility programs, device drivers, linkers, compliers
define application software & examples
-programs that allow users to do specific tasks
-word processor, spreadsheet, database, control & measuring software, apps, photo editing software, video editing software, graphics manipulation software
order of hierarchy
hardware - system software - application software
features of system software
-provides a platform that other software can run on
-required to allow hardware to run without problems
-provides human computer interface (HCI)
-controls the allocations & usage of hardware devices
features of application software
-used to perform apps on computer
-allows users to perform specific tasks using computer’s resources
-can be a single or multiple programs
-user can execute software as & when they like
functions of - in application software:
-word processor
-spreadsheet
-database
-apps
-control & measuring software
-photo editing software
-video editing software
-graphics manipulation software
-word processor - manipulate text document
-spreadsheet - organize & manipulate numerical data
-database - organize, manipulate & analyze data
-apps- applications that range from games to phone backing
-control & measuring software - allows the microprocessor to interface with sensors
-photo editing software - allows users to manipulate digital photos
-video editing software - allow users to manipulate videos
-graphics manipulation software - allows bitmap & vector images to be changed
functions of - in system software:
-compliers
-linkers
-device drivers
-utilities program
-operating system
-compliers - translates high level language into machine code
-linkers - combines files & programs
-device drivers - allows different hardware devices to communicate with the computer’s operating system
-utilities program - programs that help manage, maintain & control computer resources
-operating system - manages the basic functions of a computer & runs in the background
differences between system & application software (S & A)
-S gives a path for A to run on, A is designed for a specific task
-S is a general purpose software, A is a specific software
-programing is more complex in S than A
-S interacts with hardware directly, A does not take hardware into consideration when built
-S is installed by manufacturers, A is installed by users
-S works in the back ground, A works in the forefront
-
Functions of operating system
-Provides Human Computer Interface (HCI) - allows user to interact with comp.
-Main memory management - memory protection so 2 programs don’t try to use the same memory
-file/ secondary storage management - controls access
-hardware peripheral managements - controls data being sent to & from hardware
-interrupt handlings - saves data on power outage
-security management - usernames & passwords
-allows application software to run - user can open apps as & when they like
-managing user accounts - prevent unauthorized access
-managing files - sorting files & making them easy to find for quick access
examples of utility programs
-virus checkers
-defragmentation software
-disk contents analysis & repair
-file compression & management
-back up software
-screensavers
-device drivers
Features of anti- virus checkers
-live scanning of opened files
-full system scans
-has signature files
-heuristic checking
-quarantine infected files
how does defragmentation happen
-stores data in continuous sectors by using a disk defragmenter to rearrange blocks of scattered data
-scattered data = read & write head move more = slower data access
how does back up software work
-allows schedules for backing up of files when changes are made to them
-need 3 versions of the file: current (in HDD), locally backed up copy of file (in portable SSD), remote back up (eg. in cloud)
how does security software work
-manage access controls
-links other utility programs tgt
-protects network interfaces
-uses encryption
-overseas updating software
how does screensavers work
-programs supply moving/ still images on screen after a period of inactivity
how does device drivers work
-software that communicates with operating system & translates data into a format understood by the hardware device
types of programing language
high level - general purpose system
low level (machine code) - specific purpose system
why do programs need to be translated
comp can only understand machine code
Advantages of high level language
-portable; works on many comp.
-designed for programmers
-easier to read
-faster to write
-easier to debug
-easier to maintain program
disadvantages of high level language
-slower to run
-larger programs
-programs may not be able to make use of special hardware
Advantages of low level language
-faster to run
-can make use of special hardware
-code takes up less memory
disadvantages of low level language
-specific to architecture of hardware
-harder to read
-slower to write
-longer to debug
what is source code & object code
-source code - code at the start
-object code - executable file
types of translators
-compiler
-interpreter
-assembler
how does compiler work
-translates high level lang to machine code in 1 go
-produces an executable file from source code which can run on any comp.
-complied programs can run without compiler
-used when distribution for general use
-provides error diagnostic at the end of translation
how does interpreter work
-translates the high level lang to low level lang line by line
-doesn’t produce an executable file
-interpreted programs cannot run without interpreter
-used when developing program
-stops translation as soon as an error is found
-provides an error diagnostic
how does assembler work
-translates the low level assembly lang to machine code line by line
-produces an executable file from source code which can run on any comp.
-assembled programs are used without assembler
-used when distribution for general use
advantages & disadvantages of complier
A:
-faster execution as machine code is directly loaded on the file
-complied program can be executed without complier
-takes up less memory space when executed
D:
-longer to write
-longer to debug & test
-more likely to crash - machine code produced run directly on processor
advantages & disadvantages of interpreter
A:
-quicker to debug & test
-easier to edit programs
D:
-slow execution of loops
-source code always needs an interpreter
what is an interupt
signal sent from device/ software to microprocessor to make it temporarily stop its activity
causes of interrupts
-timing signal - operation is out of sync
-Input/ output process - when hardware asks for more data to be sent
-hardware fault - hardware doesn’t work
-user interaction - user presses <BREAK> key
-software error - file cannot be found, 2 programs accessing the same memory location</BREAK>
features of Integrated Development Environment (IDE)
-code editors - allows program to be manipulated without needing a separate text editor
-translators - allows program to be executed
-a runtime environment with a debugger - allows programmer to set break point
-error diagnostics - find errors
-auto completion - complete variable names
-auto correction - alerts on errors & provide suggestions
-auto documenters - explain functions of keywords
-pretty printing - colour codes words