Operating Systems Concepts & Design
This lab will have you focusing on your physical system. Your workflow to complete the companion documentation is up to you.
Go to the folder that contains your repository (likely named ceg2350-yourgithubusername).
Create a new directory, Lab07.
Create a file named README.md in the Lab07 folder. The Lab 07 Template can be copied from this link:
https://raw.githubusercontent.com/pattonsgirl/CEG2350/refs/heads/main/docs/Labs/Lab07/LabTemplate.mdYou may refer to additional resources outside of the recommended resources provided.
Any resource that you use that contributes to your understanding of exercises in this lab should be cited in the Citations section of your lab answers. To add citations, provide the site and a summary of what it assisted you with. If generative AI was used, include which generative AI system was used and what prompt(s) you fed it.
If you make mistakes with commands in the lab, note them! Writing down what went wrong and what the correction was will significantly help your learning journey. If you cannot find a correction, it will help the TAs or myself understand what point you reached and determine some potential solutions.
Find out the following information about your physical system. For the GPU section, you likely only have a integrated or dedicated GPU - not all systems have both. Only fill out what you have.
If research proves your system does not support something, leave documentation and supporting articles.
C for Windows users/ for Linux / Mac usersYou should experience making some hardware choices and installing an operating system. The easiest way to do this is via virtual machines. This allows your host to segment a set of resources to run a machine (a guest) via your host. Developers (and students :wink: ) use VMs to install software that isn’t compatible with their host OS, download and explore suspicious packages, create test environments, and other things. Companies will buy a server with massive amounts of resources (200 CPUs, a few terabytes of RAM, a few petabytes of storage) and segment it by creating virtual machines for various software needs. We are using a VM allocated in Amazon Web Services… they are everywhere!
You will need a computer that has CPU virtualization enabled. The lab machines and open lab machines in Russ 152 B & D are all good candidates (and may have VirtualBox already installed). For your own machine, you may need to enable CPU virtualization in your BIOS / UEFI.
The lab template will give an outline of minimum expected documentation for this portion. The instructions below will provide more verbose guidelines to complete the taskings.
Resources we’ve whipped up
Accomplish the following tasks using the guest OS in the virtual machine you made in Part 2. In your lab template, write a “how to” of steps taken to complete each task.
VBoxLinuxAddition.run executable as rootsshWe plan to use this VM again in future labs. If you must delete it, make sure your instructions from this lab are good enough to quickly get a new one back up and running
Verify that your GitHub repo has a Lab07 folder with at minimum:
README.mdIn the Pilot Dropbox, paste the URL to the Lab07 folder in your GitHub repo
Your files should be cleanly presented in your GitHub repository. Citations should be included as needed. Include which generative AI system was used and what prompts were used if generative AI was used.
Windows Subsystem for Linux (WSL) is a feature of Windows that allows you to run a Linux environment on your Windows machine, without the need for a separate virtual machine or dual booting. WSL is designed to provide a seamless and productive experience for developers who want to use both Windows and Linux at the same time.
Check out the full list of features: https://learn.microsoft.com/en-us/windows/wsl/about
Once upon a time, we required Windows user install WSL2 with Ubuntu in order to use utilities like ssh. I strongly recommend Windows users install this. Upper level course will expect you to be aware of it and have it if you need it. Most developers who use Windows systems will have WSL2 with a linux distro in order to enable Linux based workflows.
Video - WSL2 Overview - Network Chuck
By default, WSL2 will come with Ubuntu selected as the default distro. Other options can be viewed in the Microsoft Store or you can find instructions to install a custom distro.
There are a lot of ways to add screenshots to a markdown file. I’m going to tell you my way. I use my system to take a screenshot, and then I upload files in my repository in GitHub.
Remember when content exists in your repository folder on GitHub, but does not exist in your local folder (the one you usually git push from) you need to do a git pull to sync back up.
We are going to be uploading images directly to our repository in GitHub, then use git pull pull those changes (more specifically, pull the commits which include the changes) to our cloned repositories.
git pullls and see them
# Either of these will work.
# The first is relative to VBox being in the same folder as the file I'm referencing it in (Lab 07)

# The second is an absolute path within the context of the repository

Either of these will work.
The first is relative to VBox being in the same folder as the file I’m referencing it in (Lab 07)
The second is an absolute path within the context of the repository