ps – ?

The ‘ps’ command in Linux shows information about active processes. Options include displaying processes for the current shell, showing all processes on the system, providing full or long-format listings, showing processes not attached to a terminal, displaying all threads for a process, allowing custom formatting, sorting the output, and more. For further details, type ‘man ps’ on bash.

Read More ps – ?

GDB COMMANDS

This article by Yashwanth Naidu Tikkisetty provides a comprehensive list of gdb commands for debugging. It covers functions like info, set, watch, stepi, disassemble, and more, essential for efficient debugging in embedded systems. The post also emphasizes the importance of inspecting memory maps and displaying directory paths. For more details, visit the LinkedIn post.

Read More GDB COMMANDS

GCC – ?

The gcc commands cover optimizations, profiling, security, and low-level operations, essential for embedded systems and performance-critical applications. Techniques include Link-Time Optimizations, dependency file generation, controlling inline functions, architecture-specific optimizations, and static analysis. These techniques prioritize efficient, secure, and compact code in memory-constrained embedded systems.

Read More GCC – ?

𝑬𝒙𝒑𝒍𝒐𝒓𝒊𝒏𝒈 𝒕𝒉𝒆 𝑻𝒘𝒐-𝑾𝒂𝒚 𝑺𝒕𝒓𝒆𝒆𝒕𝒔 𝒊𝒏 𝑳𝒊𝒏𝒖𝒙: 𝑫𝒖𝒑𝒍𝒆𝒙 𝑪𝒐𝒎𝒎𝒖𝒏𝒊𝒄𝒂𝒕𝒊𝒐𝒏 𝒘𝒊𝒕𝒉 𝑷𝒊𝒑𝒆𝒔 🛣️

Unix Pipes allow one-way communication, but Duplex Communication enables two processes to chat back and forth simultaneously. Using two pipes, data can flow both ways between parent and child processes. By coordinating the reading and writing ends, full duplex communication is achieved, despite not guaranteeing simultaneous data exchange.

Read More 𝑬𝒙𝒑𝒍𝒐𝒓𝒊𝒏𝒈 𝒕𝒉𝒆 𝑻𝒘𝒐-𝑾𝒂𝒚 𝑺𝒕𝒓𝒆𝒆𝒕𝒔 𝒊𝒏 𝑳𝒊𝒏𝒖𝒙: 𝑫𝒖𝒑𝒍𝒆𝒙 𝑪𝒐𝒎𝒎𝒖𝒏𝒊𝒄𝒂𝒕𝒊𝒐𝒏 𝒘𝒊𝒕𝒉 𝑷𝒊𝒑𝒆𝒔 🛣️

𝑫𝒊𝒗𝒊𝒏𝒈 𝒊𝒏𝒕𝒐 𝑼𝒏𝒊𝒙 𝑷𝒊𝒑𝒆𝒔: 𝑨 𝑭𝒖𝒏 𝑱𝒐𝒖𝒓𝒏𝒆𝒚 🚀

Unix Pipes are the OGs of Inter-Process Communication on Unix systems. They facilitate seamless data flow between processes, like family messengers connecting parent and child processes. Operating like a one-lane road, they ensure a one-way data flow with a capacity limit. With simple functions, they enable sharing of notes between processes.

Read More 𝑫𝒊𝒗𝒊𝒏𝒈 𝒊𝒏𝒕𝒐 𝑼𝒏𝒊𝒙 𝑷𝒊𝒑𝒆𝒔: 𝑨 𝑭𝒖𝒏 𝑱𝒐𝒖𝒓𝒏𝒆𝒚 🚀

Linux IPC’s

Linux IPCs are essential tools for processes to communicate in the operating system. They include various methods like Pipes, Message Queues, Shared Memory, Sockets, Semaphores, and File-based communication. Each method serves specific communication needs, from simple data transfer to complex synchronization and coordination among processes.

Read More Linux IPC’s

𝑳𝒊𝒏𝒌𝒊𝒏𝒈 𝑯𝒂𝒓𝒅? 𝑶𝒓 𝑱𝒖𝒔𝒕 𝑷𝒐𝒊𝒏𝒕𝒊𝒏𝒈 𝑺𝒐𝒇𝒕𝒍𝒚?

In Unix-like systems, hard links and symbolic links ease file management by allowing files to appear in multiple directories without actual content duplication. Hard links are identical mirrors of the original file and reside within the same file system, while symbolic links act independently, can span different file systems, and can point to directories. Hard links are useful for resource optimization, image creation, multiversion software, and cache management, while symbolic links are handy for boot selection, linking to volatile storage, device pointers, and fallback mechanisms.

Read More 𝑳𝒊𝒏𝒌𝒊𝒏𝒈 𝑯𝒂𝒓𝒅? 𝑶𝒓 𝑱𝒖𝒔𝒕 𝑷𝒐𝒊𝒏𝒕𝒊𝒏𝒈 𝑺𝒐𝒇𝒕𝒍𝒚?

𝑮𝒓𝒆𝒑 – 𝒈/𝒓𝒆/𝒑: 𝑾𝒉𝒆𝒓𝒆 𝑻𝒆𝒙𝒕 𝑴𝒆𝒆𝒕𝒔 𝑰𝒕𝒔 𝑷𝒆𝒓𝒇𝒆𝒄𝒕 𝑴𝒂𝒕𝒄𝒉!

The grep command is used to search for text patterns in files, with its origins in the development of the ED text editor by Ken Thompson. Seeking the authors of “Federalist” led Lee Edward McMahon to contact Thompson, resulting in the creation of grep. The post also provides examples of grep usage, showcasing its functionality.

Read More 𝑮𝒓𝒆𝒑 – 𝒈/𝒓𝒆/𝒑: 𝑾𝒉𝒆𝒓𝒆 𝑻𝒆𝒙𝒕 𝑴𝒆𝒆𝒕𝒔 𝑰𝒕𝒔 𝑷𝒆𝒓𝒇𝒆𝒄𝒕 𝑴𝒂𝒕𝒄𝒉!

What is  𝒑𝒓𝒊𝒐𝒓𝒊𝒕𝒚 𝒊𝒏𝒗𝒆𝒓𝒔𝒊𝒐𝒏 and what happened on the Pathfinder?

Priority inversion in real-time systems occurs when a higher-priority task is delayed by a lower-priority task due to resource contention. This can lead to system failures or degraded performance. The Mars Rover Pathfinder experienced a priority inversion due to a low-priority task holding a resource required by a higher-priority task, causing indefinite loops. The issue was fixed by enabling priority inheritance in the software. To prevent priority inversion, space mission architectures use priority-based scheduling algorithms and priority inheritance or priority ceiling protocols.

Read More What is  𝒑𝒓𝒊𝒐𝒓𝒊𝒕𝒚 𝒊𝒏𝒗𝒆𝒓𝒔𝒊𝒐𝒏 and what happened on the Pathfinder?