Notes, summaries, assignments, exams, and problems for Computers

Sort by
Subject
Level

Runtime Memory Organization: Code, Static Memory

Classified in Computers

Written on in English with a size of 2.37 KB

Runtime Memory Organization

The organization of memory at runtime depends on the type of language (declarative, imperative), the compiler, and the operating system.

General Structure of Programming Languages

When you run a program, the OS loader allocates the required amount of memory and loads the code to be executed (stored in a file) into the code area.

The OS should detect collisions between the stack and the heap. In these cases, the program may abort, or the amount of allocated memory may be increased.

In memory paging systems, the above scheme can be fragmented and scattered between real memory and the virtual memory system.

Any reference to a storage location within the code should be relative to the position assigned to the process by the... Continue reading "Runtime Memory Organization: Code, Static Memory" »

Essential Computer Expansion Cards and Peripherals

Classified in Computers

Written on in English with a size of 3.33 KB

1. Expansion Cards

Utility

Expansion cards add new features or improve existing ones in a computer. They facilitate communication between internal and external peripheral devices and the system bus.

Disk Controller Card

Disk controller cards, once used to manage hard disks, CD-ROMs, DVDs, and floppy drives, are now integrated into the motherboard.

Video Card

The video card is crucial for displaying text, images, and graphics on the monitor.

Components

  • Video Processor: Receives, processes, and stores information in video memory, transmitting it to the monitor via the VGA connector.
  • Memory Chips: Hold information needed to display pixels on the screen.
  • AGP: Allows the card to be inserted into the AGP slot.
  • Port for the Monitor: Connects the card to the
... Continue reading "Essential Computer Expansion Cards and Peripherals" »

Spreadsheet Essentials: Cells, Formulas, and Data Management

Classified in Computers

Written on in English with a size of 2.56 KB

Understanding Spreadsheet Basics

What is a Spreadsheet?

A spreadsheet is a grid with rows and columns, primarily designed for numeric data but also accommodating alphabetic entries to organize information effectively.

Each individual spreadsheet is referred to as a sheet. Each sheet has a label or name, visible at the bottom of the workbook or worksheet interface. When a new workbook is created, Excel typically opens with three default sheets: Sheet 1, Sheet 2, and Sheet 3. These names can be customized by the user, and additional sheets can be added or removed as required.

Workbook Explained

A workbook is the collection of worksheets within a single document. Multiple workbooks can be open simultaneously in separate windows.

Active Cells and Selection

A... Continue reading "Spreadsheet Essentials: Cells, Formulas, and Data Management" »

Turing's Thesis: Computability and Algorithms

Classified in Computers

Written on in English with a size of 2.5 KB

Turing's Thesis and the Problem of Computability

Thesis 1

"Every problem that can be solved algorithmically can be solved by a Turing machine."

Concepts Associated with Thesis 1

  • Algorithm: A set of rules that can be mechanically applied to solve a problem of a given class. Mainly used in mathematical contexts.
  • Calculation: Any transaction which is carried out by manipulation of symbols as a means of representation. The symbolic operations are atomic, that is, quite simple, and are held in a computer. The action of the computer will depend on the symbols that have the system and the internal state in which the computer is.

Thesis 2

"Every computable function can be computed by a Turing machine. Every problem that can be solved by algorithmic methods

... Continue reading "Turing's Thesis: Computability and Algorithms" »

Essential Computer Hardware and Software Terminology

Classified in Computers

Written on in English with a size of 2.91 KB

Core Computing Terminology

  • CBT: Computer-Based Training
  • GUI: Graphical User Interface (icons and mouse)
  • PDA: Personal Digital Assistant (portable computer)
  • CPU: Central Processing Unit (measured in Gigahertz)
  • RAM: Random Access Memory
  • ROM: Read-Only Memory
  • ALU: Arithmetic Logic Unit
  • VDU: Visual Display Unit

Hardware Components

  • Input Devices: Mouse, keyboard, trackball, scanner, barcode readers, touchpad.
  • Output Devices: Monitor, printer, plotter, speakers, VDU.

Note: Adding more RAM improves computer performance. It is the main working memory of the computer and functions as read/write memory.

