Operating Systems Concepts
45 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following is a primary benefit of the abstraction provided by an operating system?

  • Improved portability of programs across different hardware. (correct)
  • Direct hardware access for enhanced performance.
  • Reduced security due to unrestricted resource access.
  • Increased complexity for programmers needing to understand low-level details.

Why is preemptive multitasking important in a multi-user operating system?

  • It ensures fair CPU usage by preventing any single program from dominating the system. (correct)
  • It simplifies the OS by eliminating the need for context switching.
  • It reduces security risks by limiting the number of processes that can run simultaneously.
  • It allows a single program to monopolize the CPU for maximum performance.

What is a key advantage of a monolithic kernel architecture?

  • Better fault tolerance, preventing a single failure from crashing the entire system.
  • Enhanced security because failures are isolated to user space.
  • Faster execution speed due to fewer context switches. (correct)
  • Increased modularity, making it easier to update individual components.

Which of the following is a characteristic of a microkernel architecture?

<p>Increased inter-process communication overhead. (A)</p> Signup and view all the answers

What is the purpose of FUSE (Filesystem in Userspace)?

<p>To allow users to create custom filesystems without kernel modifications. (A)</p> Signup and view all the answers

Which user interface type is known for being powerful and scriptable but having a steeper learning curve?

<p>Command-line interface (A)</p> Signup and view all the answers

Why does the operating system differentiate between kernel mode (Ring 0) and user mode?

<p>To protect system stability by restricting user applications from direct hardware access. (B)</p> Signup and view all the answers

What is the primary function of a PID (Process ID)?

<p>To uniquely identify a running instance of a program. (C)</p> Signup and view all the answers

Which of the following is the MOST significant difference between a program binary and a process?

<p>A program binary is a static file on disk, but a process is a dynamic entity with its own PID, memory, and state. (D)</p> Signup and view all the answers

A program is in the 'Waiting' state. What is the MOST likely reason for this?

<p>The program is waiting for an I/O operation to complete. (A)</p> Signup and view all the answers

Which segment of a process's virtual address space is responsible for storing dynamically allocated memory?

<p>Heap (C)</p> Signup and view all the answers

What is the significance of User ID (UID) 0?

<p>It signifies the 'root' user, which has full control over the system. (B)</p> Signup and view all the answers

What is the key distinction between library calls and system calls?

<p>Library calls are performed in user space, while system calls require a switch to kernel space. (B)</p> Signup and view all the answers

Which of the following BEST describes how higher-level abstractions contribute to software portability?

<p>They provide a layer of indirection, allowing code to run on different OS/hardware with minimal modification. (D)</p> Signup and view all the answers

What is the primary difference between an internal (built-in) command and an external command in a shell environment?

<p>Internal commands are executed directly by the shell, while external commands are separate binaries stored in system directories. (C)</p> Signup and view all the answers

What distinguishes direct execution from indirect execution of code?

<p>Direct execution involves running code directly on the CPU, while indirect execution requires an interpreter. (C)</p> Signup and view all the answers

What is the primary role of the init process (PID 1) in a Linux-based system?

<p>Managing system initialization and background services. (D)</p> Signup and view all the answers

Which of the following scenarios accurately describes a 'zombie process'?

<p>A process that has finished executing but still has an entry in the process table. (B)</p> Signup and view all the answers

How does the SA_RESTART flag in signal handling address concurrency issues?

<p>By ensuring interrupted system calls are retried instead of failing when a signal is received. (A)</p> Signup and view all the answers

Which of the following commands would send a termination signal to a process with PID 1234?

<p><code>kill(1234, SIGTERM)</code> (C)</p> Signup and view all the answers

In a shell pipeline, what is the fundamental function of the | (pipe) operator?

<p>To chain commands together by passing the standard output (stdout) of one to the standard input (stdin) of the next. (A)</p> Signup and view all the answers

What is the key difference between using > and >> for redirection in a shell command?

<p><code>&gt;</code> overwrites the file with the output, while <code>&gt;&gt;</code> appends the output to the file. (A)</p> Signup and view all the answers

If your current directory is /home/user/documents, what does the relative pathname ./reports/final.txt refer to?

<p><code>/home/user/documents/reports/final.txt</code> (A)</p> Signup and view all the answers

