Exploring Unix I/O Models
The five models range from most blocking to least, and from lowest to highest efficiency:
Blocking I/O: Traditional model.
Non-blocking I/O: Different from Java NIO (New IO).
I/O Multiplexing: Reactor pattern; uses selectors like Linux's epoll.
Signal-driven I/O.
Asynchronous I/O: Proactor pattern, also known as non-blocking asynchronous I/O.
...
Posted on Wed, 14 Oct 2026 16:30:42 +0000 by slimboy007
Understanding Linux: Architecture, Kernel, and Distributions
Operating System FoundationsUnlike proprietary platforms such as Windows, Linux represents a family of open-source, Unix-like operating systems designed for free distribution and modification. Its architecture adheres to POSIX standards, enabling robust multi-user, multitasking, and multi-threading environments across both 32-bit and 64-bit inf ...
Posted on Wed, 16 Sep 2026 16:51:05 +0000 by AGISB
Understanding Shell Fundamentals in Unix-like Systems
What Is a Shell?
A shell is a command-line interpreter written primarily in C that serves as an interface between users and the operating system kernel. It functions both as an interactive command language and as a scripting language for automating tasks.
Historically, Ken Thompson’s sh (Bourne Shell) was the first widely adopted Unix shell. Mo ...
Posted on Fri, 07 Aug 2026 17:02:07 +0000 by spacee
Fundamental Shell Navigation and File Management Commands
Working Directory Navigation
Use pwd to output the absolute path of the active terminal session. Directory traversal relies on cd. Common navigation patterns include:
cd /var/log: Absolute path navigation.
cd logs/: Relative path to a subdirectory.
cd ~ or cd: Return to the home directory.
cd ~admin: Jump to another specific user's home (requi ...
Posted on Fri, 31 Jul 2026 16:21:12 +0000 by recycles
Parsing Command-Line Arguments in C: getopt and getopt_long
When developing command-line applications in C on Unix or Linux systems, developers need a reliable mechanism to interpret user-supplied flags and arguments. The GNU C Library provides two essential functions for this purpose: getopt and getopt_long. These functions handle the tedious task of parsing argv arrays, allowing programmers to focus o ...
Posted on Mon, 27 Jul 2026 16:08:53 +0000 by iRock
Shell Command Output Capture: Advanced Methods
Understanding Command Substitution
Command substitution is a mechanism that allows you to store the output of a command in a variable. This technique is essential when you need to process command results programmatically, such as capturing file listings, system information, or calculating time differences.
In shell scripting, two primary syntax ...
Posted on Tue, 21 Jul 2026 16:54:56 +0000 by harchew
Socket Programming in Linux Environment
Network Communication Using Sockets on Linux ===================
Network Communication with Sockets on Linux
Understanding Sockets
Types of Sockets
Socket Usage Example (SOCK_STREAM)
Parameter Explanation
4.1 socket()
4.2 bind()
Byte Order Considerations
4.3 listen(), connect()
4.4 accept()
4.5 read(), write(), and related fun ...
Posted on Sat, 11 Jul 2026 17:41:19 +0000 by Ruiser
Bash Test Operators Reference
Logical Operators
&& - Logical AND
|| - Logical OR
! - Logical NOT
Integer Comparisons
Traditional numeric comparison operators:
-eq - Equal
-ne - Not equal
-gt - Greater than
-ge - Greater than or equal
-lt - Less than
-le - Less than or equal
Alternative syntax using double parentheses:
(("5" < "10"))
((&qu ...
Posted on Mon, 18 May 2026 03:45:47 +0000 by jshowe