knowt logo

Computer Organisation (IB)

Central Processing Unit

CPU (Central Processing Unit)

  • Key Component: The central element of a computer system.

  • Main Functions: Contains the circuitry necessary to:

    • Fetch program instructions from main memory (RAM).

    • Decode these instructions.

    • Execute the instructions.

CU (Control Unit)

  • Command Handling:

    • Loads new commands into the CPU.

    • Decodes these commands.

  • Data Flow Direction: Directs the flow of data and the operation of the ALU.

ALU (Arithmetic Logic Unit)

  • Function:

    • Performs all arithmetic operations (e.g., addition and subtraction).

    • Conducts logical operations (e.g., AND, OR).

  • Core: Sometimes referred to as a ‘core’; dual-core technology implies two ALUs for parallel processing of two calculations.

MAR (Memory Address Register)

  • Connection: Connected to the address bus.

  • Function: Contains the RAM address of the next instruction the CPU wants.

MDR (Memory Data Register)

  • Connection: Connected to the data bus.

  • Function:

    • Holds data to be written to RAM.

    • Holds data read from RAM.

  • Relationship with MAR:

    • The MAR provides the address.

    • The MDR holds the data to be read from or written to that address.

Buses

  • Definition: Connecting wires that link the CPU to other devices, carrying instructions to/from components. Usually integrated into the motherboard.

  • Types of Buses:

    • Data Bus: Links RAM to the CPU via the MDR.

    • Control Bus: Links RAM to the CPU via the CU.

    • Memory Bus: Links RAM to the CPU via the MAR.

    • Address Bus: Links RAM to the CPU via the MDR.

Primary Memory

RAM (Random Access Memory)

  • Definition: RAM stands for Random Access Memory.

  • Volatility: Volatile memory (data is deleted when power is lost).

  • Function:

    • Stores the modules needed to make applications work.

    • Provides temporary storage for programs and data loaded since booting up.

    • Supports multitasking by allowing multiple windows to be open and enabling quick switching between them.

  • Example: When you open a word processing application, there may be a short delay as the necessary modules are loaded into RAM.

ROM (Read Only Memory)

  • Definition: ROM stands for Read Only Memory.

  • Function:

    • Contains the BIOS (Basic Input/Output System) and startup operations.

  • Volatility: Non-volatile memory (data is retained even when power is lost).

  • Immutability: Data cannot be changed as ROM is read-only and cannot be written to.

Cache Memory

  •   A small, high-speed memory inside the CPU is used to hold frequently used data, so the CPU needs to access the much slower RAM less frequently.

  • This results in faster processing speeds.

Fetch – Decode – Execute Cycle (Machine Instruction Cycle)

The Fetch – Decode – Execute cycle, also known as the instruction cycle, is the process by which a computer retrieves a program instruction from memory, determines what actions are required, and then carries out those actions. Here’s a step-by-step breakdown of this cycle:

Step 1: Fetch

  1. Program Counter (PC) Points to the Next Instruction:

    • The Program Counter holds the address of the next instruction to be executed.

  2. Instruction Fetch:

    • The Control Unit sends the address in the Program Counter to the memory unit to fetch the instruction located at that address.

  3. Instruction Loaded into Instruction Register (IR):

    • The instruction is fetched from memory and loaded into the Instruction Register.

  4. Increment Program Counter (PC):

    • The Program Counter is incremented to point to the next instruction in sequence. This prepares the system to fetch the next instruction in the following cycle.

Step 2: Decode

  1. Instruction Decoding:

    • The Control Unit reads the instruction from the Instruction Register and decodes it to determine what actions are needed.

  2. Identify Operand(s) and Opcode:

    • The instruction is typically divided into two parts: the opcode (operation code) which specifies the operation to be performed, and the operand(s) which are the data or addresses involved in the operation.

  3. Load Necessary Data:

    • If the instruction requires additional data, such as an operand located in memory, the Control Unit will fetch this data from the specified memory address or register.

