Operating system labs are guided exercises where you work inside a real or simulated Windows or Linux system, run commands, change settings, fix faults and see what happens. The fastest way to start is a safe virtual machine, a short list of command-line drills (navigation, files, permissions, processes), and a habit of checking each result against the task you were given. This guide covers the setup, the exercises worth doing first, the deeper OS concepts, and how to turn lab time into certification-ready skill.
TL;DR
- An OS lab is hands-on practice with a working system. You learn by doing the task, not by reading about it.
- Use a virtual machine or a browser-based lab so you can break things safely and reset.
- Start with command-line basics on Linux and Windows: navigation, files, permissions, processes, and network and system information.
- Move up to processes, memory, file systems and system calls once the basics feel automatic.
- Measure progress by task completion, not by how many pages you read.
Table of Contents
- What operating system labs are
- Course labs versus certification labs
- Setting up a safe place to practice
- Command-line exercises to start with
- Windows command practice
- Operating system concepts you can practice
- A four-week plan
- Our perspective
- Turning lab practice into exam readiness
- FAQ
- Sources
What operating system labs are
There are two common meanings, and it helps to know which one you need.
In a university course, an OS lab usually means programming and experimentation: writing C programs that use system calls, simulating scheduling, or booting a teaching kernel. In IT training, an OS lab is more practical: you administer a system the way a help desk technician, sysadmin or security analyst would.
The second kind is described well by a National Cyber Watch course. Its lab exercises introduce the functions and operations of desktop, server and mobile operating systems, with a focus on features, concepts and diagnostic tools that let you work out the condition of a system and how to fix a fault. The same labs are also meant for learners preparing for the CompTIA A+ Core 2 (220-1002) exam.

