Compaction ist eine Lösung für das Problem external fragmentation
Eine Seitentabelle hilft beim Übersetzten von physischen Adressen in virtuelle Adressen
Der Hauptvorteil einer zweistufigen Seitentabelle gegenüber einer einstufigen ist, dass die zweistufige nicht vollständig im Hauptspeicher gehalten werden muss
Eine Inode ist ein Eintrag in einem Unix Dateisystem, der einer Datei eindeutig zugeordnet ist
Jeder Thread hat seinen eigenen (virtuellen) Registersatz
Einen Deadlock kann man auch durch inkorrekte Verwendung von Semaphoren erzeugen
Der Kernel-Mode ist ein Modus des Betriebssystems
In der Intel-Architektur enthält das CR3-Register die Startadresse der Segmenttabelle
Relocation can be implemented using base/limit registers
Virtual Memory can be implemented using software only
The used bit and the dirty bit cannot both be set to 1
The ELF format is a format for storing Exended Long Files
Adding more memory to a computer will make it seem to "run faster"
There is no such thing as "address space layout randomization"
Thrashing in a virtual memory system is caused by too many processes not having their working set resident in memory
The return value of a successful exec()-system call is always > 0
Global variables are not shared accross multiple threads belonging to the same process
Starvation is the case when a thread can never aquire a lock on a critical section
A smaller page size leads to more TLB misses
Whenever a thread reference a part of the virtual address space that is not currently loaded in the primary memory, the OS suspends execution and loads the missing information from another portion of primary memory
A thread should always be able to distinguish between being temporarily blocked and deadlocked
Early in his career, Elvis Presley was told: "Stick with driving a truck, because you'll never make it as a singer"
It is possible for multithreading to improve the performance of an application in a single CPU system
In general, there are more inodes than directories on a linux-file-system
The use of a TLB eliminates the need for keeping a page table in memory
Disabling Interrupts is no solution for ensuring mutual exclusion in user space
The term "monitor" has nothing to do with operating systems beyond the fact that it is used to display stuff on it
To wait on something inside monitor, condition variables are available
The state of a thread changes from READY to RUNNING when the thread has been ready long enough
The state of a thread never changes from READY to BLOCKED
A MIPS processor does not use page tables
When using the page-tables method: if linear address A is higher than linear address B, the physical address of A is not necessarily higher than the physical address of B
When threads are implemented in kernel space, we do not need to switch the memory configuration when switching between two threads of the same process
Ensuring mutal exclusion in critical sections is a way to get rid of the race condition problem
With the Test-and-Set-Lock-instruction one can implement an atomic operation
Copy On Write is a principle that speeds up the process creation
The OS resets the used bit (to 0)
An operation that cannot be interrupted is called atomic
It takes more effort to create a new thread than to create a new process
A memory management unit is responsible for managing the user space memory
CPU utilization tends to be higher when there are more processes in memory
"Safe state" means that it is unlikely a deadlock will occur
A virtual address consists of a page frame number, a page table number and a page size
In contrast to a single-level page table, multilevel page tables result in slower page table lookups
Multilevel page tables allow processes to share regions of memory while single-level page tables do not
Page-based virtual memory is subject to external fragmentation
In a conventional paging system, a page table entry (PTE) will not contain an illegal-page bit
The page number in the 24-bit address 0xABCDEF with an 512-byte page size is 0xABC
Semaphore operations need to be atomic to guarantee mutal exclusion
A TLB miss will cause a page fault to occur
A process executes faster when running in kernel mode than when running in user mode
Because of page-base virtual memory, operating systems never need to worry about allocating contiguous pages
Switching among threads in the same process is more efficient than switching among processes
A clock page replacement algorithm tries to approximate a Least Recently Used (LRU) algorithm
Adding more memory to a computer will make it seem to "run faster"
With paging the operating system can place any page of any process to any page frame in physical memory
The page table is set up by the MMU
The dirty bit is set by the operating system
Using mutual exclusion ensures that the system avoids deadlock
The MMU resets the used bit (to 0)
The POSIX execv() system call creates a new process
The operating system can (more or less) freely decide where in the virtual address space the stacl(s) are located
There is no such thing as "address space layout randomization"
There is no such thing as "address space layout duplication"
With 64 bit addresses, only 48 bits are supported in current hardware
Each page table needs to have within it a reference to each page frame in the system
The base/limit register method provides relocation and protection
The present bit is set by the MMU
The accessed bit and the dirty bit cannot both be set to 1
Single-level page tables allow processes to share regions of memory while multilevel page tables do not
Multilevel page tables are used because they allow to translate multiple levels of addresses in parallel
In a conventional paging system, a page table entry (PTE) will not contain the age of the page
Page-based virtual memory is subject to internal fragmentation
When a thread can never acquire a lock on a critical section we call that "starviation"
For a machine with 32-bit addresses, the use of a two level page table allows for a larger virtual address space than a single level page table
Two-phase locking is a mechanism that prevents deadlock in database systems
Ignoring the deadlock-problem is a reasonable approach for a general purpose operating system
Potential deadlock involving preemtable resources can be solved by reallocation
When a process supports EPT (Extended Page Table), it is able to handle the guest- and the host page table simultaneously
When a VMM does binary translation, it continuously reads program code before it is executed, looks for relevant commands and changes them on the fly
The Virtual-Machine-Concept was invented around 2003
On a classical UNIX-System, an inode contains all the information on a file
The inode link-count indicates how often a file is referenced within the file-system
A logical journal writes only metadata into the journal
The cow-concept is also used in file-systems
A critical section is a piece of code which, when concurrently executed by multiple threads, may produce results that depend on the order these threads are executed
When a user program is running, the CPU will be in supervisor mode since it is supervising the program
A successful exec()-system call never returns
All threads of a process share single address space
A critical section is any piece of code that is protected by a mutex
The TWELVE format is a format for storing binary programms
User Mode and Kernel (or Supervisor) Mode are two modes of operation of a processor
Since there is only one operating system running, there are no concurrency issues in operating system code
One cannot implement monitors using semaphores
A smaller page size leads to smaller page tables
Get the cosine of a number is best implemented as a system call
Semaphore are a good method to prevent deadlocks
The dirty bit is set by the MMU
A memory management unit translates virtual to physical addresses
The MMU resets the accessed bit when the page has not been accessed for a while
Address space layout randomization is meant to improve security
Each file in NTFS is represented by a variable-depth tree of extents
In a COW file system, if we update a block, we write it and all the blocks on the path from it to the root to new locations
FFS places data to optimize for the common case where a file's data blocks and meta data and different files from the same directory are accessed together
The FAT file system lacks support for modern reliability technology
One cannot implement semaphores using monitors
3072 cannot be a valid page size
32 cannot be a valid page size
A logical address of 0xA3213456 on a 32-bit page-based virtual memory system with 4KB pages has the offset 0x3456
A monitor is one solution to solve the mutual exclusion problem
A program containing a race condition will always result in data corruption or some other incorrect behavior
A program containing a race condition will never result in data corruption or some other incorrect behavior
A program containing a race condition will sometimes result in data corruption or some other incorrect behavior
A race condition occurs when the outcome of processes is dependent on the exact order of execution among them.
A race condition occurs when a process cannot make progress because another one is blocking it
The working set model is used to compute the average number of frames a job will need in order to run smoothly without causing thrashing
The FAT file system does not support hard links
When the link count in an inode becomes 0, the file can be deleted
In NTFS, the MFT contains at least one nonresident data attribute for each file
In NTFS, a file may have multiple file name attributes
COW file systems never overwrite existing data or metadata
COW file systems perform better, because they gain from converting small random writes to large sequential ones
A ZFS file-system is limited to one physical device
Google, Amazon etc. estimate they lose 5%-10% of their customers if their response time increases by 100 milliseconds
If tasks are equal in size, round robin schedule will have very good average response time
A user-level process cannot modify its own page table entries
By manipulating the assignment of tasks to priority queues, an MFQ scheduler can achieve a balance between responsiveness, low overhead and fairness
The scheduler is the part of the operating system that determines the priority of each process
A TLB is needed for correct execution of a program
Each physical page belongs to only one process
Every interrupt changes the CPU from user mode to kernel mode
The VFS layer handles journalling for Very Large File Systems
Shortest Job First (SJF) or Shortest Completion Time First (SCTF) schedule is difficult to build on real operating systems
The operating system has to reset the accessed bit when the page has not been accessed for a while
The kernel is mapped into each user-level application process address space in order for applications to access the kernel's data conveniently
In 32-bit x86 with paging turned on a machine instruction auch as "mov 0x02000000, %eax" could potentially involve three accesses to memory
On x86, upon a TLB miss, the kernel traverses the 2-level page table to fill in the virtual to physical access mapping in the TLB
Reading a random location in a big file is usually faster in an inode-based file-system than in a FAT file system
For better sequential read/write performance, a file system should try to allocate consecutive blocks to a file
A guest OS kernel can't access the code and data of the VMM (such as the shadow page table)
A hard link is indistinguishable from the original file itself
COW file systems overwrite metadata only
System calls do not change the Fpriviledge-level of the processor
In practice, all 64 bits are used with IA-64 addressing
A physical address space is at least as large as a virtual address space
A smaller page size leads to larger page tables