Step 3: Execute

  1. Execute the Instruction:

    • The Control Unit sends the decoded information to the relevant components of the CPU to carry out the instruction. This may involve arithmetic or logic operations, data movement, or control operations.

  2. Perform ALU Operations:

    • If the instruction involves arithmetic or logic operations, the Arithmetic Logic Unit (ALU) performs the specified operation on the data.

  3. Write Back Results:

    • The result of the operation is written back to a register or memory location, as specified by the instruction.

  4. Update Status Register:

    • The Status Register (or Flags Register) is updated based on the outcome of the operation (e.g., setting flags for zero, carry, overflow, etc.).

Step 4: Repeat

  1. Cycle Repeats:

    • The cycle repeats from the fetch step, now with the Program Counter pointing to the next instruction.

Persistent Storage

  • We need persistent storage to be able to keep all our files and data for later use. It allows us to permanently store a variety of data. Persistent storage is important as without it, data would be lost when the computer was turned off due to RAM being volatile.

  • History of Storage:

    • The Solectron Tube (32 to 512 bytes)

    • Punch Cards (input both programs and data)

    • Punched Tape

    • Magnetic Drum Memory (around 10kB)

    • Hard Disk Drive (5 million characters – just under 5 MB 1956, 2.52GB)

Operating System Functions

  • An operating system is a group of computer programs that co-ordinates all the activities among computer hardware devices. It is the first program loaded into the computer by a boot program and always remains in memory. 

  • The basic functions of an operating system are:

    • Booting the computer

    • Performs basic computer tasks e.g. managing the various peripheral devices e.g. mouse, keyboard.

    • Provides a user interface, e.g. command line, graphical user interface (GUI).

    • Handles system resources such as a computer’s memory and sharing of the central processing unit (CPU) time by various applications or peripheral devices.

    • Provides file management which refers to the way that the operating system manipulates, stores, retrieves and saves data.

  • Booting the computer:

    • The process of starting or restarting the computer is known as booting.

    • A cold boot is when you turn on a computer that has been turned off completely.

    • A warm boot is the process of using the operating system to restart the computer.

Key Functions of an Operating System (OS)

  1. User Interface (UI)

    • Definition: The means by which the user interacts with the computer system.

    • Types:

      • Graphical User Interface (GUI): Features icons, windows, and menus.

      • Command Line Interface (CLI): Requires text commands.

    • Importance: Provides an accessible and intuitive way for users to interact with the computer and execute commands.

  2. Memory Management

    • Definition: The process of managing the computer's memory resources.

    • Functions:

      • Allocation and Deallocation: Assigns memory to processes and reclaims it when no longer needed.

      • Virtual Memory: Extends physical memory by using disk space.

      • Segmentation and Paging: Divides memory into segments and pages for efficient management.

    • Importance: Ensures efficient utilization of memory, prevents memory leaks, and provides isolation between processes.

  3. Peripheral Management

    • Definition: The control and management of peripheral devices such as printers, scanners, and external drives.

    • Functions:

      • Device Drivers: Software that communicates with hardware devices.

      • I/O Operations: Manages input and output operations between the system and peripherals.

    • Importance: Facilitates the communication between the computer and external devices, ensuring they function correctly.

  4. Multitasking

    • Definition: The ability of the OS to execute multiple tasks simultaneously.

    • Functions:

      • Process Scheduling: Determines the order and time allocation for processes.

      • Context Switching: Saves and restores the state of processes for smooth execution.

    • Importance: Enhances the efficiency of the computer by allowing multiple applications to run concurrently, improving user productivity.

  5. Security

    • Definition: The mechanisms implemented to protect the system and data from unauthorized access and threats.

    • Functions:

      • User Authentication: Verifies the identity of users through passwords, biometrics, etc.

      • Access Control: Manages permissions for users and processes to access resources.

      • Encryption: Protects data confidentiality by encoding it.

      • Firewall and Antivirus: Defends against external threats and malware.

    • Importance: Ensures the integrity, confidentiality, and availability of data and resources, protecting the system from attacks and unauthorized access.

Outline the use of a range of application software