That description is a good yardstick for any lab you consider. A useful lab gives you a goal ("find out why this service will not start"), a real system to work on, and a way to tell whether you succeeded.
Course labs versus certification labs
| University OS course labs | Certification-style OS labs | |
|---|---|---|
| Main goal | Understand how an OS is built | Operate and troubleshoot an OS |
| Typical tasks | Write C code, add system calls, simulate schedulers | Manage users, permissions, services, networking, logs |
| Environment | Local VM, emulator such as QEMU | Simulated Windows, Linux or network environment |
| Best for | Computer science students, future developers | Help desk, sysadmin, networking and security roles |
| Feedback | Test scripts, grader, instructor | Task-based checks and explanations |
Most aspiring IT professionals need the right-hand column first. The left-hand column becomes valuable later, especially for security work where you need to know what the system is doing underneath.
Setting up a safe place to practice
You should never practice destructive commands on the computer you use for work or school. Two options keep you safe.
A virtual machine on your own computer. A VM is a complete computer running inside a window. If you wreck it, you delete it and start over. One set of Linux systems programming labs recommends VMs for this reason: they let you observe the kernel and run demonstrations such as out-of-memory kills or a full disk that need a safe place to break things.
A browser-based lab. There is nothing to install, the environment is prepared for you, and a reset takes seconds. This is the easiest route if your laptop is modest or you are short on time. Our hands-on IT labs run this way across 15 certification exams.
What a course-grade setup looks like
If you take a kernel-focused course, expect a heavier toolchain. The University of Illinois CS 423 Fall 2026 setup assignment has students work in a Linux environment preinstalled with Ubuntu, compile their own kernel, and test it with QEMU. It recommends VSCode connected over SSH, and lists packages including git, build-essential, python3, flex, bison and qemu-system-x86.
You do not need any of that to practice administration skills. You do need it if your goal is kernel development.
A simple starter checklist
- Pick one system to begin with: Ubuntu for Linux, or the Windows version you already use inside a VM.
- Take a snapshot or keep a clean copy so you can roll back.
- Keep a text file of every command you run and what it did.
- Give yourself one goal per session, such as "create a folder tree and lock down its permissions."
Command-line exercises to start with
The command line is where OS labs begin. These drills build the muscle memory that later labs assume. Each can be done in 10 to 20 minutes.
Navigation and files
- Print your current location with
pwd, list contents withls, and move withcd. - Create a project folder with
mkdir, then make nested folders. - Copy with
cp, rename or move withmv, and delete withrm. - Use
ls -lato see hidden entries and details. - Practice wildcards, and run
lswith the same pattern before you userm, so you see exactly what will be deleted.
These are the same basics covered in solved Linux exercises aimed at beginners, which is a handy way to check your answers.
Permissions
Run ls -l on a few files and read the permission string character by character. Then change it: add execute permission with chmod +x, remove write permission with chmod -w, and confirm the change with ls -l. A short bash workshop walks through exactly this pattern.
Try to answer these without looking: who can read the file, who can write to it, and what happens when you try to run it without execute permission?
Processes and search
- Show running processes with
psand watch them live withtop. - Find a file by name, then find files by their contents.
- Redirect output to a file, then append to it.
- Extract an archive, then list what came out.
If you want a ready-made problem set, the command-line challenges repository is built for Linux newcomers. It includes extracting archives, redirecting output, showing running processes, checking the processor count and finding files by content.
Windows command practice
Windows deserves equal time, because most corporate desktops run it and help desk exams test it.
One point trips up learners: there are two shells. Cornell's CS 1110 notes explain that Windows has PowerShell and the older Command Prompt, and that Microsoft's policy since Windows 10 is to favor PowerShell, which is much closer to the macOS and Linux shells. The same notes point to ls and cd as the two most important commands to know.
The commands below work in Command Prompt, and many have PowerShell equivalents. Run them side by side with their Linux counterparts.
| Task | Windows | Linux |
|---|---|---|
| Show current folder | cd (alone) | pwd |
| List files | dir | ls |
| List all, including hidden | dir /a | ls -la |
| Search subfolders | dir /s | find |
| View a text file | type file.txt | cat file.txt |
| Network settings | ipconfig | ip addr |
| System details | systeminfo | uname -a and lsb_release -a |
The Windows entries follow a developer's Windows survival guide and a Windows command-line walkthrough, which cover dir, type, ipconfig and systeminfo. The Linux column is the standard equivalent for each task.
A 20-minute Windows drill
- Open PowerShell and print your current folder.
- Create a folder on the desktop, then a text file inside it.
- List the folder, including hidden items.
- Run
ipconfigand write down your IP address and default gateway. - Run
systeminfoand find the OS version and installed memory. - Repeat the same steps in a Linux VM and note which commands differ.
The final step is the point. Switching between systems without confusion is a skill employers notice.
Operating system concepts you can practice
Once commands feel natural, labs can go deeper into how the system works. Four areas come up again and again.
Processes and scheduling. Typical course labs implement CPU scheduling algorithms such as FCFS, SJF and Round Robin, according to a common lab manual. The practical version: start several jobs, watch how the system shares the CPU, and stop the one that misbehaves.
Memory management. The same manual lists contiguous memory allocation and page replacement algorithms such as FIFO and LRU. The practical version: watch memory use under load and see what happens when it runs out.
System calls and processes in code. Advanced labs have you write C programs that use fork, exec and wait, and simulate deadlock avoidance with the Banker's Algorithm, as the lab manual describes.
Booting and kernels. The xv6 lab kit from OUC has students compile the xv6 teaching OS, boot it in QEMU, then work through labs on system calls, process states, page tables and file descriptors. It is a clear look at how user programs talk to the kernel.
The xv6 kit also shows good lab habits. Work through the labs in order, read each lab's README before starting its tasks, run the provided tests, and check the troubleshooting document when you are stuck. Those habits apply to any lab you do.
A four-week plan
This plan assumes about five hours a week. Adjust it to your schedule.
Week 1: Navigation and files. Do the drills above on Linux. Aim to complete each without looking up a command. Repeat any you had to look up.
Week 2: Permissions, users and processes. Create users and groups, set permissions on shared folders, and inspect and stop processes. Switch to Windows and do the equivalent with its own tools.
Week 3: Troubleshooting. Take a working system and break one thing at a time: a wrong permission, a stopped service, a bad network setting. Then diagnose it from symptoms only. This matches the fault-finding focus of the National Cyber Watch labs.
Week 4: Timed tasks. Give yourself a task and a clock. Do five tasks in 30 minutes and score yourself on completion, not on style.

