Semantics, Typing, and Paradigms in Programming Languages
Operational Semantics
Describes the meaning of a program in terms of its execution on an abstract machine or step-by-step behavior. It is concerned with how a program executes (correctness).
Denotational Semantics
Maps programs to mathematical objects (functions, sets, etc.) to describe their meaning. It focuses on what a program computes, abstracting away how it executes.
Axiomatic Semantics
Specifies the behavior of programs using logical assertions (preconditions and postconditions). It is used to
Read MoreOperating Systems: Core Concepts and Mechanisms
Distributed and Parallel Operating Systems
Distributed Operating Systems:
- Manages a group of independent computers and makes them appear as a single system to the user.
- Focuses on resource sharing, fault tolerance, and transparency.
- Examples: Network OS, Cloud OS.
Parallel Operating Systems:
- Manages multiple processors in a single system to perform tasks simultaneously.
- Aims to enhance computation speed and resource utilization.
- Examples: Symmetric Multiprocessing (SMP), Cluster systems.
Critical Section
Read MoreKey Network Protocols: IPv4, DHCP, SMTP, DNS, UDP, TCP, FTP, HTTP
Internet Protocol Version 4 (IPv4)
Internet Protocol version 4 (IPv4) is a network layer protocol in the TCP/IP suite used to uniquely identify devices and route packets across networks. It provides a logical addressing mechanism and ensures data delivery between devices on different networks.
Key Features of IPv4
- 32-bit Addressing: IPv4 uses 32-bit addresses, providing approximately 4.3 billion unique addresses. Example:
192.168.1.1
. - Packet-Based Communication: Data is broken into packets for transmission
System Reliability, Security, and Access Control in Computing
What is a System?
A system is a set of organized elements that interact.
System Failure Tolerance
What does it mean to be tolerant to system failure? It allows a system to continue operating properly in case of a failure. This is achieved by doubling every system component.
Reliability
Attributes:
- Reliability: Continuity of service.
- Availability: Percentage of time the service is operational.
- Safety: Avoidance of catastrophic consequences.
- Security: Prevention of unauthorized access or intrusion.
System Reliability
- Fault
Network Security: Firewalls, Viruses, and Encryption
What is a Firewall?
A firewall is a network security device that monitors and controls incoming and outgoing network traffic based on predetermined security rules. It acts as a barrier between a trusted internal network and untrusted external networks (like the internet), helping to prevent unauthorized access.
Types of Firewalls
- Packet-Filtering Firewall:
- It inspects each packet of data and checks the source, destination, port number, and protocol against a set of rules.
- Simple and fast but not very
MongoDB Sharding and CAP Theorem in Microservices
Week 9: Setup a MongoDB Cluster
What is MongoDB Sharding?
Sharding is the process of distributing data across multiple machines. MongoDB uses sharding to handle deployments with large data volumes and high-performance demands. Horizontal scaling (scale-out) involves adding machines to manage data load, allowing nearly limitless scaling for big data.
Why Sharding?
Sharding is essential when a single server can’t handle high workloads. It allows horizontal scaling, reducing the strain on individual
Read More