Welcome, Guest. Please login or register.

Author Topic: Multitasking in Workbench 1.3?  (Read 5745 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline FloridaTopic starter

  • Full Member
  • ***
  • Join Date: Dec 2010
  • Posts: 195
    • Show only replies by Florida
Multitasking in Workbench 1.3?
« on: February 15, 2011, 12:09:03 AM »
Question: If I open a drawer in Workbench 1.3 (kick 1.3) and click on DF1:, DF1: will not open until the first drawer is fully opened.  The same if I execute a program while opening a drawer, the program is not loaded until the drawer is open.  Another thought, if I save a file and try to minimize the program nothing happens until the drive has stopped.
 
Is this about physics or mechanics more than multitasking or am I just not understanding it?  It is not a problem, just something I am curious about.
 
Had to look up the word 'physics', I wasn't sure if that was the right word. Explanation: The science of matter and energy and of interactions between the two, grouped in traditional fields such as acoustics, optics, mechanics, thermodynamics, and electromagnetism, as well as in modern extensions including atomic and nuclear physics, cryogenics, solid-state physics, particle physics, and plasma physics. From answers.com
 

Offline Matt_H

Re: Multitasking in Workbench 1.3?
« Reply #1 on: February 15, 2011, 12:37:49 AM »
What you're describing is asynchronous operation, not multitasking. Technically, Workbench is a single program, so you can run other things alongside Workbench, but Workbench itself can usually only do one thing at once.

Newer versions of Workbench have some asynchronous functions, thanks to revised code and patches like ASyncWB. An accelerator or hard drive helps a lot, too.
 

Offline MelbourneBen

  • Full Member
  • ***
  • Join Date: May 2009
  • Posts: 240
  • Country: au
  • Gender: Male
    • Show only replies by MelbourneBen
Re: Multitasking in Workbench 1.3?
« Reply #2 on: February 15, 2011, 12:38:27 AM »
@ Florida.... Interesting question...

I was decompressing a DMS file to DF0: the other day whilst at the same time trying to create a new drawer on my HD. When creating the Drawer the floppy disk writing would stop until I'd completely finished creating the drawer and let go off the right mouse button.

This made me think twice about workbench being a truly multi tasking OS?? Which I'd always being led to believe it was....Does the floppy disk stop writing simply because of limited processing power and creating the drawer gets priority??
Amiga 500 user
 

Offline MelbourneBen

  • Full Member
  • ***
  • Join Date: May 2009
  • Posts: 240
  • Country: au
  • Gender: Male
    • Show only replies by MelbourneBen
Re: Multitasking in Workbench 1.3?
« Reply #3 on: February 15, 2011, 12:40:09 AM »
@Matt_h...That answered my question aswell. Thanks.
Amiga 500 user
 

Offline Pentad

Re: Multitasking in Workbench 1.3?
« Reply #4 on: February 15, 2011, 01:06:05 AM »
I'm just throwing in my 2 cents here....

Multitasking and Multithreaded are sometimes confused in modern terms.  I think that the AmigaOS was/is a multitasking OS but I don't think that its multithreaded which causes issues like this.   It really comes down to Exec and if I had to guess I would say that its not multithreaded.   I don't know about 2.x/3.x...

Cheers!
P
Linux User (Arch & OpenSUSE TW) - WinUAE via WINE
 

Offline eb15

  • Jr. Member
  • **
  • Join Date: Feb 2010
  • Posts: 61
    • Show only replies by eb15
Re: Multitasking in Workbench 1.3?
« Reply #5 on: February 15, 2011, 02:14:57 AM »
The workbench program itself in AmigaDOS wasn't written as a multi-threaded app.  There are various workbench substitutes that are multi-threaded as far back as the pre workbench 1.3 jazzbench. Just lookup the aminet readme's on various workbench substitutes. It was considered a nice feature to implement because folks got tired of things taking so long to load in one window when all they wanted to do was open the next drawer inside the first one they opened, or waiting for one copy to finish to start another one. Multi-threading a file manipulation program (and GUI program launcher) does make the program more complex due to possible race conditions when various threads are working with the same filesystems at the same time along with filesystems which weren't necessarily notifying clients of changes happening underneath them and the client programs making presumptions that things weren't changing.
« Last Edit: February 15, 2011, 02:19:45 AM by eb15 »
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Multitasking in Workbench 1.3?
« Reply #6 on: February 15, 2011, 03:13:10 AM »
Quote from: MelbourneBen;615609

I was decompressing a DMS file to DF0: the other day whilst at the same time trying to create a new drawer on my HD. When creating the Drawer the floppy disk writing would stop until I'd completely finished creating the drawer and let go off the right mouse button.


This happens because on Amiga when accessing menus it blocks all gfx output. It was one of many tricks to make system more efficient. It still multitasks but anything trying to display new gfx content on that screen is blocked.

There is a utility called MagicMenu which replaces standard blocking menus by non-blocking menus but it is also much slower.
My Amigas: A500, Mac Mini and PowerBook
 

Offline ElPolloDiabl

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show only replies by ElPolloDiabl
Re: Multitasking in Workbench 1.3?
« Reply #7 on: February 15, 2011, 03:17:45 AM »
From my experience 1.3 was only multitasking via cli shells.
3.1 should be fully multitasking.
Go Go Gadget Signature!
 

Offline Matt_H

Re: Multitasking in Workbench 1.3?
« Reply #8 on: February 15, 2011, 03:36:10 AM »
Quote from: itix;615637
This happens because on Amiga when accessing menus it blocks all gfx output. It was one of many tricks to make system more efficient. It still multitasks but anything trying to display new gfx content on that screen is blocked.

There is a utility called MagicMenu which replaces standard blocking menus by non-blocking menus but it is also much slower.


OS4.x also has optional non-blocking menus, probably using the same kind of mechanism. Does MorphOS also have them? Can't recall if I've ever tested.
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Multitasking in Workbench 1.3?
« Reply #9 on: February 15, 2011, 04:27:10 AM »
Quote from: Matt_H;615644
OS4.x also has optional non-blocking menus, probably using the same kind of mechanism. Does MorphOS also have them? Can't recall if I've ever tested.


In MorphOS it is always non-blocking. IIRC MorphOS inherits its menu system from AROS where it is the same.
My Amigas: A500, Mac Mini and PowerBook
 

Offline FloridaTopic starter

  • Full Member
  • ***
  • Join Date: Dec 2010
  • Posts: 195
    • Show only replies by Florida
Re: Multitasking in Workbench 1.3?
« Reply #10 on: February 18, 2011, 03:23:02 AM »
Thanks to everyone for explaining!
 

Offline lsmart

  • Sr. Member
  • ****
  • Join Date: Jun 2009
  • Posts: 433
    • Show only replies by lsmart
Re: Multitasking in Workbench 1.3?
« Reply #11 on: February 18, 2011, 05:57:31 AM »
Quote from: Pentad;615615
Multitasking and Multithreaded are sometimes confused in modern terms.  I think that the AmigaOS was/is a multitasking OS but I don't think that its multithreaded which causes issues like this.   It really comes down to Exec and if I had to guess I would say that its not multithreaded.   I don't know about 2.x/3.x...

The reality is somewhat different. Amiga always had (and still has) "tasks" and "processes". While a Unix process can´t easyly access another processes memory and have a lot of overhead, there was a need for some sort of more lightweight multitasking. Hence the invention of threads. So Amigas tasks resemble threads in many ways.
 

Offline Hattig

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 901
    • Show only replies by Hattig
Re: Multitasking in Workbench 1.3?
« Reply #12 on: February 18, 2011, 03:17:35 PM »
Quote from: MelbourneBen;615609
@ Florida.... Interesting question...

I was decompressing a DMS file to DF0: the other day whilst at the same time trying to create a new drawer on my HD. When creating the Drawer the floppy disk writing would stop until I'd completely finished creating the drawer and let go off the right mouse button.

This made me think twice about workbench being a truly multi tasking OS?? Which I'd always being led to believe it was....Does the floppy disk stop writing simply because of limited processing power and creating the drawer gets priority??


AmigaOS is a proper multitasking operating system.

Workbench is an application running in AmigaOS.

Workbench 1.x is really rather rubbish and single-threaded, hence the 'serialised' behaviour being witnessed when accessing built-in Workbench functionality. In the case of file system access it is possible that Workbench grabs a lock on the entire HD until you've done your folder creation - I don't know the exact means Workbench works. If you do a mkdir in AmigaShell whilst DMSing, does that behave the same?

If you run, for example, a MOD player, a fractal program, and more, at the same time from workbench, then they don't stop when you do something in Workbench, although sharing resources will slow the fractal program down, and without priorities on the processes the MOD player could be starved by a very intensive process taking up all the CPU resources.
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Multitasking in Workbench 1.3?
« Reply #13 on: February 18, 2011, 07:15:47 PM »
Quote from: lsmart;616325
The reality is somewhat different. Amiga always had (and still has) "tasks" and "processes". While a Unix process can´t easyly access another processes memory and have a lot of overhead, there was a need for some sort of more lightweight multitasking. Hence the invention of threads. So Amigas tasks resemble threads in many ways.


Amiga tasks and processes are practically the same thing. Tasks have some limitations (no DOS access) but they are scheduled just like they were processes and vice versa.

One could say in Amiga all tasks and processes are just threads running under kernel.
My Amigas: A500, Mac Mini and PowerBook