Examples of Software Applications

  1. Word Processors (e.g., LibreOffice Writer, Google Docs)

    • Definition: A program for storing, manipulating, and formatting text entered from a keyboard and providing a printout.

    • Functions:

      • Text editing and formatting

      • Spell checking and grammar correction

      • Insert images, tables, and other multimedia

      • Save and export documents in various formats

  2. Spreadsheets (e.g., Google Sheets, LibreOffice Calc)

    • Definition: A program in which data is arranged in the rows and columns of a grid and can be manipulated and used in calculations.

    • Functions:

      • Organize data in cells, rows, and columns

      • Perform mathematical and statistical calculations

      • Create charts and graphs for data visualization

      • Use functions and formulas for data analysis

  3. Database Management Systems (DBMS) (e.g., MySQL, PostgreSQL)

    • Definition: System software for creating and managing databases. The DBMS provides users and programmers with a systematic way to create, retrieve, update, and manage data.

    • Functions:

      • Data storage, retrieval, and updating

      • Database creation and management

      • Query processing and optimization

      • Ensuring data integrity and security

      • Providing support for multi-user access and concurrency control

  1. Email Clients (e.g., Microsoft Outlook, Mozilla Thunderbird)

    • Definition: A computer program used to access and manage a user's email.

    • Functions:

      • Send and receive emails

      • Organize emails into folders and categories

      • Manage contacts and address books

      • Support for multiple email accounts

      • Email filtering and spam detection

  2. Web Browsers (e.g., Mozilla Firefox, Google Chrome)

    • Definition: A software application for retrieving, presenting, and traversing information resources on the World Wide Web.

    • Functions:

      • Display web pages and multimedia content

      • Navigate between pages using hyperlinks

      • Support for various web standards (HTML, CSS, JavaScript)

      • Bookmarks and history management

      • Extensions and plugins for additional functionality

  3. Computer-Aided Design (CAD) (e.g., AutoCAD, SolidWorks)

    • Definition: Programs that use computer systems to assist in the creation, modification, analysis, or optimization of a design.

    • Functions:

      • Create detailed 2D and 3D models

      • Draft technical drawings and schematics

      • Simulate and analyze designs for stress, heat, and other factors

      • Generate blueprints and specifications

      • Enhance productivity and accuracy in the design process

  4. Graphic Processing Software (e.g., Adobe Photoshop, GIMP)

    • Definition: Graphics software or image editing software is a program or collection of programs that enable a person to manipulate visual images on a computer.

    • Functions:

      • Edit and enhance digital images

      • Create and manipulate raster and vector graphics

      • Apply filters, effects, and transformations

      • Work with layers and masks for complex compositions

      • Export images in various formats for print and web use

Identify common features of applications

Common Features of Most Programs

  1. Toolbars

    • Definition: A set of icons or buttons that are part of a software program's interface or an open window.

    • Functions: Provide quick access to frequently used commands and functions.

  2. Menus

    • Definition: A list of options or commands presented to the user.

    • Functions: Allow users to choose actions or settings by selecting from a list.

  3. Dialogue Boxes

    • Definition: A small window that prompts the user to provide information or make decisions.

    • Functions: Facilitate user input, display messages, and provide options or settings for tasks.

  4. GUI Components

    • Graphical User Interface (GUI):

      • Definition: A user interface that includes graphical elements like windows, icons, and buttons.

      • User-Friendly: Provides an intuitive way for users to interact with the computer using visual elements.

      • Components:

        • Windows: Rectangular areas on the screen where applications run.

        • Icons: Pictures or symbols representing software applications or hardware devices.

        • Menus: Lists of options from which users can choose actions.

        • Pointers: Symbols (e.g., an arrow) that move around the screen with mouse movement, helping users select objects.

    • WIMP Interface (Windows, Icons, Menus, Pointers):

      • Windows: Rectangular sections on the screen that display content and applications.

      • Icons: Visual representations of applications, files, or functions.

      • Menus: Organized lists of commands and options.

      • Pointers: Moveable symbols that facilitate interaction with screen elements.

