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.