Posts

wk7; Persistence

 There were many topics I've learned for this week, some particular topics I enjoyed learning was about RAID, which is Redundant Disk Arrays, which are used to make backups of harddrives but make them appear as a single harddrive to the user.  This allows the disks to provide redundancy and in some case performance improvements where data is spread across multiple harddrives to increase read and write speeds.   Another topic I heard before but never understood was journaling.  Journaling is a technique used in file systems to maintain the integrity and consistency of data by keeping a log of changes that will be made to the file system.  Journaling main goal is to prevent data corruption and ensure the file system can recover graceully after unexpected shutdown. 

wk4: The Illusion of Memory

 I remember during my intro to comp arch course at a community college, the professor always showed us and reminded us that the memory that the program sees is not the physical memory.  I appreciate  him teaching us about this early on as it gained my interest to learn how exactly the OS manages that. Memory virtualization is a topic that makes every process think they have their own playground.  This allows the OS to manage the memory allocation while the program itself can do what it was programmed to do.  I also learned about paging which allows the translation of the virtual memory space to the physical memory locations.    For as long as I remember I tried again and again I tried to learn linux systems and something that caught my eye was the step to make swap space on the harddrive.  I wondered why Id have to do such a thing since windows doesnt have it.  But the idea behind it to use the harddrive as a backup memory location makes...

wk2: Trust the Process

 In the year 2012, Kobe Bryant was having a season filled with injuries and ups and downs, but confidently he said to "Trust the process" in order to achieve his goal of another NBA championship.  While he wasn't able to get this sixth championship, his saying still lives on.  Though I'm sure Kobe wasn't aware that trusting the process lies within our computers that allows them to perform whatever we tell them.   I've learned the interesting bits about how the OS manages processes through the fork() and exec() commands, which appear simple but allow the OS to perform multiple processes.  I later learned about how the OS manages permissions between the user and kernel, so the user can temporarily access higher permissions through the use of traps. Also fun to think about the potential of traps if one were to gain access, they can run malicious code.

CST334 - OS - WK1

 The first week of CST334 has been interesting, since I've always wondered how computers bridge the gap between hardware and software, and it seems like the OS is the glue that holds it all together.  I remember back in the lower division course of Computer Architecture, the professor spoke about how data is placed in memory and seeing where in the memory this information is being stored.  He was careful to point out that the memory address that was seen is not exactly the hardware memory address because of virtualization.  Then in the first week of this course we were exposed to virtualization to see how the OS manages the flow of information.  I find that all the computer things I've learned in the past through online tutorials like setting up linux machines, etc, are coming together, to understand why that command I copy and pasted to change file permissions are actually doing!

CST 363 Final Week

 The top 3 important topics I learned in this course are probably the following: SQL Database Design  Learning databases are designed and how information is organized and categorized in tables CRUD Operations Understanding CRUD operations is essential for building applications that interact with databases, as it covers how to add, retrieve, modify, and remove data.   NoSQL like Mongodb It’s important to understand the benefits and use cases for NoSQL databases, like scalability and handling unstructured data, as well as their trade-offs compared to relational databases.

CST 363 Wk7:

 I 100% prefer MongoDB, it's very intuitive compared to SQL statements, since it's more modern.   Some similarities are the CRUD operations, which makes going from SQL to MongoDB easy to handle. I do like how flexible the data is stored in MongoDB rather than SQL.

CST 363 Wk5: Slow Indexes

 Well hello! it's been awhile hasn't it? Even though indexes are generally fast and enhance query performance, but if the database is poorly designed and/or maintained then the index would have a negative effect on performance. For example table data can be unsorted and the index scan has to search all matching indexes instead of just finding a single matching value. .