Computer Systems

Basics of Computer Systems

  • A computer system includes hardware, software, and data which all work together.
  • Hardware includes the physical components of a computer, like the CPU, memory, and input/output devices.
  • Software is the set of instructions that direct the hardware to carry out tasks.
  • Operating systems are a vital type of system software that controls overall operation of a computer.

Characteristics of Contemporary Processes, Software and Hardware

  • A process in computing is an instance of a program in execution. It needs resources like CPU time, memory, and files, and it can be made up of multiple threads.
  • Multithreading allows a computer to perform many different tasks at the same time.
  • Contemporary systems can also implement parallel processing, where many processors perform operations at the same time.
  • The speed of a processor is measured in gigahertz (GHz), while its power is measured in terms of the number of cores it has.

Systems Architecture

  • The CPU, or central processing unit, is considered the brain of the computer. It executes program instructions. The speed at which the CPU processes data is called clock speed.
  • Volatile memory, like RAM, requires power to keep the stored information accessible. Once the power is gone, the data is too.
  • Non-volatile memory, like a hard drive or flash memory, stores information even when not powered.
  • The motherboard is the main circuit board in a computer, housing the CPU, memory, and input/output device connections.

Software and Software Development

  • System software, like the operating system, coordinates and controls hardware functions.
  • Application software enables users to complete tasks, like word processing or web browsing.
  • A compiler translates the entire code of a program into machine code in one go, whereas an interpreter translates the code line by line, executing each line as it goes.
  • Low level programming languages, like assembler, are closer to machine code and specific to individual computer architectures.
  • High level programming languages, like Python or Java, are closer to human language and are easier to write, read, and maintain.

Exchanging Data

  • Networks are systems of interconnected computers that can send and share data.
  • LANS, or Local Area Networks, connect computers in a small geographical area, like a school.
  • WANS, or Wide Area Networks, cover a large geographical area, often made up of interconnected LANS.
  • Protocols are sets of rules that dictate how data should be transmitted across networks.
  • HTTP, or Hyper Text Transfer Protocol, is the protocol for transferring multimedia web pages.

Data Types, Data Structures and Algorithms

  • Computers use different data types like integer, character, or Boolean values.
  • A data structure is a specialized format for organizing and storing data, like arrays, stacks, and queues.
  • An algorithm is a set of instructions for solving a particular problem. It can be represented with pseudocode or a flowchart.

Legal, Moral, Cultural and Ethical Issues

  • Understanding the legal, moral, cultural, and ethical issues in computing is crucial. This includes topics like data protection, integrity, accessibility, and intellectual property.