An operating system comes with utility programs that format, protect, tidy, repair, shrink and back up your storage. Programmers, meanwhile, rarely start from nothing: they build on program libraries, including Dynamic Link Library files. Learn what each utility does and why libraries help developers.
Utility software is system software that helps to maintain, protect and optimise the computer: a disk formatter, a virus checker, defragmentation software, disk contents analysis / disk repair software, file compression and back-up software. A program library is a collection of pre-written, pre-tested routines that developers can use in new programs. A Dynamic Link Library (DLL) is linked to a program when it runs, so one copy can be shared by many programs and updated without recompiling them.
Each utility exists because of a specific problem. In an answer, name the utility and then say what it does and why that is needed.
| Utility | What it does and why it is needed |
|---|---|
| Disk formatter | prepares a storage device for first use: sets up the file system and the structure (e.g. tracks and sectors) the OS uses to store files; can partition a disk; removes existing data so a disk can be reused; a full format also checks for bad sectors |
| Virus checker | scans files and memory for viruses and other malware, comparing them with a database of known signatures and looking for suspicious behaviour; quarantines or deletes infected files; must be updated regularly to detect new threats |
| Defragmentation software | over time files are split into blocks scattered across a magnetic hard disk; the defragmenter moves blocks so each file is stored contiguously and free space is grouped, so the read/write heads move less and files load faster |
| Disk contents analysis / disk repair | analyses how disk space is used (which files and folders take most space) so space can be freed; checks the disk for errors and bad sectors, marks bad sectors so they are not used, and repairs file system inconsistencies |
| File compression | reduces the size of files (lossless or lossy) so they take less storage space and are quicker to transmit; can bundle several files into one archive |
| Back-up software | makes copies of files on another device or in the cloud, often automatically to a schedule (full or incremental back-ups), so data can be restored after loss, corruption or a ransomware attack |
Defragmenting a solid state drive gives no speed benefit (it has no moving heads) and causes extra write operations that wear it out. Defragmentation is for magnetic hard disks.
Software under development is often constructed from existing code. A program library holds routines (procedures, functions, classes) that have already been written, compiled and tested, such as maths functions, graphics, sorting or file handling.
Say the routines are pre-tested, not just pre-written. "It is already written" gains the time mark but not the reliability mark.
Four quick checks. Each correct answer earns XP and records this skill on your profile.
What does defragmentation software do?
Which utility prepares a new disk for use by setting up its file system?
What is a program library?
When is a Dynamic Link Library linked to a program?
A library can be joined to a program in two ways. With a static library, the linker copies the routines into the executable file. With a DLL, the executable only holds a reference, and the DLL file is loaded and linked when the program runs.
| Static library | Dynamic Link Library (DLL) | |
|---|---|---|
| When linked | at compile / link time | at run time (when loaded or when first called) |
| Executable file size | larger: contains the library code | smaller: library code is in a separate file |
| Memory use | each program loads its own copy | one copy in memory can be shared by several programs |
| Updating the library | every program must be re-linked / recompiled | replace the DLL file; all programs using it get the update |
| Risk | program is self-contained | if the DLL is missing, or a new version is incompatible, the program fails to run |
Unlocks once the four checks above are done. Worth more XP, written to AS Paper 1 and Paper 2 standard.
Which is a benefit to a developer of using DLL files?
Why does a virus checker need regular updates?
Which utility identifies bad sectors and marks them so they are not used?
Why might a developer not want to use a library routine?
This skill is now recorded on your profile. Keep the chain going.