OS vs. Application Features

  1. OS-Provided Features:

    • Standard Interface Elements: Certain parts of the user interface, such as menu bars and buttons, are provided by libraries in the operating system.

    • Consistency: Ensures a consistent look and feel across different applications.

  2. Application-Specific Features:

    • Customization: Applications can customize specific aspects of the interface, such as icons, pictures, and specific functionalities.

    • Unique Elements: Each application may have unique features and designs to enhance its specific use case.

Example

  • Menu Bar and Buttons:

    • Standard Elements: The structure and behavior of menu bars and buttons are often provided by the OS.

    • Application Customization: The specific icons, pictures, and additional features of the menu bar and buttons are defined by the individual application.

Command Line:

  • A Command Line Interface allows the user to interact directly with the computer system by typing in commands (instructions) into a screen which looks like the one below:

  • Before Windows was developed, this type of user interface was what most people used to get the computer to follow instructions.

  • It is still around though, for example a technician setting up a server in a data centre might use a command line interface or a mainframe administrator setting up a configuration file.

  • The main disadvantage of a command line interface is that the person must have detailed knowledge of the command that can be used.

Bit, Byte, Binary, Denary / Decimal, Hexadecimal

  • Bit

    • Definition: A ‘bit’ (short for ‘binary digit’) is the smallest unit of data that can be stored by a computer.

    • Representation: Each ‘bit’ is represented as a binary number, either 1 (true) or 0 (false).

  • Nibble

    • Definition: A nibble consists of 4 bits.

  • Byte

    • Definition: Contains 8 bits.

    • Example: A byte could be stored as 11101001.

    • Usage: A single keyboard character that you type takes up one byte of storage.

  • Denary / Decimal

    • Definition: Base 10 number system.

    • Usage: In our everyday lives, we use a ‘denary’ number system which has the number digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 (a ‘base-10’ number system).

    • Examples: 5, 24, 316, 8715.

  • Hexadecimal

    • Definition: Numbers using the base-16 notation.

    • Usage: Hexadecimal numbers use the digits 0-9 and the letters A-F to represent values.

    • The decimal numbers 10 to 15 are represented with the letters A to F. There are 16 values, hence why it is a base-16 number system (this means that it represents everything using just 16 symbols)

    • Often used when programming because hex is easier to remember than binary but faster to run than denary which is normal base 10.

    • Hex can be used to represent anything, but you only need to know how it’s used to represent numbers. You need to be able to convert from denary to hex and back.

    • To convert to hex:

      • Take your decimal number and convert it into binary

      • Split the 8-bit binary into two four-bit section

      • Convert each four-bit section into a denary

      • Hex can only use 0-9 and A-F so any number 10 or above will be represented with a letter.

    • Allowed Hexadecimal digits are:

Boolean Operators

  • AND

    • Definition: The output is true when both A and B are true.

    • Truth Table:

      • A = True, B = True → Output = True

      • A = True, B = False → Output = False

      • A = False, B = True → Output = False

      • A = False, B = False → Output = False

  • OR

    • Definition: The output is true when either A is true, B is true, or both are true.

    • Truth Table:

      • A = True, B = True → Output = True

      • A = True, B = False → Output = True

      • A = False, B = True → Output = True

      • A = False, B = False → Output = False

  • NOT

    • Definition: The output is true when the input is false (unary operator).

    • Truth Table:

      • A = True → Output = False

      • A = False → Output = True

  • XOR (Exclusive OR)

    • Definition: The output is true when either A is true or B is true, but not when both are true.

    • Truth Table:

      • A = True, B = True → Output = False

      • A = True, B = False → Output = True

      • A = False, B = True → Output = True

      • A = False, B = False → Output = False

  • NAND

    • Definition: The output is true when not both A and B are true (the opposite of AND).

    • Truth Table:

      • A = True, B = True → Output = False

      • A = True, B = False → Output = True

      • A = False, B = True → Output = True

      • A = False, B = False → Output = True

  • NOR

    • Definition: The output is true when neither A is true nor B is true (the opposite of OR).

    • Truth Table:

      • A = True, B = True → Output = False

      • A = True, B = False → Output = False

      • A = False, B = True → Output = False

      • A = False, B = False → Output = True

Truth tables & Logic Diagrams

