This class centered around the boot sequence. On getting to understand the hardware pieces mentioned in boot: I found this link very helpful and informative with the virtual tour link that gives a nice overview as well as many other internal links going into more specifics depending on what pieces of hardware I wanted to […]
Category: Uncategorized
A Few Big OS Concepts
A Few Big OS Concepts What does the OS do? Provides the interface between the user/application and the hardware. This is done through System calls, or the library functions that call them. There are system calls for pretty much everything you (or a program) can ask the hardware to do (process instantiation, memory allocation, file […]
C is still big. In fact #1 in 2016.
The IEEE Spectrum magazine just published the list of the most popular programming languages in 2016. Follow the hyperlink to read more about it.
Recovering code from git
At one point or another people goof and mess up their codebase beyond the repair of a quick fix. If you have been good about committing your code to your git repository periodically, you can easily go back to one of your previous versions. There are two commands to restore a working copy of a […]
Using Pointers as Array Names
It made me very excited that some students reported taking my advice to “test things out in the small” by writing programs to evaluate nebulous ideas in C programming. They reported to me that something we discussed in class wasn’t accurate, so this post brings you an update on it. When you try to use […]
Heap Copying from Parent to Child
We recently had a problem in a pre-lab that tried to answer the question of whether dynamically allocated data would be shared between parent and child processes. The actual heart of the question is whether, after a fork, a parent and its child processes would share a single heap. If this were true, any changes […]
C Array/String Initialization
A question came up in lab today about what happens with the following C line at compilation and at run time: char str[80] = “hello”; People doubted that the effect of this line would be to reserve space in memory for 80 char and initialize the first six of them with: {‘h’, ‘e’, ‘l’, ‘l’, […]