What is the primary purpose of the ioctl() function?

<p>To send control commands to devices. (D)</p> Signup and view all the answers

A system administrator notices a server is running out of disk space but du and df report significantly different usage. What is the most likely explanation for this discrepancy?

<p>There are many files open by running processes that have been deleted from the file system. (D)</p> Signup and view all the answers

Which of the following scenarios would benefit most from using a user-space file system like FUSE?

<p>Creating a file system that automatically encrypts all data written to it. (A)</p> Signup and view all the answers

A program compiled with dynamic linking is deployed on a system that is missing one of the shared libraries it depends on. What is the most likely outcome when the program is executed?

<p>The program will fail to start and report a missing library error. (C)</p> Signup and view all the answers

A developer wants to ensure that their application has access to specific environment variables, regardless of the user's system configuration. Which approach is the most reliable?

<p>Include a script that sets the environment variables before executing the application. (A)</p> Signup and view all the answers

An application needs to store frequently accessed temporary files. Considering performance and persistence, which file system would be most suitable?

<p>tmpfs (C)</p> Signup and view all the answers

Which of the following is the primary function of the /dev/stderr device file in a Linux system?

<p>To direct output from commands that are considered errors or diagnostics. (C)</p> Signup and view all the answers

After a user enters their username at the login prompt, what is the next critical step in the standard Linux login process?

<p>The <code>/usr/bin/login</code> program checks the entered credentials against the <code>/etc/passwd</code> and <code>/etc/shadow</code> files. (A)</p> Signup and view all the answers

In the /etc/passwd file, what does the 'x' character typically signify in the password field of a user account entry?

<p>The actual password is encrypted and stored in the <code>/etc/shadow</code> file. (A)</p> Signup and view all the answers

Given the /etc/passwd entry john:x:1002:1002:John Doe:/home/john:/bin/zsh, which statement accurately describes John's account?

<p>John's User ID (UID) and Group ID (GID) are both 1002, and he uses the zsh shell. (A)</p> Signup and view all the answers

What is the correct way to permanently set an environment variable named EDITOR to vim for all future sessions in a Linux environment?

<p>Adding the line <code>EDITOR=vim</code> to the <code>/etc/environment</code> file. (B)</p> Signup and view all the answers

If a user executes the command echo $PATH in their terminal, what type of information is most likely to be displayed?

<p>A series of directories that the shell searches for executable files. (C)</p> Signup and view all the answers

Which command would correctly redirect both standard output and standard error of a script named my_script.sh to a file named output.log?

<p><code>my_script.sh &amp;&gt; output.log</code> (A)</p> Signup and view all the answers

A user wants to run a program and ensure that only error messages are displayed on the terminal, while all standard output is discarded. Which command achieves this?

<p><code>program 2&gt;&amp;1 &gt; /dev/null</code> (B)</p> Signup and view all the answers

Which of the following is NOT a typical reason for using threads instead of processes?

<p>Enhanced protection against other program's crashes. (D)</p> Signup and view all the answers

What is the primary advantage of separating fork() and exec() system calls?

<p>Increased flexibility, allowing the child process to modify its state before executing a new program. (D)</p> Signup and view all the answers

Which of the following is a key characteristic that distinguishes pthreads from clone()?

<p><code>pthreads</code> provides a higher-level, more portable interface for thread management. (C)</p> Signup and view all the answers

Which of the following is the most accurate description of the role of the OS kernel in managing hardware resources?

<p>The kernel offers a simplified, abstracted interface to hardware, managing access and mediating conflicts. (C)</p> Signup and view all the answers

Consider a system using preemptive multitasking. What mechanism does the OS primarily rely on to regain control from a running user program?

<p>Hardware interrupts triggered by a timer. (B)</p> Signup and view all the answers

Which of the following is the most significant drawback of using swapping as a memory management technique, compared to paging?

<p>Swapping involves moving entire processes to disk, resulting in higher latency. (C)</p> Signup and view all the answers

In the context of memory allocation, what is the key difference between static and stack allocation?

<p>Static allocation has a fixed size determined at compile time, while stack allocation is dynamic and managed at runtime as the call stack grows or shrinks. (A)</p> Signup and view all the answers

Which of the following scheduling algorithms could lead to starvation?

<p>Priority Scheduling (C)</p> Signup and view all the answers

