CST334 – Operating Systems
In week 1, I am working on a comprehensive review of the C-language syntax and functions. The C programming language is similar to C++, which I am familiar with. The first lab is beneficial for learning about shell debugging and using the GDB project debugger. Tracing the memory allocation issue was a great hands-on experience and reminded me of debugging in assembly language. For the project, I am learning how to code in C and use unit tests to verify that functions are working accordingly. I also had an opportunity to review the presented information regarding Unix and Linux. By using Windows PowerShell, I tried some of the Linux shell commands to familiarize myself with them.
Additionally,
I am learning about operating systems and how physical resources are managed
through virtualization. The virtualizing of the CPU allows many programs to run
at once, controlled by the resource manager and the OS policy. The OS manages
the physical memory as a shred resource, allocating virtual address space for
every process. In reviewing the provided material regarding systems
architecture, the two main tasks of operating systems are abstraction layer and
resource manager. In the abstraction layers, the operating system runs in
Kernel mode to protect and allow the software to access the hardware directly.
In contrast, the user mode prohibits direct access to hardware and isolates the
sharing of memory, allowing programs running on user mode exclusive access to
address space. Each layer in the system architect provides Application Program
Interfaces (APIs) to access abstractions. Moreover, system calls control the
transition from user to kernel mode, allowing programs to run without compromising
the concept of abstraction.
No comments:
Post a Comment