3

The point you make at the very end of your question is the right one. No modern computer has a stack. In hardware terms it turns out to be superfluous, wasteful and useless. A stack is superfluous because one can easily perform the operations “write a value”, “retrieve the last value written”, and so on by having a pointer to a memory location. “Push” can be ...


3

No. In most operating systems, kernel memory is protected using virtual memory mechanisms, so a user process cannot read or write to kernel memory. A user thread is part of a user process, and has the same permissions as the process. So, a user thread will not be able to write to kernel memory.


1

Im not really sure, but this is my take on trying to guess what it could be from logical reasoning A thread is a specific type of process. Generally speaking, any process in user mode will not be able to do any Kernel-mode operation. However, threads have a shared memory system, and they don't know about each other (pipes between threads are a 3rd party ...


1

The operating system assigns memory space to each process. The memory space is assigned to real memory, or to swap space, or when not used at all not represented anywhere. Memory space is virtual, so multiple processes can have what looks like the same address space. Each process is responsible for how its address space is used. So if multiple processes each ...


1

Each process has its own stack, its own stack pointer, and so on. They are at independent locations. So whatever happens with Process A has no effect on Process B.


1

There is no single answer: you could build a text editor in any way you want. One simple architecture for a text editor is to have a single process, which blocks on I/O when it is waiting for the user to provide input. But it's also possible for a text editor to be built in a multi-threaded way with multiple processes, e.g., spawning one thread to do ...


Only top voted, non community-wiki answers of a minimum length are eligible