POV-Ray : Newsgroups : povray.off-topic : Is this the end of the world as we know it? : Re: Is this the end of the world as we know it? Server Time
31 Jul 2024 08:21:03 EDT (-0400)
  Re: Is this the end of the world as we know it?  
From: Darren New
Date: 12 Oct 2011 19:47:07
Message: <4e9626fb$1@news.povray.org>
On 10/12/2011 13:31, andrel wrote:
> That is what 'surprises' me everytime. How can you design an OS where it is
> possible to prevent a task switch to a taskmanager. I assume it is because
> it wasn't designed but grown. Still, by now they should have solved that, I
> would assume.

It's really not too hard. Modern desktop OSes suck at scheduling disk I/O, 
so if you're locked up because of disk I/O and you launch a new program, 
you're going to be locked up.

Sit down at a Linux machine with 16G of RAM. Create a directory with 
1,000,000 one-block files, then type "sync", then type "rm -r xyz;sync" and 
watch Linux "lock up" for several minutes as anything that wants to touch 
the disk waits for the sync to finish.

Same thing can happen if you have a whole ton of data paged out when you 
terminate the application, as AFAICT both Windows and Linux will happily 
page everything back in as it terminates the job.

> BTW this is when reading a 1-2 million faces text file in into Blender. And
> when going into edit mode after that and...

Disk I/O sucks in every modern desktop OS. Android also "locks up" on 
occastion for several seconds at a time, as some random program launches a 
check for something online when you're in the middle of typing something, 
for example.

Contrast with CP/V, a mainframe OS from the late 1960s, that ran on a 
computer with *maybe* a 500KHz CPU running out of 256K of magnetic core that 
happily supported 40 or 50 users before you started to notice any slow-down. 
How? They had something like 30 or 40 different priority bumps depending on 
what you were waiting for and what woke you up. Waking up from waiting for 
free memory (i.e., someone else's page-out completing) vs waking up from 
waiting for pages to page in vs waking up from waiting for a directory entry 
to come from disk vs waking up when disk data has arrived vs etc all had 
different priority bumps, including on whether you're in core, out of core, 
finished your quantum last time, waited before your min-quantum expired last 
time, etc etc etc.

-- 
Darren New, San Diego CA, USA (PST)
   How come I never get only one kudo?


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.