Operating Systems

What is an Operating System (OS)

An operating system (OS) is software that manages computer hardware and software resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function.

The operating system is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers.

For large systems, the operating system has even greater responsibilities and powers. It is like a traffic cop -- it makes sure that different programs and users running at the same time do not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system.

An operating system is the most important software that runs on a computer. It manages the computer's memory, processes, and all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer's language.Without an operating system, a computer is useless.

Your computer's operating system (OS) manages all of the software and hardware on the computer. Most of the time, there are many different computer programs running at the same time, and they all need to access your computer's central processing unit (CPU), memory, and storage. The operating system coordinates all of this to make sure each program gets what it needs.

BBC Bitesize - Operating Systems Revision - an excellent revision summary and quiz on operating systems - highly recommended read!

Types of operating systems

Operating systems usually come preloaded on any computer you buy. Most people use the operating system that comes with their computer, but it's possible to upgrade or even change operating systems.

The three most common operating systems for personal computers are Microsoft Windows, Apple Mac OS X, andLinux.

Modern operating systems use a graphical user interface, or GUI (pronounced gooey). A GUI lets you use your mouse to click icons, buttons, and menus, and everything is clearly displayed on the screen using a combination ofgraphics and text.

Each operating system's GUI has a different look and feel, so if you switch to a different operating system it may seem unfamiliar at first. However, modern operating systems are designed to be easy to use, and most of the basic principles are the same.

Newer operating systems include iOS and Android for mobile devices and phones.

Before GUIs, computers had a command-line interface, which meant users had to type every single command to the computer and the computer would only display text.

Proprietary v Open Source Software

Proprietary operating systems cannot be modified by users or other companies. For example, Windows and OS X are both proprietary OSes. The Windows source code is owned by Microsoft and the OS X source code is owned by Apple. Other companies can make programs that run on these operating systems, but they cannot modify the OS itself. Linux and Android are not proprietary, which is why many different versions of these operating systems exist.

Proprietary software programs are applications in which all rights are retained by the developer or publisher. They are typically closed-source, meaning the developer does not provide the source code to anyone outside the company. Proprietary programs are licensed to end users under specific terms defined by the developer or publisher. The agreement is called a EULA - end user licence agreement. These terms often restrict the usage, distribution, and modification of the software. Most commercial software is proprietary because it gives the developer a competitive advantage. eg MS Office, Photoshop.

Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. eg. Open Office, GIMP.

Open source software is software with source code that anyone can inspect, modify, and enhance.

"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly. Open source software is normally available for free download and use, but may not be onsold for profit.

More About Open Source Software

Operating System Concepts

To understand the capabilities of an operating system, it is important to understand some basic terms. The following terms are often used when comparing operating systems:

Multiuser: Two or more users can work with programs and share peripheral devices, such as printers, at the same time.

Multitasking: The computer is capable of operating multiple applications at the same time.

Multiprocessing: The computer can have two or more central processing units (CPU) that programs share.

Multithreading: A program can be broken into smaller parts that can be loaded as needed by the operating system. Multithreading allows individual programs to be multitasked.

Almost all modern operating systems are multiuser and multitasking, and they support multiprocessing and multithreading.

Real Time v Batch Processing OS

Operating systems can also be defined as Real Time or Batch Processing.

Intro to Batch Processing

Batch Processing

Executing a series of non-interactive jobs all at one time. The term originated in the days when users entered programs on punch cards. They would give a batch of these programmed cards to the system operator, who would feed them into the computer.

Batch jobs can be stored up during working hours and then executed during the evening or whenever the computer is idle. Batch processing is particularly useful for operations that require the computer or a peripheral device for an extended period of time. Once a batch job begins, it continues until it is done or until an error occurs. Note that batch processing implies that there is no interaction with the user while the program is being executed.

An example of batch processing is the way that credit card companies process billing. The customer does not receive a bill for each separate credit card purchase but one monthly bill for all of that month's purchases. The bill is created through batch processing, where all of the data are collected and held until the bill is processed as a batch at the end of the billing cycle. Batch processing usually occurs at night or other times when the computers are normally inactive.

An early batch processing computer An early computer data entry punch card

Real Time Processing

Real time processing is usually found in systems that use computer control.

This processing method is used when it is essential that the input request is dealt with quickly enough so as to be able to control an output properly. The is called the 'latency'.

For example, the computer inside the Engine Control Unit in a car has to manage the engine at every moment based on what the driver wants to do.

Real time processing has to be programmed very carefully to ensure that no input events are missed.

Note that real-time processing does not have to be 'fast'.

For example, a traffic light system is a real-time system but it only needs to process data relatively slowly. On the other hand, controlling a car engine has to deal with input events happening every thousandth of a second so a very fast computer is needed to do this -but both the traffic-light and the car engine computers are carrying out 'real-time' processing.

Examples:

Traffic lights

Heart rate monitoring

Aircraft control

Computer games

Controlling robots

Anti-missile defense systems

Ticket booking systems

The user interface of a real-time system may use specialist input devices to provide data input.. For example, a car driver will be providing input data to the onboard computer with throttle and brake pedals. A gamer may be using a joystick or hand held control to interact with the real-time game. A traffic light system may sense the car at the lights using a buried inductive loop.

OS Resource Allocation

In computing, resource allocation is necessary for any application to be run on the system. When the user opens any program this will be counted as a process, and therefore requires the computer to allocate certain resources for it to be able to run. Such resources could have access to a section of the computer's memory, data in a device interface buffer, one or more files, or the required amount of processing power.

