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.♦
- 156k
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.♦
- 156k
20
votes
What threads share in general?
In general each thread has its own registers (including its own program counter), its own stack pointer, and its own stack. Everything else is shared between the threads sharing a process.
In ...
17
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 ...
12
votes
Accepted
Does Deadlock imply Starvation
You should first state the deadlock freedom property and the starvation freedom property more precisely.
I use the definition in the Book: The Art of Multiprocessor Programming; Section 2.2.
Freedom ...
12
votes
Since programs are swapped from backing store to main memory why don't they get lost when the computer is suddenly turned off?
Because it isn't moved: it's copied.
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 ...
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 ...
11
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....
10
votes
Accepted
Minimum number of processes for the deadlock?
I agree that no deadlock is possible here. If there are three or fewer processes, there clearly cannot be a deadlock because there are enough resources for every process to just hold two resources the ...
10
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.♦
- 156k
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 ...
9
votes
Accepted
The convoy effect in process scheduling
Convoy Effect is a result of using First-Come-First-Serve (FCFS) Scheduling algorithm. In this case the dispatcher (short term scheduling) feeds the processes present in ready state to the processor ...
9
votes
What threads share in general?
Threads come up in two perspectives: operating systems, and programming languages. In both case, there is some variation in what attributes a thread has.
A minimal definition of a thread is that it's ...
9
votes
A multi-user, multi-processing operating system cannot be implemented on hardware that does not support
I remember a counter-example from the 1980s:
OS-9/68000 was quite popular then: a multi-user, multi-processing real-time operating system for the Motorola 68K processor family, loosely patterned ...
9
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 ...
8
votes
Accepted
Does a simple calculator require an operating system?
No.
Operating systems have several purposes, such as interfacing with the hardware and, managing multiple concurrent or sequential applications and providing protection between different users. A ...
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
Accepted
Difficulty understanding pre-emptive vs non-preemptive CPU scheduling
In circumstances 1 and 4, the current process can't continue running. Therefore, there's no choice: the OS scheduler has to step in and select a different process.
In circumstances 2 and 3, the OS ...

D.W.♦
- 156k
7
votes
Accepted
Why there must be a relationship between user threads and kernel threads?
This section of the book appears to be talking about how the details of the threading and scheduling are implemented for a user mode program.
When threading first became popular, most operating ...
7
votes
Accepted
Why is word-addressable the exception, not the rule?
Byte operations will always be important because a lot of a modern workload involves bytes. Text processing and bytecode interpretation (including emulation of other CPUs) are obvious examples, but ...
7
votes
Why does the interrupt disable method to achieve mutual exclusion not work for multiprocessor systems?
Mutual exclusion means that during some time, a certain piece of code (called a critical section) has exclusive control over a resource. Interrupts can break that because they cause control to be ...
7
votes
Accepted
what is the need for valid/invalid bit in paged memory technique?
In a typical multilevel page table implementation on a typical modern operating system, any attempt to access memory for a page whose page table entry set to "invalid" (typically 0) causes a page ...
7
votes
Difference between page table and inverted page table
An inverted page table is just a hash map. An inverted page table always fits in DRAM because it is proportional in size to the DRAM.
A DRAM total space is divided into $N$ page frames. If the size ...
7
votes
Accepted
Does mutual exclusion hold in this case?
Your friend is correct. In your context, mutual exclusion holds if at most one process is at a critical section at any given time.
You state that you feel that this interpretation is wrong, but you ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
operating-systems × 770memory-management × 121
process-scheduling × 98
virtual-memory × 90
computer-architecture × 88
paging × 71
os-kernel × 61
concurrency × 57
synchronization × 48
deadlocks × 47
threads × 41
cpu × 31
filesystems × 28
scheduling × 26
algorithms × 24
memory-hardware × 23
memory-allocation × 19
mutual-exclusion × 18
terminology × 17
memory-access × 17
cpu-cache × 16
security × 15
compilers × 12
c × 11
multi-tasking × 11