Information Technology and Communications

  • IT: A term used to describe hardware, software, and communications technologies.
  • PSTN: Public Switched Telephone Network (
... Continue reading "Essential Computer Hardware and Software Terminology" »

Essential Computer Science and Programming Fundamentals

Classified in Computers

Written on in English with a size of 5.83 KB

Core Concepts in Computer Science and Programming

Microprocessor Components

Arithmetic Logic Unit (ALU) Explained

The Arithmetic Logic Unit (ALU) performs all mathematical and logical operations, such as comparisons, within the CPU.

Role of the Control Unit

The Control Unit is responsible for controlling all operations of both internal microprocessor components and external peripherals.

Memory and Data Storage

Understanding RAM (Random Access Memory)

Another name for volatile memory is RAM (Random Access Memory). It is generally used to store two primary types of information:

  • Program instructions
  • Operating data associated with those instructions

Algorithm Fundamentals

Defining an Algorithm

An algorithm is defined as a finite set of well-defined, unambiguous... Continue reading "Essential Computer Science and Programming Fundamentals" »

Computer System Personnel Roles and Digital Numbering Bases

Classified in Computers

Written on in English with a size of 4.05 KB

1.5 The Human Element in Computer Systems

The human element, or personnel, is the most important component within a computer system. It comprises a group of people who perform various functions related to the use and maintenance of computers and applications.

Key Roles in Computer System Personnel

  • Staff Director: Responsible for directing and coordinating a department, a data processing center, or any related division.
  • Staff Analysis (System Analyst): Manages application development, focusing on design, production of algorithms, and analyzing possible uses and modifications.
  • Programming Personnel: In charge of transcribing the algorithms designed by the analyst into a specific programming language. This role also involves implementing the programs
... Continue reading "Computer System Personnel Roles and Digital Numbering Bases" »

Microprocessor Flags, Segments, Addressing, Interrupts

Classified in Computers

Written on in English with a size of 3.87 KB

Of these nine flags, six of them change after running many of the arithmetic and logic instructions. The six flags are:

  • C (Carry): Indicates a carry after addition or a borrow after a subtraction. The carry flag also indicates error conditions on certain programs and procedures.
  • P (Parity): It is zero for odd parity and 1 for even parity.
  • A (Auxiliary Carry): Indicates a carry after addition or a borrow after a subtraction from bit 3 to bit 4 in the result.
  • Z (Zero): Indicates if the result of an arithmetic or logic operation is zero. If Z = 1, the result is zero, and if Z = 0, the result is not zero.
  • S (Sign): Indicates the arithmetic sign of the result after an addition or subtraction. If S = 1, the result is negative. If S = 0, the result is
... Continue reading "Microprocessor Flags, Segments, Addressing, Interrupts" »

Process Planning and Scheduling in Operating Systems

Classified in Computers

Written on in English with a size of 4.92 KB

Process Planning

Objectives

  • Justice: Avoid favoring some processes over others.
  • Maximum Number of Interactive Users: Focus on most time-sharing systems.
  • Predictability: The strategy must enable the execution of processes.
  • Minimizing Overhead: Minimize context switches.
  • Balance in the Use of Resources: Resources must be used fairly and for as long as possible.
  • Safety Priorities: Established priorities should be respected.
  • Maximum Capacity of Execution: Minimize process changes.

Criteria

  • Response Time: Speed with which the system responds to a request.
  • Service Time: Response time minus time for I/O.
  • Runtime: Service time minus timeout.
  • Processor Time: Processor time occupation.
  • Timeout: Waiting times in queues.
  • Efficiency: Processor utilization.
  • Yield: Number
... Continue reading "Process Planning and Scheduling in Operating Systems" »

Software Metrics, Reliability Dimensions, and Fault Classification

Classified in Computers

Written on in English with a size of 3.18 KB

Software Metrics Classification and Analysis

Analysis Model Metrics

  • PF (Prediction Factor) Metrics: Used to predict the size of a system based on the analysis model.
  • Bang Metric: Provides an independent indication of the system's implementation size.
  • Quality Metrics of the Specification: Characteristics used to assess the quality of the analysis model and the Engineering Requirements Specification (ERS).

Design Model Metrics

  • Object-Oriented (OO) Design Metrics: Provide indicators for OO design characteristics (e.g., inheritance, coupling, size of classes).
  • Component-Level Design Metrics: Focus on cohesion, coupling, and complexity of individual software components.
  • User Interface Design Metrics: Based on the appropriateness of the design as a metric
... Continue reading "Software Metrics, Reliability Dimensions, and Fault Classification" »