Flashcards

Process

A program running with its own PID, memory, and state.

Process States

New, Ready, Running, Waiting, and Terminated.

Code Segment

Stores executable instructions.

User ID (UID)

A software label that defines user privileges.

Signup and view all the flashcards

Library Calls

Functions provided by libraries, running in user space.

Signup and view all the flashcards

System Calls

Direct OS requests, requiring a mode switch to kernel space.

Signup and view all the flashcards

Environment Variables

Key-value pairs for configuration in the shell/process environment.

Signup and view all the flashcards

Internal Commands

Executed directly by the shell; faster because no new process is needed.

Signup and view all the flashcards

Resource Management & Abstraction

OS manages resources (CPU, RAM, storage) and simplifies hardware interactions for programs.

Signup and view all the flashcards

Preemptive Multitasking

OS interrupts processes, switching between them to ensure fair CPU usage.

Signup and view all the flashcards

Monolithic Kernel

Everything runs in kernel mode, faster but less modular.

Signup and view all the flashcards

Microkernel

Essential functions run in kernel mode, other services in user space: modular, secure, slower.

Signup and view all the flashcards

FUSE/udev/sshfs

FUSE allows custom filesystems, udev manages device nodes, and sshfs mounts remote filesystems, all in user space.

Signup and view all the flashcards

OS User Interfaces

Ways for users to interact with the OS: command-line, text UI, GUI.

Signup and view all the flashcards

Kernel Mode (Ring 0)

Full hardware access for critical OS functions.

Signup and view all the flashcards

Processes & PIDs

A running instance of a program. PID = Unique identifier.

Signup and view all the flashcards

init (PID 1)

First process started by the kernel, managing system initialization and background services.

Signup and view all the flashcards

Zombie Process

A process that has finished executing but still has an entry in the process table because the parent hasn't called wait().

Signup and view all the flashcards

Signals

Asynchronous notifications sent to processes, can’t send extra data, only a signal number.

Signup and view all the flashcards

sigaction()

Sets a signal handler for a process.

Signup and view all the flashcards

Shell Pipeline (|)

Chains commands by passing stdout of one to stdin of the next.

Signup and view all the flashcards

Absolute Pathname

Full path from the root directory.

Signup and view all the flashcards

open()

Opens a file descriptor.

Signup and view all the flashcards

Mounting

Attaching a filesystem to a directory.

Signup and view all the flashcards

Limited Direct Execution

OS allows user programs to run but enforces control using interrupts.

Signup and view all the flashcards

Execution Context

The state of a process, including registers, memory, and open files.

Signup and view all the flashcards

Context Switch

When the CPU switches from one process to another, saving and restoring state.

Signup and view all the flashcards

OS Scheduling

OS decides which process gets CPU time based on scheduling policies.

Signup and view all the flashcards

fork() System Call

Creates a new process by duplicating the parent process.

Signup and view all the flashcards

exec() System Call

Replaces the process's memory with a new program.

Signup and view all the flashcards

Threads

Lightweight processes that share the same memory space.

Signup and view all the flashcards

Paging

Memory is divided into fixed-size pages, mapped virtually to physical memory.

Signup and view all the flashcards

Data Recovery Tools

Tools to retrieve files that have been deleted from storage devices.

Signup and view all the flashcards

Device Repair

Replacing broken components of a device to restore its functionality.

Signup and view all the flashcards

Special File Systems

File systems presenting OS info, not regular files (e.g., procfs, sysfs).

Signup and view all the flashcards

User-Space File Systems

File systems implemented in user space, avoiding kernel modification (e.g., FUSE).

Signup and view all the flashcards

External Fragmentation

Free memory divided into non-contiguous, small blocks.

Signup and view all the flashcards

Shell Features

Provides features like variables, scripting, pipes, redirection, and job control in a Linux environment.

Signup and view all the flashcards

/dev/stdin, /dev/stdout, /dev/stderr

Special files that represent standard input (0), standard output (1), and standard error (2) streams.

Signup and view all the flashcards

Linux Login Process

A program (getty or agetty) starts, prompts for username, hands control to /usr/bin/login, which checks credentials and starts a shell.

Signup and view all the flashcards

/etc/passwd

Contains basic user information like username, UID, GID, home directory, and default shell (but not passwords).

