Side-by-side Configuration on Linux/ELF
One of the best/worst Microsoft software innovations (great for compatibility; terrible for efficiency) has been Windows’ Side by Side Configuration. This allows, among other things, for different components of a program to have multiple versions of the C/C++ runtime libraries loaded into the same process.
How do I implement the bg, &, and fg commands functionaliity in my custom unix shell program written in C
I am extending the functionality of a custom unix shell which I wrote as part of my lab assignment. It currently supports all commands through execvp calls, in-built commands like pwd, cd, history, echo and export, and also redirection and pipes. Now I wanted to add support for running a command in background e.g. $ls -la& I also want to implement bg and fg job control commands.
Web applications have “the todo list.” What analogous program is there for systems programming?
You can find many frameworks with an example todo list for demonstrating a small but full application in the framework. You don’t have to consider large problems like scaling or caching, but you still exercise most of the fundamentals of that framework in a todo list.
Avoiding polling with components
Once you create separate components that need to communicate with each other you enter the realm of systems programming where you have to assume that errors could originate at any step in the process. You throw try-catch
blocks out the window and have to develop robust alternatives for error handling yourself.