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

Sort by
Subject
Level

Essential Tech Terms: A Comprehensive Glossary

Classified in Computers

Written on in English with a size of 4.83 KB

RAM (Random Access Memory)

Random Access Memory is one of two basic types of memory. Portions of programs are stored in RAM when the program is launched so that the program will run faster. Though a PC has a fixed amount of RAM, only portions of it will be accessed by the computer at any given time. Also called memory.

Scrolling

Scrolling allows lines displayed on the screen to be moved up or down by one line as a new line is added and an existing one is removed.

Shooter

A shooter is a game whose main focus is combat involving guns or other projectile weapons such as missiles.

Shopping Cart

A shopping cart is software that keeps track of what you buy on a site.

Software Engineer

A software engineer is a person that writes computer programs.

Speech Recognition

Speech

... Continue reading "Essential Tech Terms: A Comprehensive Glossary" »

CPU Scheduling: Understanding Processes and Threads

Posted by miko_rodri and classified in Computers

Written on in English with a size of 5.07 KB

1. Processes

A process is a program in execution. It is a unit of work within the system. A program is a passive entity, while a process is an active one. A process needs resources to accomplish its task (CPU, memory, I/O, files). Process termination requires the reclamation of any reusable resources. A single-threaded process has one program counter, specifying the location of the next instruction to execute. The process executes instructions sequentially, one at a time, until completion. A multithreaded process has one program counter per thread. Concurrency is achieved by multiplexing the CPUs among the processes or threads.

2. Process States

As a process executes, it changes its state:

  • New: The process is being created.
  • Running: Instructions
... Continue reading "CPU Scheduling: Understanding Processes and Threads" »

Malicious Software: Types, Threats, and Advanced Viruses

Classified in Computers

Written on in English with a size of 3.31 KB

Logic Bombs and Resource Exhaustion Attacks

Logic Bombs

A logic bomb is a program that performs an action violating the site security policy when a specific external event occurs. These are typically associated with insider threats.

Example: A program that deletes a company’s payroll records when one particular record is deleted.

  • The "particular record" is usually that of the person who created the logic bomb.
  • The idea is that if (or when) the creator is fired and their payroll record is deleted, the company loses all those records.

Rabbits and Bacteria (Resource Exhaustion)

Rabbits or Bacteria refer to programs designed to absorb all of a specific class of system resources, leading to denial of service or system instability.

Example: For a UNIX... Continue reading "Malicious Software: Types, Threats, and Advanced Viruses" »

Web Development Fundamentals

Classified in Computers

Written on in English with a size of 117.12 KB

Pseudo Classes

Pseudo classes are selectors that can be used to style elements based on their state or position in the document. For example, the :hover pseudo class can be used to style an element when the user hovers over it with the mouse.

:nth-of-type(an+b || even || a || an)

The :nth-of-type pseudo class is used to select elements based on their position in a group of siblings. It takes an argument that specifies which elements to select. The argument can be one of the following:

  • an+b: Selects every nth element, starting with the bth element. For example, 2n would select every other element, and 2n+1 would select every odd element.
  • even: Selects every even-numbered element.
  • odd: Selects every odd-numbered element.
  • a: Selects every element.

For... Continue reading "Web Development Fundamentals" »

Public vs. Private Blockchains: Understanding the Key Differences

Classified in Computers

Written on in English with a size of 2.03 KB

1. What is a Public Blockchain?

Public blockchains are open networks that allow anyone to participate. This permissionless nature means anyone can join the network and read, write, or participate in the blockchain.

Public blockchains are decentralized, meaning no single entity controls the network. Data on a public blockchain is secure because it is virtually impossible to modify or alter data once validated on the blockchain.

Features of Public Blockchains:

  • High Security: Secured by mining and the 51% rule.
  • Open Environment: Open for anyone to join.
  • Anonymous Nature: Participants can remain anonymous, enhancing privacy.
  • No Regulations: No strict regulations on platform usage.
  • Full Transparency: The ledger is publicly viewable, ensuring transparency.
... Continue reading "Public vs. Private Blockchains: Understanding the Key Differences" »

Software Engineering Core Concepts: SDLC, Architecture, VCS

Classified in Computers

Written on in English with a size of 5.66 KB

Software Engineering Fundamentals and Principles

Desired Software Attributes

  • Maintainability
  • Dependability
  • Efficiency
  • Usability

Major Challenges in Large Programming

  • Complexity
  • Change

The 5 C's (Collaboration Framework)