Signup and view all the flashcards

/etc/passwd fields

Username, encrypted password location (x), User ID (UID), Group ID (GID), description, home directory, default shell.

Signup and view all the flashcards

Environment

Variables that affect shell processes, defining the environment in which programs run.

Signup and view all the flashcards

Common Environment Variables

Variables like HOME (user's home directory), PATH (directories for commands), SHELL (default shell), USER (current username), PWD (current directory).

Signup and view all the flashcards

Modifying Environment Variables

Use the export command to create environment variables, which alters the environment of a program

Signup and view all the flashcards

Study Notes

Resource Management & Abstraction

  • The OS manages hardware resources, including the CPU, RAM, and storage
  • Abstraction simplifies hardware complexities, aiding program interaction with resources without detailed knowledge

Benefits of Abstraction

  • Programs become portable, running on different hardware platforms without changes
  • Security is enhanced as abstraction restricts direct hardware access, thus mitigating risks
  • Resource allocation is optimized dynamically by the OS, improving efficiency

Preemptive Multitasking

  • The OS can interrupt a process, switching to another to ensure fair CPU usage
  • Multi-user environments are enabled, preventing a single program from monopolizing resources

Monolithic Kernel

  • Everything, including device drivers, memory management, and file systems, operates in kernel mode (Ring 0)
  • Faster execution and fewer context switches can occur
  • Less modular architecture means a single failure can crash the entire system

Microkernel

  • Only essential functions like IPC, scheduling, and memory operate in kernel mode
  • Other services, such as device drivers and file systems, run in user space
  • More modular and secure design means failures are less likely to crash the entire system
  • Slower than monolithic kernels due to more IPC overhead

FUSE/udev/sshfs

  • These exemplify moving services to user space, similar to microkernel designs
  • FUSE (Filesystem in Userspace) enables users to create custom file systems without kernel modifications
  • udev manages device nodes dynamically in user space
  • sshfs facilitates remote file system mounting over SSH without kernel modifications

Command-Line, Text UI, GUI

  • Different ways for users to interact with the OS exist
  • Command-line interfaces are powerful and scriptable, but have a learning curve
  • Text UIs are menu-based, such as ncurses programs like htop
  • GUIs are graphical desktops that are user-friendly but require more resources

Kernel Mode (Ring 0) vs. User Mode

  • Kernel Mode (Ring 0) has full access to the hardware
  • Critical OS functions like memory management and device drivers run in Kernel mode
  • User Mode access is restricted and can only use system calls to interact with hardware
  • User Mode protects system stability by preventing direct hardware access
  • CPUs enforce separation using privilege levels

Processes and PIDs

  • A process is a running instance of a program
  • A PID (Process ID) is a unique identifier assigned by the OS
  • Program binaries such as /bin/ls are just files
  • When a program binary is executed, it becomes a process with its own PID, memory, and state

Process Lifecycle and Symbols

  • Process states include New, Ready, Running, Waiting (I/O), and Terminated
  • Symbols represent different states in tools like ps (e.g., R for running, S for sleeping)

Address Space Layout

  • Each process has a virtual address space
  • The code segment stores executable instructions
  • The data segment stores global/static variables
  • The heap is used for dynamic memory (e.g., malloc in C)
  • The stack is used for function calls and local variables
  • Argv/env is used to store command-line arguments and environment variables

Users and UIDs

  • Every user has a UID (User ID)
  • Root (UID = 0) has full control over the system
  • A UID is a software label, not hardware-enforced, but controlled by the OS

Files and File Systems

  • A file is the basic unit of data storage
  • A file system is a structure that organizes files
  • File systems provide abstraction for storage devices such as HDDs, SSDs, and USB drives

Library Calls vs. System Calls

  • Library calls (lib calls) are functions provided by libraries (e.g., printf(), malloc())
  • System calls (sys calls) are direct OS requests (e.g., open(), read(), write())
  • Lib calls run in user space.
  • Sys calls require a switch to kernel space.

Abstraction and Portability

  • Higher-level abstractions make software more portable across different OS/hardware
  • Code written in C is more portable than assembly code because C offers higher abstraction

Environment Variables

  • Environment variables are key-value pairs stored in the shell/process environment
  • Environment variables are used for configuration
  • Variables can be global, available to all child processes or local, only for the current shell

Internal vs. External Commands

  • Internal (built-in) commands are executed directly by the shell
  • External commands are separate binaries stored in system directories
  • Internal commands are generally faster

Execution Types

  • Direct execution runs code directly on the CPU
  • Indirect execution requires an interpreter
  • Limited direct execution allows user programs to run but enforces control using interrupts

Execution Context and Context Switching

  • The execution context is the state of a process
  • A context switch occurs when the CPU switches from one prcoess to another
  • Context switching involves saving and restoring registers so it's expensive

Scheduling and Principles

  • The OS determines which process/thread gets CPU time based on scheduling policies
  • Common scheduling strategies include FIFO, Round Robin, Priority Scheduling and Multilevel Queue

fork() and exec()

  • fork() creates a new process by duplicating the parent
  • exec() replaces the process memory with a new program
  • Using separate calls provides flexibility, allows child processes to modify their state, and enables parallel execution

Threads vs. Processes

  • Processes have separate memory spaces
  • Threads within a process share memory (stack, heap)
  • Faster context switching is a benefit of threads
  • Threads can lead to easier communication, but also risk race conditions

pthreads vs. clone()

  • pthreads is a high-level API for threading that works across different OS implementations
  • clone() is a low-level system call that creates a process or thread, offering more control but is harder to use

Paging and Swapping

  • Paging divides memory into fixed-size pages
  • Virtual memory is mapped to physical memory using a page table.
  • Swapping moves entire processes from RAM to disk when memory is full

Role of the Kernel in Abstraction

  • Provides a simplified interface for hardware (CPU, memory, I/O)
  • Manages execution, handles memory, and controls access

Memory Allocation and Symbols

  • Memory allocation can be static (compile time), stack (runtime), or heap (runtime)
  • Symbols represent functions, variables, etc. in compiled programs
  • Some symbols exist only at compile-time, others at runtime.

Libcall vs. Syscall

  • Lib calls call functions from libraries and run in user mode.
  • Syscalls directly request OS services, triggering a context switch into kernel mode.

Consequences

  • Lib calls are faster but syscalls have more overhead but direct hardware access.

Compile-time Libraries

  • Loaded and linked at compile time

Load-time Libraries

  • Dynamically linked to shared libraries at load time.

Library Usage

  • Syscall transitions occur at runtime during actual execution, and transition to kernel mode.

Steps for Talking to a Computer

  • Terminal /sbin/getty starts when a terminal is opened and waits for a login
  • Login /usr/bin/login handles user authentication
  • /etc/passwd and /etc/shadow are read for credentials After Login
  • Shell /bin/bash will start
  • The custom shell, like 3000shell, interprest the user commands.

User Account Info

/etc/passwd

  • Stores usernames, UIDs, GIDs, home directories, and shell paths. /etc/shadow
  • Stores hashed passwords for security.

UID, EUID, GID, EGID, setuid

  • Identifies users UID (User ID):
  • Identifies a user. EUID (Effective UID):
  • Determines actual privileges.

If a program has setuid enabled:

  • It can run with elevated privileges (e.g., sudo). GID (Group ID), EGID (Effective GID):
  • Same as UID, but for groups.

File Permision bits & Notation Conversion

Octal Notation

  • rwxr-xr--→ 754 Owner = rwx=7, Group = r-x=5, Others= r--=4. Symbolic notation
  • chmod u+x file → Adds execute permission to the user

Special Bits

  • setuid (chmod u+s) Runs as the files owner
  • setgid (chmod g+s) Runs with the group's permissions.
  • Sticky_bit (chmod +t)Only the owner can delete files in directory.

Workflow of a shell

  • Reads input (command line)
  • Parses and tokenizes commands
  • Expands wildcards and variables
  • Determines if it's built-in or external commands
  • If external, it forks a child proces
  • Uses exec() to replace process memory with command
  • Waits for process completion

Init (PID 1) - Before any user process

  • First process started by kernel
  • Manages system initialization and background service
  • Modern systems use Systemd. SysV init or openRC

Zombie State & Reaping

Zombie process

  • A process that has finished executing but still has an entry in the process table
  • Happens if the parents does notcall wait() to clean up

Reaping The OS (or parent process) removes zombie when wait() is called

Signals & Concurrency Issues

  • Signals - Asynchronous notifications sent to processes
  • Predefined, no payload-- Cannot send extra dta, only a signal number.
  • Concurrency Issue-- if a signel is sent beffore a process si ready, it might get lost. DA-RESTART--- ensures internrupted system calls are retired instead of failing.

Signal Handling [signaction())] Sending Signals (kill())

  • sigaction() Sets a signal handler for a process
  • kill(pid, SIGTERM) Sends a termination signal to a process

