Computer Systems, Software, Hardware, and Programming

Computer Systems

A computer system is a set of interacting parts working together for a precise objective. These parts include hardware, software, and the people who use them. For example, a computer, its peripherals, and the user form a computer system.

A computer system can be part of an information system. An information system may not necessarily involve computers. For example, a library’s filing system and its overall activity constitute an information system. If computers assist in organizing

Read More

Computer Security and Protection Measures

Unit 6: Computer Security and Protection

Security Threats

Malware

Malicious software, any program intended to cause damage or harm the computer or user.

Virus

A type of malware that infects other files; it cannot exist independently but is embedded in the code of another file.

Worm

Malware whose main objective is to create as many copies of itself as possible to facilitate its spread. Unlike viruses, worms do not infect other files. Their objective is to overwhelm a computer system. They can spread via

Read More

Fundamentals of Telematics and Computer Networks

What is Telematics?

Telematics is a scientific and technological discipline arising from the evolution and fusion of telecommunications and computing.

Communication and Transmission Differences

Communication is the process by which information is transmitted from one entity to another. This transmission can be analog or digital.

Basic Elements of a Communication System

A communication system consists of the following elements:

  • Message: The information communicated (text, numbers, audio, graphics).
  • Transmitter:
Read More

Understanding Processes and Process Management in Operating Systems

1. Introduction

A process is a running program. It should be understood as a program associated with an activity. A program is a list of instructions written in a file on disk (e.g., any executable program with the extension *.exe). When this program is executed, it is loaded into RAM, and the instructions are executed. Then we have a program plus activity, i.e., a process loaded into memory. We often use the terms ‘process’ and ‘task’ interchangeably. Example: Ctrl + Alt + Delete -> Task Manager

Read More

Multithreading Benefits, Synchronization, and Deadlock Prevention

Multithreading Advantages

The USO (User Space Option/User System Option – define the acronym if known) provides several multithreaded benefits. Programs using multiple threads are faster than those implemented with multiple processes because thread creation, context switching, and disposal generate less overhead.

  • Threads share the same address space, enabling quick and efficient communication.
  • Threads within the same process can easily share resources like file descriptors, timers, and signals.

In client-

Read More

Algorithms: Prim’s, Kruskal’s, Dijkstra’s, Quick Sort, Merge Sort, Knapsack

Prim’s Algorithm

C Implementation

#include <stdio.h>
#include <limits.h>
#include <stdbool.h>

#define V 5 // Number of vertices

int findMinVertex(int key[], bool mstSet[]) {
    int min = INT_MAX, minIndex;
    for (int v = 0; v < V; v++)
        if (!mstSet[v] && key[v] < min) {
            min = key[v];
            minIndex = v;
        }
    return minIndex;
}

void primMST(int graph[V][V]) {
    int parent[V], key[V];
    bool mstSet[V] = {false};
    for (int 
Read More