Operating Systems

Operating Systems

The Operating System allows applications to communicate with the different parts of the computer (through the CPU). It determines what goes where and when.

There is very little standardisation between operating systems, that is, applications that run on one operating system will usually not run on another.

Older operating systems managed standalone PCs. A standalone PC functions by itself without having to rely on another PC or server for data, applications, peripherals or internet access.

Multiuser operating systems allow more than one user to access the computer at any one time. This is possible using terminals. Most big companies have replaced the terminals in their offices with networked PCs, which have more capabilities than just the input/output functions of terminals.

An example of a multiuser operating system is an ATM network, where a single mainframe can control hundreds of ATMs (terminals). The mainframe polls each terminal in sequence to check for a processing request, and, if it receives one, spends a few milliseconds processing the request. This polling/processing sequence is called time-slicing. The ATMs (terminals) do not process the transaction, the mainframe does.

A multitasking operating system allows the processor to perform several jobs at once. Because a processor works at billions of instructions per second and a disc only at thousands, the processor will work on other jobs/instructions while it waits for the disc to catch up.

Another development is parallel or distributed processing. Parallel processing is where more than one processor is in the computer. Distributed processing is utilising processors on computers spread across a network (eg when they are idle).

Backing Up

All companies should have a backup policy or at the very least, a schedule. Most big companies with large customer databases will at least backup after each day's work.

Some companies run backups outside of business hours and use multiple data backups to perform other business functions. For example, a call centre may use a copy of a database for customer enquiries, data extracts for financial or marketing purposes may be created from the backup database during business hours - this frees up the original database, minimising disruption to the business during the day.

For example, a big insurance company may have the following business functions:

  1. Call centre (150 employees)
  2. Claims (100 employees)
  3. Changes to policies or customer details (50 employees)
  4. Financials and payments (10 employees)

If all of these business functions were utilising the one database continually throughout the day, this may create massive amounts of traffic which could slow the system's response time (not good when you have a customer waiting, or if you have unrealistic productivity targets), so a company may develop ways to make more efficient use of data, such as making copies of databases and processing jobs overnight.

Anyway, here's the text's spin on backing up: cut and pasted from the textbook here:


System Maintenance

Murphy's Law states: "If anything can go wrong, it will go wrong, at the worst possible time". This is never more apparent in computing than when vital files are lost.

Backing up files should be part of your working strategy in operating a computer. It is important to make regular backups; the more significant the files - the more regular the backup. It is also a good idea to either leapfrog your backups (i.e. keep one or even two generations of earlier backups before overwriting them) or to use incremental backups. This is where you make a regular full backup, and then make more common smaller backups of files that have changed since the last full backup.

Backup can be by using special backup programs or by compressing the required files using a zip (or similar) compression utility. Zipping can also be useful for compressing files for transfer over the Internet as it reduces file size.

If you lose some files it will be time to call on your earlier backup and restore the lost data.

A virus is a self duplicating program that copies itself onto computers and performs an action the computer owner does not intend. Again it is part of your working strategy to regularly check your hard drive(s) for viruses, and most importantly to check every floppy disc, and every Internet download or email for viruses before you give them access to your computer.

There are often unwanted files on disc that it is a good idea to remove every now and then to remove clutter and save disc space. Two places these can be found are in the recycled/trash bin or temp folders.

When files are deleted from a hard disc they are sent to a special folder (the recycle bin in Windows). This is a precaution to prevent accidental deletion, or to hold files in case you later find you still want them. This folder needs clearing out every now and then.

Many applications, as they are running, write temporary files to the hard drive. These files hold data that will not fit into memory (RAM). When the application is closed the temporary files are normally deleted automatically. If for any reason the application does not close normally (Reset button pressed, power failure, etc.) the temp files remain on disc. After a while these can clutter up the hard disc and should be removed. In Windows computers these files are recognised by the extension ‘.tmp’ or by having a tilde ~ in front of the file name. In deleting any files be very sure they are not files needed for the computer or applications to run.

Finally after time a disc will need to be defragmented. When files are written to disc then are placed in the nearest available spare slot. As some files are deleted they leave gaps that parts of new files are written into. Over time there will be parts of files inefficiently spread all over the disc. The process of defragmentation collects these parts of files together in one continuous band that frees up disc space and speeds up file access.


Programming Languages

A program is a series of instructions the computer follows to complete a task.

The computer operates in machine code (1s and 0s). For us, programming is made easier - more English-like - through high level languages the syntax of which are consistent across operating systems, that is, programming in Delphi on a Mac uses the same syntax (commands and structure) as on a Windows or Unix machine. The earliest computers were not programmed like they are today - they were hard-wired to run a single program. Dr John von Neumann suggested that instead we should give computers instructions at the same time we give it data.

As computers worked in binary, programs were difficult to write (initial program creation), maintain (modifications to the tasks it performs) and debug (error checking). To make it easier, programmers developed mnemonics (a tool to aid recall), codes for groups of binary numbers they used frequently. For example, 0011 1101 0101 1101 0101 1101 in machine code *another word for the language computers work in), may instruct the computer to 'Load Accumulator'. This might be coded as LDA in mnemonic. These mnemonics form assembly language, a low-level language because it is specific to the processor.

There are 3 categories of high-level languages.

  • System languages for general purpose programming.
  • Object-oriented programming (OOP) languages allow the programmer to manipulate 'objects' within the program.
  • Scripting languages are used to connect various components together, and complement system languages.

Programs can be compiled (converted to machine code permanently) or interpreted (converted to machine code as it is running). There are advantages and disadvantages to each method.

Full details of the Programming Languages content covered in class are on textbook pages 36-38. Check your knowledge with this revision quiz.

Unless stated otherwise Content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License