A computer with a single processor can only perform one process at a time, regardless of the amount of programs loaded by the user (or initiated on start-up). Computers using single processors appear to be running multiple programs at once because the processor quickly alternates between programs, processing what is needed in very small amounts of time. This process is known as multitasking or time slicing. The time allocation is automatic, however higher or lower priority may be given to certain processes, essentially giving high priority programs more/bigger slices of the processor's time.

On a computer with multiple processors different processes can be allocated to different processors so that the computer can truly multitask. Some programs, such as Adobe Photoshop and Premiere, which can require intense processing power, have been coded so that they are able to run on more than one processor at once, thus running more quickly and efficiently.

Resource allocation - is assigning pre-set amounts of RAM for certain functions. For example, when a computer first boots-up - it allocates a portion of the machine's RAM for Windows to use - even though the actual program doesn't occupy all the computer's memory. It simply holds some 'in reserve'.

Types of Memory

RAM

Random-access memory (RAM) is a type of computer data storage. A RAM device makes it possible to access data in random order, which makes it very fast to find a specific piece of information. Certain other types of storage are not random-access. For example, a hard disk drive and a CD will read and write data in a predetermined order. The mechanical design of these devices prescribes that data access is consecutive. This means that the time it takes to find a specific piece of information can vary greatly depending on where it is located on the disk.

RAM devices are used in computer systems as the main memory. RAM is considered volatile memory, which means that the stored information is lost when there is no power. So, RAM is used by the central processing unit (CPU) when a computer is running to store information that needs to be used very quickly, but it does not store any information permanently.

Present-day RAM devices use integrated circuits to store information. This is a relatively expensive form of storage and the cost per unit of storage is much higher than for devices like a hard drive. However, the time to access data is so much faster for RAM that speed outweighs cost. A computer therefore uses a certain amount of RAM for fast-access, temporary storage of information and a much larger amount of non-random, permanent mass storage, like a hard disk drive. For example, a typical computer system may have two to eight GB (gigabytes) of RAM, while the storage capacity of the hard disk drive can be several hundred GB or even one TB (terabyte).

ROM

Short for Read-Only Memory, ROM is a storage medium that is used with computers and other electronic devices. As the name indicates, data stored in ROM may only be read; it is either modified with extreme difficulty or not at all. ROM is mostly used for firmware updates. A simple example of ROM is the cartridge used with video game consoles; which allows one system to run multiple games. Another example of ROM is EEPROM, which is a programmable ROM used for the computer BIOS, as shown in the picture.

Unlike Random Access Memory (RAM), ROM is non-volatile which means it keeps its contents regardless of whether or not it has power.

Storage

People often confuse the terms memory and storage, especially when describing the amount they have of each. The term memory refers to the amount of RAM installed in the computer, whereas the term storage refers to the capacity of the computer’s hard disk.

What is the Boot Process?

What is the computers BIOS?

Hard Disc Drives

Every computer has one or more disk drives—devices that store information on metal or plastic disks. Hard disks can store a vast amount of information, including photos, videos, music, documents, programs and more. Your computer's hard disk drive stores information even when your computer is turned off. Storage (whether in the form of a hard drive or SSD) is the component in your computer that allows for long-term data access. It's the component that accesses and stores your files, applications and operating system.

External hard disks

The simplest way to add more hard disk space to your PC is to plug in an external hard disk. An external hard disk is a great way to store more digital photos, videos, music, and other large files. It can supplement the storage space on your computer’s internal hard disk, especially if your internal hard disk is running low on space. An external hard disk is also a great way to store a backup copy of important files.

USB flash drives

A USB (universal serial bus) flash drive is a small, portable device that plugs into a computer's USB port. Like a hard disk, a USB flash drive stores information, but usually a lot less than most hard drives. USB flash drives vary in size and shape and can hold gigabytes of information. They’re sometimes called thumb drives because they’re about the size and shape of a person’s thumb. They can be carried around easily, which makes them a good choice for transferring information from one computer to another. USB flash drives are also called pen drives, key chain drives, key drives, or memory sticks.

CD and DVD drives

Nearly all computers today include a CD or DVD drive, usually located on the front of the system unit. CD drives use lasers to read (retrieve) data from a CD; many CD drives can also write (record) data onto CDs. If you have a recordable disk drive, you can store copies of your files on blank CDs. You can also use a CD drive to play music CDs on your computer.

DVD drives can do everything that CD drives can, plus read DVDs. If you have a DVD drive, you can watch movies on your computer or play music CDs. Many DVD drives can record data onto blank DVDs.

Memory cards

Flash memory cards store computer information such as text, pictures, and music. You can erase and reuse memory cards over and over. Most digital cameras store pictures and video on a CompactFlash memory card or a Secure Digital (SD) card.

Backing Up Data

Backups - Everything you need to know

Diagnostic and Maintenance Tools

Diagnostic tools are used to return information about hardware or software.

Maintenance tools are used to keep your hardware and software running smoothly.(optimise performance)

Try these Windows tools and work out what they do and which category they fit into:

    • event viewer

    • disk clean

    • troubleshooting

    • device manager

    • uninstall

    • defrag

    • virus or malware scan

    • driver query

    • ping

    • ipconfig

    • systeminfo

    • task manager

What are some third party utilities that can be used for diagnostics or maintenance?

Disk Formatting