Computer Organisation (IB)

Central Processing Unit

CPU (Central Processing Unit)

  • Key Component: The central element of a computer system.

  • Main Functions: Contains the circuitry necessary to:

    • Fetch program instructions from main memory (RAM).

    • Decode these instructions.

    • Execute the instructions.

CU (Control Unit)

  • Command Handling:

    • Loads new commands into the CPU.

    • Decodes these commands.

  • Data Flow Direction: Directs the flow of data and the operation of the ALU.

ALU (Arithmetic Logic Unit)

  • Function:

    • Performs all arithmetic operations (e.g., addition and subtraction).

    • Conducts logical operations (e.g., AND, OR).

  • Core: Sometimes referred to as a ‘core’; dual-core technology implies two ALUs for parallel processing of two calculations.

MAR (Memory Address Register)

  • Connection: Connected to the address bus.

  • Function: Contains the RAM address of the next instruction the CPU wants.

MDR (Memory Data Register)

  • Connection: Connected to the data bus.

  • Function:

    • Holds data to be written to RAM.

    • Holds data read from RAM.

  • Relationship with MAR:

    • The MAR provides the address.

    • The MDR holds the data to be read from or written to that address.

Buses

  • Definition: Connecting wires that link the CPU to other devices, carrying instructions to/from components. Usually integrated into the motherboard.

  • Types of Buses:

    • Data Bus: Links RAM to the CPU via the MDR.

    • Control Bus: Links RAM to the CPU via the CU.

    • Memory Bus: Links RAM to the CPU via the MAR.

    • Address Bus: Links RAM to the CPU via the MDR.

Primary Memory

RAM (Random Access Memory)

  • Definition: RAM stands for Random Access Memory.

  • Volatility: Volatile memory (data is deleted when power is lost).

  • Function:

    • Stores the modules needed to make applications work.

    • Provides temporary storage for programs and data loaded since booting up.

    • Supports multitasking by allowing multiple windows to be open and enabling quick switching between them.

  • Example: When you open a word processing application, there may be a short delay as the necessary modules are loaded into RAM.

ROM (Read Only Memory)

  • Definition: ROM stands for Read Only Memory.

  • Function:

    • Contains the BIOS (Basic Input/Output System) and startup operations.

  • Volatility: Non-volatile memory (data is retained even when power is lost).

  • Immutability: Data cannot be changed as ROM is read-only and cannot be written to.

Cache Memory

  •   A small, high-speed memory inside the CPU is used to hold frequently used data, so the CPU needs to access the much slower RAM less frequently.

  • This results in faster processing speeds.

Fetch – Decode – Execute Cycle (Machine Instruction Cycle)

The Fetch – Decode – Execute cycle, also known as the instruction cycle, is the process by which a computer retrieves a program instruction from memory, determines what actions are required, and then carries out those actions. Here’s a step-by-step breakdown of this cycle:

Step 1: Fetch

  1. Program Counter (PC) Points to the Next Instruction:

    • The Program Counter holds the address of the next instruction to be executed.

  2. Instruction Fetch:

    • The Control Unit sends the address in the Program Counter to the memory unit to fetch the instruction located at that address.

  3. Instruction Loaded into Instruction Register (IR):

    • The instruction is fetched from memory and loaded into the Instruction Register.

  4. Increment Program Counter (PC):

    • The Program Counter is incremented to point to the next instruction in sequence. This prepares the system to fetch the next instruction in the following cycle.

Step 2: Decode

  1. Instruction Decoding:

    • The Control Unit reads the instruction from the Instruction Register and decodes it to determine what actions are needed.

  2. Identify Operand(s) and Opcode:

    • The instruction is typically divided into two parts: the opcode (operation code) which specifies the operation to be performed, and the operand(s) which are the data or addresses involved in the operation.

  3. Load Necessary Data:

    • If the instruction requires additional data, such as an operand located in memory, the Control Unit will fetch this data from the specified memory address or register.

