Week 1 – CST– 334 Operating Systems
Module 1 - Processes
This
week we learned what this class is about and what the goals of the class are.
In this course we will be using the bash programming language and Linux
utilities to create shell scripts which will allow us to automate repetitive
tasks. Throughout the course we will learn about syntax, structure, and
commands when programming in the bash shell. The goal of the course is to
provide the students with a solid introduction to the basic concepts of Linux
and shell scripting so that they can apply them in the real world.
From lab1, we learned how to use the GDB tool to help us debug our code by
isolating memory issues to figure out what is wrong. The lab taught us how to
read the information given by the compiler when errors are encountered. The
debugging tool is used to get more detailed information and allows us to step
through our code so we can get a better sense of where the errors occurred.
PA1 gave us more practice with debugging code. It also served as an
introduction and practice to programming with the C language. We learned how to
create functions for string manipulation such as getting the string length,
truncate a string, and finding the first and last occurrence of a character in
a string. We also learned about creating structures and how to use them.
Lastly, we learned how to create an encryption function based on the Caesar
Cipher encryption technique. This technique takes a normal plain text string
and substitutes each letter with a letter a number of positions away in the
alphabet.
From the readings, we learned what an operating system does and how it does it.
Most importantly, the two main tasks of an operating system are to provide a
layer of abstraction and to manage resources. It provides abstraction by hiding
details of hardware from application programs which is how the user interacts
with the system. It also substitutes physical hardware with abstract services
to the application programs. The operating system manages limited resources
like the CPU, memory, and disk space. It optimizes these resources and protects
them from misuse or abuse by equitably and fairly allocating them when a system
provides multitasking capabilities.
Comments
Post a Comment