Posts

Operating Systems - Week 4

     This week in CST 334, we learned about memory virtualization, which allows multiple processes to share physical memory while providing each process with the illusion that it has its own dedicated memory. We learned about the different techniques for memory virtualization, including paging and segmentation, and their advantages and disadvantages. We also learned how memory virtualization supports the goals of multiprogramming, including transparency, protection, and efficiency sharing among processes.  We also examined how the OS provides the illusion of a private address space to each process using virtual memory.  Overall, this week's topic provided a deeper understanding of how memory virtualization is used in operating systems and its importance in enabling useful and more secure multiprogramming. 

Operating Systems - Week 3

    In week 3, I learned about memory virtualization, which is used to provide abstraction between physical memory and the processes that use it.  It allows many processes to share physical memory which improves performance.        I also learned about the difference between stack memory and heap memory.  Stack memory is often also called automatic memory as it is often set up for you and then automatically deallocated when you no longer need it.  Heap memory is memory that you allocate for yourself and then have to deallocate when you no longer need it.  This gives you more freedom to do as you wish, but leaves you open for much more errors.     I also learned about segmentation which allows programs to be loaded into memory with flexibility. This helps create memory protection by preventing one program from accessing the memory of another program.

Operating Systems - Week 2

This week I learned about the workings of processes in operating systems, including process states, context switching, and process scheduling. I also learned about how processes are created using the fork() command, and how processes share resources controlled by the operating system. I also learned about process scheduling such as First In, First Out (FIFO), Shortest Job First (SJF), and Shortest Time-to-Completion First (STCF). I learned how each of these works, their advantages, and disadvantages, and how they can be used to improve system performance. 

Operating Systems - Week 1

 In my first week of Operating Systems, I learned about the basic organization and inner workings of a computer including the roles that the operating system plays in helping control how the resources are managed and used to optimize for speed and efficiency.  We also learned about file systems and how we can alter permissions in Linux to decide who has access to which resources.  We also learned basic Linux commands from the Shell prompt and about writing some C code into a file and how to run that code as a script from the Shell.

Database Systems - Week 8

     The three most important thinga about this course are the things we learned about Database planning and designing.  You need to understand what data you will be storing and how often it will be accessed, what type of queries will be used, etc.        Data integrity is key when you are having users access, update, and insert data on a regular basis.  Data validation and design are both important to keeping data integrity to make sure invalid data isn't being inserted.  Designing a system to make it as difficult as possible to make mistakes is important.      Scalability and performance are also very important because many databases handle large amounts of data and the more time it takes to find the data you need, the more money the company is losing.  Being able to grow as the need arises will set yourself up for the future rather than pushing the buck to the future.      Accessibility and usab...

Database Systems - Week 7

      A data warehouse is a database that holds data to support business intelligence.  It usually holds data from operational databases, transactional databases and can even have outside sources that could give the business more insights into their industry.  The companies that use them can have deeper insights with seeing patterns and industry trends over time.      Having a copy of the data in a data warehouse is important so that the data can be structured to query data faster and so the load on the operational or transactional databases don't get overloaded with the analysis and report intensive queries.

Database Systems - Week 6

Comparing MongoDB with MySQL, the first thing that strikes me is that MongoDB is not a relational database.  There are no keys that are strictly tied to other keys.  MongoDB stores data in documents using JSON.  MySQL uses rows and columns. MongoDB is easier to scale and can handle larger amounts of data more easily.  Using Mongo, you can store data with more flexibility allowing for more complex data storage.  Using MySQL, you would have to have tables and relations set up before data can be stored. MongoDB uses MQL, a query language based on JavaScript, while MySQL uses SQL which was developed to communicate with relational databases. I would choose Mongo if I needed to store large amounts of unstructured data.  Also if I needed flexibilty in changing data and high performance searching through mass amounts of data. I would choose MySQL if I needed a relational database with a well defined schema.  Also if I needed to keep data consistency and needed...