60
votes
Why do we need full-fledged workstations running massive OSes with massive software?
You are conflating a number of issues here.
Why does my software have all these features to begin with?
Because other computers' software has those features, and network effects punish any software ...
30
votes
Accepted
What is a GPU year?
That means, one year of computation time on a single GPU (or half a year on two GPUs, or a quarter of a year on four GPUs, etc.).
If you are thinking of using this term in your own writing, I ...
D.W.♦
- 169k
24
votes
Accepted
Why is a program operating system dependent?
The Operating System provides services to application programs. These services may include reacting to keyboard input, reacting to mouse input, drawing to the screen, printing to the terminal, reading ...
23
votes
Difference between bare metal hypervisor and operating system
I think you're right to notice this strong connection. At a high level, there is a strong similarity between a hypervisor and a microkernel operating system.
There are also some differences. ...
D.W.♦
- 169k
18
votes
Do system calls always means a context switch?
A system call does not necessarily require a context switch in general, but rather a privilege switch. This is because the kernel memory is mapped in each process memory. The user process cannot ...
16
votes
Difference between bare metal hypervisor and operating system
The term "operating system" is actually a fairly loose one, and many arguments can be had about its definition. For instance, is Linux (the kernel) an operating system, or do you need GNU/...
14
votes
Accepted
What does "map" mean?
So, there are two distinct uses of the word "map", that I'll unpack here.
The first is very generic, where map means "to associate," particularly by way of a function. If we say "$f$ maps each $x$ to $...
13
votes
Why do we need full-fledged workstations running massive OSes with massive software?
Since the other answers go pretty well into why companies just buy general purpose computers, I wanted to give an answer about security. In a lot of ways, it's easier to secure a system you know is ...
13
votes
Why does Computer Science need so much math?
The activities you mention are not computer science but hardware maintenance and system administration. Computer science is about inventing new algorithms and data structures tailored to new ...
12
votes
Accepted
What is the real advantage of Google's new Fuchsia operating system kernel?
From what I understand you are asking what are the technical benefits of zircon over linux?
First of all zircon is a micro kernel as opposed to the linux monolithic kernel. So lets look at some of ...
12
votes
Accepted
Why is copy speed periodic? (or seems to be)
Here's a possibility: Every transfer copies one megabyte and takes 0.4 seconds. The display is updated every second. The counter for "data transferred" is updated when a transfer is complete....
11
votes
Accepted
How does the TLB identify a particular process?
In the most basic setup, the TLB doesn't determine that. Instead, the TLB only maintains mappings for the pages that are accessible to the current process. If process A is currently running, the TLB ...
D.W.♦
- 169k
11
votes
Accepted
Are multiple interrupts generated when I hold down a key on my keyboard?
TL;DR: No.
It depends on the OS and the keyboard. I'll show you how to determine this yourself on a Linux machine. I'm using Ubuntu 16.04 on an x86 processor. So if you are using a fairly modern ...
10
votes
Difference between bare metal hypervisor and operating system
If you wanted a definition of an "operating system" it could be something like: a system of software that runs on a machine and manages its resources, providing an environment for other ...
8
votes
What does "map" mean?
In the following I am going to be less than accurate in a number of ways, sacrificing technical accuracy to provide a basic understanding. It is obvious that you have read a number of technical ...
7
votes
Why do we need the valid-invalid bit in a page table?
As David Richerby says, it’s not clear what you don't understand.
Most of my answer here has already been presented in answers (or comments)
to the questions you linked to.
I’ll admit, though, that ...
7
votes
Accepted
What's the difference between user registers and kernel registers?
It's simple - when each application program runs, it has access to its own set of registers. When you switch to other application, these register contents is saved to memory, and registers, saved from ...
7
votes
Difference between bare metal hypervisor and operating system
I don't want to repeat what has already been written in other answers. Instead I will focus on two things: one, a comparison of features, and two, a pair of examples.
I hope you will see in the end ...
6
votes
Accepted
Is there any mechanism where the kernel portion of an OS in memory may also be swapped?
Indeed, it wouldn't make sense to swap out an I/O buffer. The point of that buffer is that it's in RAM. The code to perform the I/O and the code to manage swap must not be swapped out either.
Other ...
6
votes
Accepted
Difference between present - absent bit and valid - invalid bit in a page table?
Many people confuse these two bits. I'll try to explain the concept to best of my knowledge.
Let's say we have 32 bit architecture. so process virtual address space(VAS) will have size of 2^32. VAS ...
6
votes
Accepted
Why do OS locks require hardware support?
Since the OS manages scheduling, we guarantee mutual exclusion for the following steps.
But how do you guarantee mutual exclusion inside the OS?
On a single-processor machine¹, you know that only the ...
6
votes
Accepted
Why does page size affect page table size?
Suppose you have a virtual address space of say $32$ bits. Then the virtual address space for each and every process is fixed and it ranges from the byte $0$ to $2^{32}-1$.
Now the for the ease of ...
6
votes
Is kernel memory mapped once or repeatedly for each spawned process
Different operating systems do different things on different architectures.
In a 64 bit address space, virtual addresses are essentially free. So as long as the page tables aren't onerous, it's ...
5
votes
Are Test and set primitives as powerful as semaphores?
Your hunch is correct, they aren't equivalent. Test-and-set has a consensus number of 2, which means, roughly speaking, that it is only able to efficiently synchronize between 2 processes. See Why is ...
5
votes
Accepted
Do system calls always means a context switch?
Depends on how you define a context switch.
In the traditional sense it means saving all registers/cpu state changing the mmu state and then going elsewhere to answer the call and after it's finished ...
5
votes
Accepted
hardware interrupts and context switch
I think the answer partially intersects that of Do system calls always means a context switch?: it depends on the exact definition of "context switch". On most CPUs, an interrupt is not serviced in ...
5
votes
Accepted
The meaning of 'Pool' in Computer Science
A pool is basically some grouping. It's kinda vague.
In that figure, the "data pool" is just some set of data while the "instruction pool" is just some set of instructions. The ...
5
votes
How is space from malloc allocated?
malloc is a library function that makes use the sbrk system call. The manual page of malloc ...
5
votes
Accepted
How exactly does a CPU do process scheduling?
The operating system arranges for periodic timer interrupts, which only it can handle, so it periodically regains control of the CPU without requiring the co-operating of any other process. Also, when ...
5
votes
Why is 2^32 in a 32-bit system = 4GiB and not 4Gib?
"32-bit" describes the size of many of the units of data that the processor can use. In this context, it refers to the size of memory addresses. A 32-bit address can address $2^{32}$ distinct objects; ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
operating-systems × 785memory-management × 125
virtual-memory × 95
process-scheduling × 95
computer-architecture × 88
paging × 72
os-kernel × 63
concurrency × 59
synchronization × 49
deadlocks × 49
threads × 42
cpu × 30
filesystems × 27
algorithms × 25
scheduling × 25
memory-hardware × 24
memory-allocation × 20
mutual-exclusion × 20
terminology × 17
cpu-cache × 17
memory-access × 17
security × 15
compilers × 13
multi-tasking × 11
critical-section × 11