OS Fundamentals
User Interfaces & System Architecture
Processes, Threads & Memory
Files, Permissions & Security
Operating Systems for Developers
100

What is an Operating System?

It is the main software that manages computer hardware and software resources and allows users to interact with the computer.

100

What does GUI stand for?

Graphical User Interface.

100

What is a process in an operating system?

A process is a program that is currently running.

100

What is a file system?

A system used by an operating system to organize and manage files and directories on a storage device.

100

Which operating system family is open-source and widely used on web servers?

Linux.

200

Can you name three examples of operating systems?

Windows, Linux and macOS. Android and iOS are also correct examples.

200

What is a Command Line Interface (CLI)?

A text-based interface that allows users to control a computer by typing commands.

200

What is a thread?

A thread is a unit of execution within a process. A process can contain multiple threads.

200

Which file system is commonly associated with modern Windows installations: FAT32, NTFS or ext4?

NTFS.

200

What does open-source software mean?

Software whose source code is available to be inspected, modified and redistributed under the terms of its licence.

300

What is the main function of an operating system?

To manage hardware and software resources, run applications and provide an interface for users.

300

What is the kernel of an operating system?

The core component of the operating system that manages memory, processes and communication with hardware.

300

What is multitasking?

The ability of an operating system to manage multiple tasks or processes so that they can make progress concurrently.

300

What is the purpose of file permissions?

They control which users or programs can read, modify or execute files.

300

What is virtualization? Give an example of a virtualization program.

Virtualization allows virtual computers to run on a physical machine. Examples include VirtualBox and VMware Workstation.

400

What is the difference between hardware and software? Give two examples of each.

Hardware consists of physical components, such as the CPU and RAM. Software consists of programs and data, such as Windows and a web browser.

400

What is a device driver, and why does an operating system need one?

A device driver is software that allows the operating system to communicate with a hardware device, such as a printer or graphics card.

400

What is virtual memory, and when might an operating system use it?

Virtual memory uses storage space as an extension of RAM. The operating system may use it when physical memory is insufficient.

400

Why is it important to install operating system updates regularly?

Updates fix bugs, patch security vulnerabilities, improve stability and sometimes introduce new features.

400

What is the main difference between a virtual machine and a container?

A virtual machine runs a separate guest operating system, while a container shares the host operating system's kernel and isolates an application and its dependencies.

500

What is the name of the action of turning on a computer and start loading the operating system?

Booting.

500

A developer needs to automate repetitive tasks and execute commands without clicking through menus. Which interface would generally be more suitable, and why?

A Command Line Interface (CLI), because commands can be scripted and executed automatically.

500

Several applications are waiting to use the CPU. What does the operating system's task scheduler do?

It determines which process or thread gets CPU time and when, according to the scheduling policy.

500

A developer's application cannot access a protected file because the current user does not have the required rights. Which operating system mechanism is responsible?

The permission system, also known as access control.

500

Your team needs to deploy many lightweight application instances on a Linux server. Why might containers be a better choice than running a separate virtual machine for every instance?

Containers usually require fewer resources and start faster because they share the host OS kernel instead of running a separate guest operating system for each instance.

M
e
n
u