- [Craig] In this video, we consider utility system software.
(uplifting piano jingle)
Encryption is a topic that you would have studied in 1.3 when you looked at computer networks, connections and protocols.
Encryption utilities can also be part of the operating system.
They use algorithms to scramble plain text into what is known as cipher text.
The text can only be decrypted and made readable again with a key encryption.
Techniques may be very simplistic such as a Caesar cipher, or they may be incredible complex,
potentially taking computers hundreds of thousands of years to be able to decrypt or hack the actual key.
Defragmentation utilities reorganise files on a hard disk.
It puts the fragments of files back together and collects free space.
This reduces the movement of the read-write head across the surface of disks, and this speeds up access to files.
Solid-state drives should not be defragmented.
It's unnecessary because they've got no moving parts and they can access files very quickly already.
It actually reduces their lifespan due to the way those devices actually work.
Defragmentation typically includes taking all the fragments of a file, which you can see in this illustration,
it takes them and puts them into a single file towards the end of a disk,
reorganising those fragments and putting them back together again.
Once it's done, it's able to free up sufficient space at the start of the disk and then move the files back to the front.
The result is that all the files are continuous, one after the other, starting at the beginning of the disk,
and all the free space is collected towards the end.
Compression utilities reduce the size of a file so it takes up less disk space and is quicker to download over the internet.
Compressed files must be extracted before they can be read,
so typically, we might consider a video on YouTube like the one you're watching now.
It needs to be compressed because you want to watch that video in real time.
You need it to be streamed, and there would just be too much data, especially if the video was high quality.
Now, depending on the algorithm used, data is either lost during this compression,
which reduces the quality of an image or sound - for example, JPEG -
or the data is represented in a different way using binary, retaining the original data in a new, compressed format.
For example, with a ZIP file.
If we look at a very simplistic idea of how this might work, you can see in this illustration,
we've got eight 1s, we've got eight 0s, we've got eight 1s and finally, we've got eight 0s.
Now, we don't actually need to store every single bit.
Instead, what we could store is the number of 1s and the number of 0s.
So here, we've got eight 1s followed by eight 0s, followed by eight 1s, followed by eight 0s.
As long as we know that we started with 1s and then we changed every time the bit state change
then it's very easy to uncompress this data back into its original format.
The first number 8 means we need eight 1s, the second number 8 means that's followed by eight 0s,
and so on and so forth.
It is very easy to reverse this process.
As a result, we've stored significantly less data.
In the case of this simple example, we've actually halved the number of data we're storing.
(uplifting piano jingle)