Shell Pipeline (|) & redirection (<, >, >>)

Pipeline (|)

  • Chains commands together by passingstdout of one to stdin of next..
  • Example - cat file.txt |grep "error" | wc -1

Redirection

  • < file Reads input froma file
  • > file overwites a file with output
  • >> file appends output.

Ways to provide input

  • Command line Args --- ./scrip arg1 arg2
  • Piped input-- Echo "hello" | my program
  • Files--- my program < input.txt
  • Standard input (stdin) --- Reads input dynamically.

Path, Pathname, Flilame

  • Path --- Location of the file
  • Filename- the name of a fil - w/out file path
  • Absolute path name- Full path to the root
  • Relative Pathname--- based on current

Ioctl() - Sends control command to devices (change terminal settings). Monting a File System

  • Attaching a file system(USB)
  • Mount /dev/SDB111 /mnt/USB - monts the device /mnt/Use Checks if directory is mount Pion - Mountpoint

The Shell

  • A command line interpreter that allows users to interact with the OS
  • Bash ZSH, Fish, SH
  • Executes internal commands and external commands
  • Provides features like vars, scripting, pipes, redirection, and job control

Standard input,output or error streams

Login Process

  • Getly start and displays a login prompt

User Account info

  • Contains basic user info but not password

Format

  • usernamex:un/gid Examples