Step 3: Execute

  1. Execute the Instruction:

    • The Control Unit sends the decoded information to the relevant components of the CPU to carry out the instruction. This may involve arithmetic or logic operations, data movement, or control operations.

  2. Perform ALU Operations:

    • If the instruction involves arithmetic or logic operations, the Arithmetic Logic Unit (ALU) performs the specified operation on the data.

  3. Write Back Results:

    • The result of the operation is written back to a register or memory location, as specified by the instruction.

  4. Update Status Register:

    • The Status Register (or Flags Register) is updated based on the outcome of the operation (e.g., setting flags for zero, carry, overflow, etc.).

Step 4: Repeat

  1. Cycle Repeats:

    • The cycle repeats from the fetch step, now with the Program Counter pointing to the next instruction.

Persistent Storage

  • We need persistent storage to be able to keep all our files and data for later use. It allows us to permanently store a variety of data. Persistent storage is important as without it, data would be lost when the computer was turned off due to RAM being volatile.

  • History of Storage:

    • The Solectron Tube (32 to 512 bytes)

    • Punch Cards (input both programs and data)

    • Punched Tape

    • Magnetic Drum Memory (around 10kB)

    • Hard Disk Drive (5 million characters – just under 5 MB 1956, 2.52GB)

Operating System Functions

  • An operating system is a group of computer programs that co-ordinates all the activities among computer hardware devices. It is the first program loaded into the computer by a boot program and always remains in memory. 

  • The basic functions of an operating system are:

    • Booting the computer

    • Performs basic computer tasks e.g. managing the various peripheral devices e.g. mouse, keyboard.

    • Provides a user interface, e.g. command line, graphical user interface (GUI).

    • Handles system resources such as a computer’s memory and sharing of the central processing unit (CPU) time by various applications or peripheral devices.

    • Provides file management which refers to the way that the operating system manipulates, stores, retrieves and saves data.

  • Booting the computer:

    • The process of starting or restarting the computer is known as booting.

    • A cold boot is when you turn on a computer that has been turned off completely.

    • A warm boot is the process of using the operating system to restart the computer.

Key Functions of an Operating System (OS)

  1. User Interface (UI)

    • Definition: The means by which the user interacts with the computer system.

    • Types:

      • Graphical User Interface (GUI): Features icons, windows, and menus.

      • Command Line Interface (CLI): Requires text commands.

    • Importance: Provides an accessible and intuitive way for users to interact with the computer and execute commands.

  2. Memory Management

    • Definition: The process of managing the computer's memory resources.

    • Functions:

      • Allocation and Deallocation: Assigns memory to processes and reclaims it when no longer needed.

      • Virtual Memory: Extends physical memory by using disk space.

      • Segmentation and Paging: Divides memory into segments and pages for efficient management.

    • Importance: Ensures efficient utilization of memory, prevents memory leaks, and provides isolation between processes.

  3. Peripheral Management

    • Definition: The control and management of peripheral devices such as printers, scanners, and external drives.

    • Functions:

      • Device Drivers: Software that communicates with hardware devices.

      • I/O Operations: Manages input and output operations between the system and peripherals.

    • Importance: Facilitates the communication between the computer and external devices, ensuring they function correctly.

  4. Multitasking

    • Definition: The ability of the OS to execute multiple tasks simultaneously.

    • Functions:

      • Process Scheduling: Determines the order and time allocation for processes.

      • Context Switching: Saves and restores the state of processes for smooth execution.

    • Importance: Enhances the efficiency of the computer by allowing multiple applications to run concurrently, improving user productivity.

  5. Security

    • Definition: The mechanisms implemented to protect the system and data from unauthorized access and threats.

    • Functions:

      • User Authentication: Verifies the identity of users through passwords, biometrics, etc.

      • Access Control: Manages permissions for users and processes to access resources.

      • Encryption: Protects data confidentiality by encoding it.

      • Firewall and Antivirus: Defends against external threats and malware.

    • Importance: Ensures the integrity, confidentiality, and availability of data and resources, protecting the system from attacks and unauthorized access.

Outline the use of a range of application software

