CST 334 Week 2
WELCOME TO WEEK 2
Learning Journal
Last week, we were introduced to the functions of Operating Systems, such as providing abstraction and being a resource manager. This week, we went deeper into the topic. I learned about what abstraction is, which is the process of a running program. The program itself is something that sits on the disk with many instructions, waiting to start and become a process. Virtualization is then accomplished when there are multiple processes running. In order for the OS to create the illusion of virtualizing the CPU, it needs two things. First, low-level machinery, which is the mechanism, and second, some high-level intelligence.
I also learned about the creation of a process. As mentioned before, the program sits on the disk with code and static data, which is then loaded into the process inside the memory. Then memory is allocated for the program's stack. The OS will also initialize the stack with arguments for the main() function. Next, the OS allocates memory for the program's heap, which is requested using the malloc() function. The OS will also perform initialization tasks, for example, I/O.
I also learned about the process states, which are:
- Running: This state means that a process is executing.
- Ready: A process is ready to run.
- Blocked: Not ready to run until another event takes place.
There is still much that I learned this week. This is just a taste of what the week was about. I was also introduced to the Process API, the Mechanism of Limited Direct Execution, and Scheduling.
Comments
Post a Comment