Key elements often cited in successful team environments:

  • Collaboration
  • Communication
  • Coordination
  • [Note: The original source implies additional C's beyond the listed three.]

Core Activities of Software Engineering (SE)

  • Defining
  • Managing
  • Describing
  • Designing
  • Implementing
  • Testing
  • Deploying
  • Maintaining

The 4 P's of Software Engineering

  • People
  • Process
  • Project
  • Product

Software Development Lifecycle Phases (SDLC)

  1. Requirements Planning
  2. High-Level Design (Architecture Design)
  3. Low-Level Design
  4. Development (Implementation)
    • Note: Unit testing is typically performed during
... Continue reading "Software Engineering Core Concepts: SDLC, Architecture, VCS" »

Introduction to PL/SQL: Features, Differences, and Advantages

Classified in Computers

Written on in English with a size of 3.98 KB

PL/SQL

PL/SQL is a procedural language designed specifically to embrace SQL statements within its syntax. PL/SQL program units are compiled by the Oracle Database server and stored inside the database. And at run-time, both PL/SQL and SQL run within the same server process, bringing optimal efficiency. PL/SQL includes procedural language elements like conditions and loops. It allows declaration of constants and variables, procedures and functions, types and variable of those types and triggers. It can support Array and handle exceptions (runtime errors).

Differences between SQL and PL/SQL

  • SQL is a single query that is used to perform DML and DDL operations.
  • PL/SQL is a block of codes that used to write the entire program blocks/ procedure/ function,
... Continue reading "Introduction to PL/SQL: Features, Differences, and Advantages" »

Microsoft Word & Computer Basics: Key Features Explained

Classified in Computers

Written on in English with a size of 4.08 KB

Key Concepts in Microsoft Word and Computer Applications

1. Microsoft Word Application Type

Which type of computer application is Microsoft Word an example of?

Word processing

2. Touchscreen Right-Click

Which action enables you to right-click on a touchscreen?

Press and hold for a few seconds

3. Word 2016 Document Starting Point

A preformatted document used as a starting point in Word 2016 is known as what?

A template

4. Wordwrap Functionality

Word uses wordwrap. If a word does not fit at the end of a line, what happens to that word?

It is automatically moved to the next line.

5. Understanding Inline Objects

What does inline object refer to?

A picture or object positioned directly in the text at the insertion point, just like a character in a sentence.

6.

... Continue reading "Microsoft Word & Computer Basics: Key Features Explained" »

Understanding Data Storage and Binary Number Representation

Classified in Computers

Written on in English with a size of 221.76 KB

Data Storage Conversion:

  • 1 gigabyte (GB) equals 1,024 megabytes (MB).
  • 1 megabyte (MB) equals 1,024 kilobytes (KB).
  • To convert gigabytes to kilobytes, multiply by 1,024 twice. For example: 1 GB = 1,024 MB * 1,024 KB = 1,048,576 KB.
  • To convert gigabytes to megabytes, multiply by 1,024. For example: 1 GB = 1,024 MB
  • To convert 20 megabytes to bytes: 20 MB = 20 * 1,024 KB * 1,024 bytes = 20,971,520 bytes
  • To convert 2 gigabytes to kilobytes: 2 GB = 2 * 1,024 MB * 1,024 KB = 2,097,152 KB

Example: SHKRONJA A has a value of 1010, B - 1011, C - 1100, D - 1101, E - 1110, F - 1111.

Binary Number Representations

There are three main ways to represent signed numbers in binary:

1. Signed Magnitude

  • Positive Numbers: Standard binary representation.
  • Negative Numbers: The
... Continue reading "Understanding Data Storage and Binary Number Representation" »

Kernel System Calls, Synchronization, and OS Concepts

Classified in Computers

Written on in English with a size of 6.51 KB

Implementing a New System Call in the Kernel

Required Files to Add

  • /usr/src/test_kernel/SystemCalls/test_call.c:
    • Creates system call pointer.
    • Exports the pointer so that the system call module can access it.
    • Defines the system call wrapper.
  • /usr/src/test_kernel/SystemCalls/Makefile: obj-y := test_call.o (Compiles files directly into the kernel).

System Module Implementation

  • /usr/src/test_kernel/SystemModule/syscallModule.c:
    • Holds module code.
    • Implements system call behavior.
    • Registers system call pointer to the proper system call handler.
  • /usr/src/test_kernel/SystemModule/Makefile: obj-m := syscallmodule.o (Compiles file as a module).

Required Files to Modify

  • /usr/src/test_kernel/arch/x86/entry/syscalls/syscall_64.tbl: Add the system call to the table.
  • /usr/
... Continue reading "Kernel System Calls, Synchronization, and OS Concepts" »