freenode/#sicl - IRC Chatlog
Search
5:27:34
beach
The good news, though, is that I think I have come up with a version of a log-structured secondary memory for CLOSOS that is both crash proof and fast.
5:28:16
beach
I think I will write it down as an alternative to the existing suggestion in the CLOSOS specification.
5:39:56
no-defun-allowed
You probably should, or we might have to spend 350 years trying to figure out what it is (:
10:49:05
beach
Not quite complete and not quite detailed enough, but here is the main idea (in section 7.2): http://metamodular.com/log-structure.pdf
10:49:32
beach
I think lunch is imminent here, so I'll read any remarks or questions when I get back.
14:49:33
beach
How does the OS stop all threads? In fact, how does it stop a single thread that is running?
15:00:51
jcowan
To stop a single thread, block SIGSTOP in all other threads, then signal SIGSTOP from any thread. The kernel can choose any unblocked thread to deliver a signal to, so we constrain its choice.
15:03:08
beach
That's the UNIX technique. But I am wondering what mechanism the OS uses to stop a thread that is being executed.
15:15:45
jcowan
I can't speak to Windows, of course. But in other cases the kernel moves the thread off the ready queue so that it will not longer get any more quanta. AFAIK the current quantum is not interrupted.
15:17:21
beach
I guess I am not expressing myself very clearly. Here is a running user-level program. How does the OS force that running program to stop, say if it is in a tight loop?
15:22:29
beach
And how does the OS kill the process? I.e., how does it force the core executing the process to stop fetching instructions as PC indicates and instead do something else?
15:24:35
Shinmera
A short google shows this, which seems informative: https://stackoverflow.com/questions/49379899/multi-core-cpu-interrupts
15:40:25
beach
And for x86: https://en.wikipedia.org/wiki/Advanced_Programmable_Interrupt_Controller
15:43:27
Shinmera
I wonder what the situation is like for ARM where you have more than two manufacturers
16:50:57
beach
There are still a number of details to fill in, such as how a page fault can be satisfied from the segment buffer if the page is currently in that buffer.
16:56:22
beach
Hmm, I wonder whether something similar could be used with SICL running as an ordinary application.