Posts

Showing posts from March, 2023

Operating Systems - Week 4

     This week in CST 334, we learned about memory virtualization, which allows multiple processes to share physical memory while providing each process with the illusion that it has its own dedicated memory. We learned about the different techniques for memory virtualization, including paging and segmentation, and their advantages and disadvantages. We also learned how memory virtualization supports the goals of multiprogramming, including transparency, protection, and efficiency sharing among processes.  We also examined how the OS provides the illusion of a private address space to each process using virtual memory.  Overall, this week's topic provided a deeper understanding of how memory virtualization is used in operating systems and its importance in enabling useful and more secure multiprogramming. 

Operating Systems - Week 3

    In week 3, I learned about memory virtualization, which is used to provide abstraction between physical memory and the processes that use it.  It allows many processes to share physical memory which improves performance.        I also learned about the difference between stack memory and heap memory.  Stack memory is often also called automatic memory as it is often set up for you and then automatically deallocated when you no longer need it.  Heap memory is memory that you allocate for yourself and then have to deallocate when you no longer need it.  This gives you more freedom to do as you wish, but leaves you open for much more errors.     I also learned about segmentation which allows programs to be loaded into memory with flexibility. This helps create memory protection by preventing one program from accessing the memory of another program.

Operating Systems - Week 2

This week I learned about the workings of processes in operating systems, including process states, context switching, and process scheduling. I also learned about how processes are created using the fork() command, and how processes share resources controlled by the operating system. I also learned about process scheduling such as First In, First Out (FIFO), Shortest Job First (SJF), and Shortest Time-to-Completion First (STCF). I learned how each of these works, their advantages, and disadvantages, and how they can be used to improve system performance. 

Operating Systems - Week 1

 In my first week of Operating Systems, I learned about the basic organization and inner workings of a computer including the roles that the operating system plays in helping control how the resources are managed and used to optimize for speed and efficiency.  We also learned about file systems and how we can alter permissions in Linux to decide who has access to which resources.  We also learned basic Linux commands from the Shell prompt and about writing some C code into a file and how to run that code as a script from the Shell.