A shell

  • the enviornment consits od vars the fact shell processes

Ram Vs Storages

RAM-FAst Votatile Storage IO Operations refer to reading /writing data between RAM and storage.

Block Device Layer & Block Size

  • Storage is managed in blocks the Smallest unit of disk I/O
  • The Block device layer abstract Hardware Differnces and allows buffering of Read/Wiite Operations

File types & inodes File types::

Regular files, directories, symbolic links, device files, sockets, FIFOs Stores Medata About files

File descriptor

  • per process fils decrptio
  • process tacks openfiles y insing intager ID

File System & device files

Special files

  • exist only in VFS (Virtual File System) Not an the physicial disk Device files
  • Are stored in /Dev and reperesnt Hadware.

Dev Files,Logical Size

The amount of data a file contains; - logical file Actural space the file occupy's on disl: - Physical fire .

  • If 7> 0 ,the files Sparse(contains "holes")
  • If O>7, disk fragmentation Or Compressin may be involvedi *

Files system cresh Consistency & Recovery

  • System Crash Consiatancy - Ensuting data interity after chashes
  • method Recory

Specail File Systems

  • special file systems - OS- Information
  • User -Spaces file Systems ALLoc implimenting custom

External Vs Internal Fragmentition

External F:

  • Free space is split into small, unusable Chunks
  • Intenall - un used

memory Vs Storage Alloaition

Memroy - Usises pages(files Sized unis,typicall by +kb)

  • Storage - Uses - Blocks (also files, size Vary's by file system). dynamic Us Static Lnking
  • Static linking - All depencies die induiled in the binary (larger Sizs, independent) dynamic lnking - The program loads shared libraries at runtime (Smaller, by depends On System libraries),

Per-Process Properties

Each process has:

  • Enviorn ment variaables - Env, home, $path, ete
  • Filse discipters - open files, pipes sockets

Current working directory CWD - Determines ivelative path behavior

Readiny commaand output

  • Standy Commande Outputo - like ds stan de du. etc- Melps diagroner file syshemen And Storage isrues.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Explore key OS concepts: abstraction, preemptive multitasking, kernel architectures, and the user/kernel mode distinction. Understand process states, memory management, user IDs and the difference between hard and symbolic links.

More Like This

Exploring Core Components of Operating Systems
11 questions
Understanding Operating System Components Quiz
12 questions
Operating Systems: Kernel and Processes
31 questions
Use Quizgecko on...
Browser
Browser