An operating system manages the computer's hardware and provides services for software. Functions: user interface (GUI or command line), memory management, multitasking (process scheduling), file management, device management (drivers) and security (accounts, permissions).
Examples: Windows, macOS, Linux, Android, iOS.
Operating system responsibilities
Types of software
System software: OS and utility software (antivirus, backup, disk defragmenter, compression).
Application software: performs tasks for users (word processor, web browser, games).
System and application software
Programming languages
High-level languages use readable abstractions and can be implemented on different platforms; a suitable translator or runtime and libraries are still needed.
Machine code and assembly are low-level and processor-specific. They permit close hardware control, but are harder to write and maintain.
Translating and running source code
Translators
In the simplified GCSE model, a compiler translates source before execution, often producing a native executable; an interpreter translates and executes as the program runs.
An assembler translates assembly notation to machine code. Real systems may combine interpretation, bytecode and just-in-time compilation.
Compiled code often runs faster, while interpretation can support interactive debugging; neither is a universal speed rule.
Open source vs proprietary
Open-source licences provide source-code access and permissions to use, modify and redistribute under specified conditions.
Proprietary licences reserve more control to the rights holder. Proprietary software may be paid or free; price alone does not determine the licence category.
投影片
Sign up free to view the lesson slides
Step through every slide for this topic — plus flashcards and revision notes — with a free account.