Journal Entry Week 3

One of the most interesting things I learned this week is how a program converts a virtual memory address into a physical memory address located on the local RAM (random access memory). Having memory virtualization is very important. Being able to proctect the physical memory address prevents malicious activity from programs from go in and tamper with sensitive data (or even internal system). By making each program’s memory private, it prevents crashes and ensure data security. 

From a more technical standpoint, the physical memory is allocated into four possible segments; Code, Heal, unallocated, or the Stack. By using the first two bits, we are able to see translate which of the four location the address belongs to. The offset binary value is then converted into hex. The hex value is then compared the allocation size. If the hex value is greater than the allocated size, then an error would occur. This error is known as an out of bounds error and denies access to the requesting program. 

In addition, another layer of added security is that each segment can have assigned permission. For example, the heap and stack could be assigned the permission to read and write; and the code memory address could be assigned for read-execute. By giving something like read-only permissions, this provides the ability for programs to interact with each other and simultaneously protect sensitive data. 

From an end user perspective, it is quite interesting how the basic functions of an operating system is made up of very complex mechanisms. A lot of work goes into creating an operating system!


Comments

Popular posts from this blog

Journal week 6

Journal Entry Week 2

CST334 Operating Systems Week 1