How to check your results
A lab is only useful if you know whether you passed. Use these checks:
- Run the verification command. If you created a file with certain permissions, run
ls -land compare it with the task. - Reset and redo. If you can repeat the task from a clean state without notes, you know it.
- Explain it aloud. If you cannot say why a command worked, you only copied it.
- Track misses. Keep a list of tasks you failed and revisit them after two days.
Our perspective
We built SecLern around one belief: you prove you can run a system by running it, not by recognizing the right answer on a list.
That is why our labs and performance-based questions are graded on whether the task was actually completed. If the goal is to restrict a folder to one group, the system either behaves that way or it does not. Immediate feedback and explanations then tell you what to change, and our study sessions adapt to the gaps they find.
We also write our own practice content, mapped to the published objectives of each certification, rather than recycling question lists. Learners get simulated Windows, Linux and Cisco environments, so the command-line skills in this guide are exactly what they practice, in context, for exams like Security+, Network+ and AWS Solutions Architect.
If you are choosing how to spend limited study hours, spend the larger share on tasks you do with your own hands.
the author
Turning lab practice into exam readiness
Certification exams increasingly include performance-based questions, where you complete a task in a simulated environment instead of choosing from options. Lab practice is the most direct preparation for them, because the skill being tested is the skill you rehearse.
A sensible way to connect the two:
- Pick your exam and read its published objectives.
- Mark every objective that involves doing something: configuring, troubleshooting, securing, monitoring.
- Do a lab for each one, then answer practice questions on the same objective.
- Retest the objectives you missed.
If you are not sure which exam to start with, our certification chooser can help. For operating system skills specifically, these lab pages match the topics in this guide:
- A+ 220-1202 labs for Windows, Linux and macOS operating system tasks and troubleshooting
- A+ 220-1201 labs for hardware, networking and mobile device practice
- Linux+ XK0-006 labs for deeper Linux administration
- Network+ N10-009 labs for the network commands that sit beside OS work
You can also try free Linux+ PBQ examples to see what a task-based question looks like before you commit to anything.
Start practicing with SecLern
SecLern has a free tier with limited access to key features, so you can try a lab before you pay. When you are ready for more, Pro costs $15 per month or $99 per year, and Exam Sprint is a one-off $29 for 90 days of exam prep access. Plans are on the pricing page.

If you are preparing for a single exam on a deadline, a 90-day sprint fits. If you are building skills over a longer stretch, the monthly or annual plan gives you room to move between certifications.
FAQ
Do I need to know programming to do operating system labs?
Not for administration-style labs. Navigating files, setting permissions, managing processes and checking network settings need only command-line basics. Programming becomes necessary in university-style labs, where you write C code that uses system calls such as fork and exec.
Should I start with Linux or Windows?
Start with the system you are most likely to meet in your target role, then add the other within a few weeks. Help desk paths lean on Windows, while server, cloud and security paths lean on Linux. Doing the same task on both, as in the comparison table above, is the quickest way to learn the differences.
Is a virtual machine better than a browser-based lab?
They serve different needs. A VM gives you full control and is required for kernel-level work such as compiling a kernel and booting it in QEMU. A browser-based lab is faster to start and comes with tasks and checking already prepared, which suits certification study.
How long does it take to get comfortable with the command line?
It depends on how often you practice. Short, frequent sessions with a specific goal work better than one long weekend. If you can repeat the week 1 and week 2 drills from memory on a clean system, you have the basics.
Can lab practice replace practice questions?
They work best together. Labs build the skill of doing a task, and questions test whether you recognize concepts and edge cases across the whole objective list. Use a lab for each hands-on objective, then confirm with questions.
Sources
- NCC 217: Operating Systems Fundamentals, National Cyber Watch
- CS 423 Fall 2026 MP0: Setting Up a Kernel Development Environment
- The KVM lab, Linux Systems Programming
- Basic Linux Commands: Solved Exercises
- Bash Workshop
- mssalvatore/command-line-challenges
- CS 1110 shell notes for Windows, Cornell University
- Survivor Guide to Develop on Windows
- Windows CLI Basics walkthrough
- BCS303 Operating Systems Lab Manual
- OUC xv6 Lab Kit