Examples of Software Applications

  1. Word Processors (e.g., LibreOffice Writer, Google Docs)

    • Definition: A program for storing, manipulating, and formatting text entered from a keyboard and providing a printout.

    • Functions:

      • Text editing and formatting

      • Spell checking and grammar correction

      • Insert images, tables, and other multimedia

      • Save and export documents in various formats

  2. Spreadsheets (e.g., Google Sheets, LibreOffice Calc)

    • Definition: A program in which data is arranged in the rows and columns of a grid and can be manipulated and used in calculations.

    • Functions:

      • Organize data in cells, rows, and columns

      • Perform mathematical and statistical calculations

      • Create charts and graphs for data visualization

      • Use functions and formulas for data analysis

  3. Database Management Systems (DBMS) (e.g., MySQL, PostgreSQL)

    • Definition: System software for creating and managing databases. The DBMS provides users and programmers with a systematic way to create, retrieve, update, and manage data.

    • Functions:

      • Data storage, retrieval, and updating

      • Database creation and management

      • Query processing and optimization

      • Ensuring data integrity and security

      • Providing support for multi-user access and concurrency control

  1. Email Clients (e.g., Microsoft Outlook, Mozilla Thunderbird)

    • Definition: A computer program used to access and manage a user's email.

    • Functions:

      • Send and receive emails

      • Organize emails into folders and categories

      • Manage contacts and address books

      • Support for multiple email accounts

      • Email filtering and spam detection

  2. Web Browsers (e.g., Mozilla Firefox, Google Chrome)

    • Definition: A software application for retrieving, presenting, and traversing information resources on the World Wide Web.

    • Functions:

      • Display web pages and multimedia content

      • Navigate between pages using hyperlinks

      • Support for various web standards (HTML, CSS, JavaScript)

      • Bookmarks and history management

      • Extensions and plugins for additional functionality

  3. Computer-Aided Design (CAD) (e.g., AutoCAD, SolidWorks)

    • Definition: Programs that use computer systems to assist in the creation, modification, analysis, or optimization of a design.

    • Functions:

      • Create detailed 2D and 3D models

      • Draft technical drawings and schematics

      • Simulate and analyze designs for stress, heat, and other factors

      • Generate blueprints and specifications

      • Enhance productivity and accuracy in the design process

  4. Graphic Processing Software (e.g., Adobe Photoshop, GIMP)

    • Definition: Graphics software or image editing software is a program or collection of programs that enable a person to manipulate visual images on a computer.

    • Functions:

      • Edit and enhance digital images

      • Create and manipulate raster and vector graphics

      • Apply filters, effects, and transformations

      • Work with layers and masks for complex compositions

      • Export images in various formats for print and web use

Identify common features of applications

Common Features of Most Programs

  1. Toolbars

    • Definition: A set of icons or buttons that are part of a software program's interface or an open window.

    • Functions: Provide quick access to frequently used commands and functions.

  2. Menus

    • Definition: A list of options or commands presented to the user.

    • Functions: Allow users to choose actions or settings by selecting from a list.

  3. Dialogue Boxes

    • Definition: A small window that prompts the user to provide information or make decisions.

    • Functions: Facilitate user input, display messages, and provide options or settings for tasks.

  4. GUI Components

    • Graphical User Interface (GUI):

      • Definition: A user interface that includes graphical elements like windows, icons, and buttons.

      • User-Friendly: Provides an intuitive way for users to interact with the computer using visual elements.

      • Components:

        • Windows: Rectangular areas on the screen where applications run.

        • Icons: Pictures or symbols representing software applications or hardware devices.

        • Menus: Lists of options from which users can choose actions.

        • Pointers: Symbols (e.g., an arrow) that move around the screen with mouse movement, helping users select objects.

    • WIMP Interface (Windows, Icons, Menus, Pointers):

      • Windows: Rectangular sections on the screen that display content and applications.

      • Icons: Visual representations of applications, files, or functions.

      • Menus: Organized lists of commands and options.

      • Pointers: Moveable symbols that facilitate interaction with screen elements.

