Posts

Showing posts from June, 2024

CST 334 - Module 2

Week 2  This week's topic is more centered around the idea of processes, which is essentially a program that is running instead of sitting in storage. However, it doesn't end there. The OS sets an environment and tools for the user program to use (also known as context). Additionally, if the pc runs multiple programs at once, the OS must be able to run them all at the same time (i.e. run one program for a time, then stop it, switch to the next program, and so on) all without forgetting each programs data/instruction. Remember, time is important when trying to complete many tasks.  There are many ways the programs can share the CPU, first in last out, round robin, shortest job first, etc. These are essentially ways the scheduler can assign which order of process to run, resulting in faster response times or turnaround time (time = process finished - process arrived). But this is started to get more into scheduling than processes so let's take a step back. The process is comp

CST 334 - Module 1

 A new beginning! This is now the first module (excluding module 0) of the next course CST 334 - Introduction to Operating Systems.  There was quite a bit of reading, but the resources cover a lot of material. Starting with an introduction in how an operating system (OS). I have always wondered how an OS really works under the hood of what we can see as a user of our personal computers (PC's), but I've never truly looked into it. Now, I have a better understanding of what goes on.  An OS mainly communicates between applications/users and the hardware of the PC, however, that is an overly simplified summary. It achieves this by providing tools to applications which are necessary because user's and their applications are in "user mode" and don't have the hardware privilege to read and write data stored within the computer. This is for security reasons, but applications and users are able to request the OS to retrieve and change data in their place. All the while

CST 363 - Module 8

 The final week of the class! This turned out to be a very interesting class. It had its hardships, but after getting through it was rewarding. To keep this brief, I will list the 3 most important things I learned throughout the course. One being the ability to use MySQL and MongoDB. Having these two database applications under my belt will surely be beneficial in the long run, especially if I want to make my own applications that save user accounts, much like in our group projects with creating a database for prescriptions using a website. Two being transactions/concurrency. I've never asked myself how an atm would be able to protect one's money under the circumstances of an error in which the user's account is updated before the atm finishes dispensing cash. Now I have an understanding of how databases can be designed with committing, rollbacks, and how transactions can be managed. Three being how a database is designed. Especially if the database is relational. How each

CST 363 - Module 7

 Week 7! This week involved involves us using a NoSQL database called MongoDB. After using both MySQL and MongoDB and the instructions that came with it, I can certainly say that there are a few differences between MySQL and MongoDB.  For instance, MongoDB is not relational, whereas SQL is. Mongo and SQL use different query languages. And Mongo doesn't use transactions but SQL does. Some similarities however, include both SQL and Mongo supporting things like query projection, unique keys, and indexes. One thing that is strengthened on Mongo, is replication, which increases reliability which can be useful when an error occurs. When it comes to my preferred choice of the two databases, it depends. MySQL's language is more human based or easier to read, but it doesn't make it easier to find very specific data from multiple schemas. However, if you are already familiar with coding in JavaScript, or coding in general, then MongoDB can be strong choice as it is easier to support

CST 363 - Module 6

Week 6, This week was a fun week. Mostly because we started to connect our databases to a java project. From there we were able to learn how to use the database from java and see what it is like to work on a website that uses the database via user input. Additionally, we are working with groups to make this website work.  Aside from the website, we also were able to practice our SQL statements a bit more, which for me I feel I am getting faster at completing. Those are the main things that we worked on this week and so far, it is interesting.