CST 334 Week 8
3 important topics I have learned about in this class are virtualization, concurrency, and persistence.
Virtualization allows multiple processes or dynamic instances of a running program to run in parallel, even on single processor systems. To accomplish this, the OS virtualizes physical memory, which provides the process its own address space, and controls its use of the CPU through context switching. In this class, I learned about several memory allocation techniques such as paging and segmentation as well as different scheduling algorithms such as using multilevel feedback queues scheduling.
Concurrency is essential in the execution of multiple threads, the most basic unit of execution of a process. Issues can occur when multiple threads attempt to enter access and manipulate shared data. Race conditions and inconsistent program results can occur if the order in which threads enter a critical section is not regulated. To ensure atomicity, synchronization primitives such as locks, condition variables, and semaphores control the order that threads can enter a critical section.
Persistence refers to non volatile memory that is saved after power is lost. One method that this can be accomplished through is hard drive disk, which stores information through magnetic changes on a disk. Redundant arrays of inexpensive disks can be used to increase performance, capability, and reliability of stored memory. Lastly, 2 abstractions of stored memory are files and directories are managed by the file system. FIles and directories are stored in blocks that belong to the data region of disk memory, along with a section dedicated to inodes, a section dedicated to bitmaps to identify free inodes and space, and a super block that contains information about the file system.
Comments
Post a Comment