OS vs. Application Features

  1. OS-Provided Features:

    • Standard Interface Elements: Certain parts of the user interface, such as menu bars and buttons, are provided by libraries in the operating system.

    • Consistency: Ensures a consistent look and feel across different applications.

  2. Application-Specific Features:

    • Customization: Applications can customize specific aspects of the interface, such as icons, pictures, and specific functionalities.

    • Unique Elements: Each application may have unique features and designs to enhance its specific use case.

Example

  • Menu Bar and Buttons:

    • Standard Elements: The structure and behavior of menu bars and buttons are often provided by the OS.

    • Application Customization: The specific icons, pictures, and additional features of the menu bar and buttons are defined by the individual application.

Command Line:

  • A Command Line Interface allows the user to interact directly with the computer system by typing in commands (instructions) into a screen which looks like the one below:

  • Before Windows was developed, this type of user interface was what most people used to get the computer to follow instructions.

  • It is still around though, for example a technician setting up a server in a data centre might use a command line interface or a mainframe administrator setting up a configuration file.

  • The main disadvantage of a command line interface is that the person must have detailed knowledge of the command that can be used.

Bit, Byte, Binary, Denary / Decimal, Hexadecimal

  • Bit

    • Definition: A ‘bit’ (short for ‘binary digit’) is the smallest unit of data that can be stored by a computer.

    • Representation: Each ‘bit’ is represented as a binary number, either 1 (true) or 0 (false).

  • Nibble

    • Definition: A nibble consists of 4 bits.

  • Byte

    • Definition: Contains 8 bits.

    • Example: A byte could be stored as 11101001.

    • Usage: A single keyboard character that you type takes up one byte of storage.

  • Denary / Decimal

    • Definition: Base 10 number system.

    • Usage: In our everyday lives, we use a ‘denary’ number system which has the number digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 (a ‘base-10’ number system).

    • Examples: 5, 24, 316, 8715.

  • Hexadecimal

    • Definition: Numbers using the base-16 notation.

    • Usage: Hexadecimal numbers use the digits 0-9 and the letters A-F to represent values.

    • The decimal numbers 10 to 15 are represented with the letters A to F. There are 16 values, hence why it is a base-16 number system (this means that it represents everything using just 16 symbols)

    • Often used when programming because hex is easier to remember than binary but faster to run than denary which is normal base 10.

    • Hex can be used to represent anything, but you only need to know how it’s used to represent numbers. You need to be able to convert from denary to hex and back.

    • To convert to hex:

      • Take your decimal number and convert it into binary

      • Split the 8-bit binary into two four-bit section

      • Convert each four-bit section into a denary

      • Hex can only use 0-9 and A-F so any number 10 or above will be represented with a letter.

    • Allowed Hexadecimal digits are:

Boolean Operators

  • AND

    • Definition: The output is true when both A and B are true.

    • Truth Table:

      • A = True, B = True → Output = True

      • A = True, B = False → Output = False

      • A = False, B = True → Output = False

      • A = False, B = False → Output = False

  • OR

    • Definition: The output is true when either A is true, B is true, or both are true.

    • Truth Table:

      • A = True, B = True → Output = True

      • A = True, B = False → Output = True

      • A = False, B = True → Output = True

      • A = False, B = False → Output = False

  • NOT

    • Definition: The output is true when the input is false (unary operator).

    • Truth Table:

      • A = True → Output = False

      • A = False → Output = True

  • XOR (Exclusive OR)

    • Definition: The output is true when either A is true or B is true, but not when both are true.

    • Truth Table:

      • A = True, B = True → Output = False

      • A = True, B = False → Output = True

      • A = False, B = True → Output = True

      • A = False, B = False → Output = False

  • NAND

    • Definition: The output is true when not both A and B are true (the opposite of AND).

    • Truth Table:

      • A = True, B = True → Output = False

      • A = True, B = False → Output = True

      • A = False, B = True → Output = True

      • A = False, B = False → Output = True

  • NOR

    • Definition: The output is true when neither A is true nor B is true (the opposite of OR).

    • Truth Table:

      • A = True, B = True → Output = False

      • A = True, B = False → Output = False

      • A = False, B = True → Output = False

      • A = False, B = False → Output = True

Truth tables & Logic Diagrams