Which operating systems for 80286 computers allowsed a process to use more than 128k data?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
2
down vote

favorite












Out of all operating systems for the 80286 processor I found, only two make use of the protected mode's ability to load more than one segment for text and one for data. These are MS DOS (through various DOS extenders) and Windows. All other operating systems I checked would only give one text segment and one data segment to each process and call it a day. Were there any other operating systems that made full use of protected mode segmentation on the 80286?










share|improve this question





















  • I can find a lot of sources that strongly imply that MINIX is an answer, but none that is a smoking gun. Certainly there is a whole-system limit of 16mb but confirmation of per-process limits so far eludes me. Maybe somebody else can help?
    – Tommy
    59 mins ago






  • 1




    @Tommy Minix is not the answer as far as I'm concerned. On Minix, each process has one text and one data/stack segment. Segment sizes are fixed at link time and can be changed by the chmem utility to give programs more space. It's not possible to change segment sizes at runtime, there isn't even a brk syscall!
    – fuz
    56 mins ago










  • you have definitively stomped on that suggestion. I'll wager there's at least one CP/M-86 program that just runs away with the environment and thereby is as valid an answer as DOS, but that also feels like a cheat. It'd be interesting to know what VisiOn does given that programs are interpreted, not natively compiled.
    – Tommy
    49 mins ago







  • 1




    What about Xenix 286?
    – mannaggia
    28 mins ago














up vote
2
down vote

favorite












Out of all operating systems for the 80286 processor I found, only two make use of the protected mode's ability to load more than one segment for text and one for data. These are MS DOS (through various DOS extenders) and Windows. All other operating systems I checked would only give one text segment and one data segment to each process and call it a day. Were there any other operating systems that made full use of protected mode segmentation on the 80286?










share|improve this question





















  • I can find a lot of sources that strongly imply that MINIX is an answer, but none that is a smoking gun. Certainly there is a whole-system limit of 16mb but confirmation of per-process limits so far eludes me. Maybe somebody else can help?
    – Tommy
    59 mins ago






  • 1




    @Tommy Minix is not the answer as far as I'm concerned. On Minix, each process has one text and one data/stack segment. Segment sizes are fixed at link time and can be changed by the chmem utility to give programs more space. It's not possible to change segment sizes at runtime, there isn't even a brk syscall!
    – fuz
    56 mins ago










  • you have definitively stomped on that suggestion. I'll wager there's at least one CP/M-86 program that just runs away with the environment and thereby is as valid an answer as DOS, but that also feels like a cheat. It'd be interesting to know what VisiOn does given that programs are interpreted, not natively compiled.
    – Tommy
    49 mins ago







  • 1




    What about Xenix 286?
    – mannaggia
    28 mins ago












up vote
2
down vote

favorite









up vote
2
down vote

favorite











Out of all operating systems for the 80286 processor I found, only two make use of the protected mode's ability to load more than one segment for text and one for data. These are MS DOS (through various DOS extenders) and Windows. All other operating systems I checked would only give one text segment and one data segment to each process and call it a day. Were there any other operating systems that made full use of protected mode segmentation on the 80286?










share|improve this question













Out of all operating systems for the 80286 processor I found, only two make use of the protected mode's ability to load more than one segment for text and one for data. These are MS DOS (through various DOS extenders) and Windows. All other operating systems I checked would only give one text segment and one data segment to each process and call it a day. Were there any other operating systems that made full use of protected mode segmentation on the 80286?







operating-system 80286 segmentation






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 1 hour ago









fuz

447416




447416











  • I can find a lot of sources that strongly imply that MINIX is an answer, but none that is a smoking gun. Certainly there is a whole-system limit of 16mb but confirmation of per-process limits so far eludes me. Maybe somebody else can help?
    – Tommy
    59 mins ago






  • 1




    @Tommy Minix is not the answer as far as I'm concerned. On Minix, each process has one text and one data/stack segment. Segment sizes are fixed at link time and can be changed by the chmem utility to give programs more space. It's not possible to change segment sizes at runtime, there isn't even a brk syscall!
    – fuz
    56 mins ago










  • you have definitively stomped on that suggestion. I'll wager there's at least one CP/M-86 program that just runs away with the environment and thereby is as valid an answer as DOS, but that also feels like a cheat. It'd be interesting to know what VisiOn does given that programs are interpreted, not natively compiled.
    – Tommy
    49 mins ago







  • 1




    What about Xenix 286?
    – mannaggia
    28 mins ago
















  • I can find a lot of sources that strongly imply that MINIX is an answer, but none that is a smoking gun. Certainly there is a whole-system limit of 16mb but confirmation of per-process limits so far eludes me. Maybe somebody else can help?
    – Tommy
    59 mins ago






  • 1




    @Tommy Minix is not the answer as far as I'm concerned. On Minix, each process has one text and one data/stack segment. Segment sizes are fixed at link time and can be changed by the chmem utility to give programs more space. It's not possible to change segment sizes at runtime, there isn't even a brk syscall!
    – fuz
    56 mins ago










  • you have definitively stomped on that suggestion. I'll wager there's at least one CP/M-86 program that just runs away with the environment and thereby is as valid an answer as DOS, but that also feels like a cheat. It'd be interesting to know what VisiOn does given that programs are interpreted, not natively compiled.
    – Tommy
    49 mins ago







  • 1




    What about Xenix 286?
    – mannaggia
    28 mins ago















I can find a lot of sources that strongly imply that MINIX is an answer, but none that is a smoking gun. Certainly there is a whole-system limit of 16mb but confirmation of per-process limits so far eludes me. Maybe somebody else can help?
– Tommy
59 mins ago




I can find a lot of sources that strongly imply that MINIX is an answer, but none that is a smoking gun. Certainly there is a whole-system limit of 16mb but confirmation of per-process limits so far eludes me. Maybe somebody else can help?
– Tommy
59 mins ago




1




1




@Tommy Minix is not the answer as far as I'm concerned. On Minix, each process has one text and one data/stack segment. Segment sizes are fixed at link time and can be changed by the chmem utility to give programs more space. It's not possible to change segment sizes at runtime, there isn't even a brk syscall!
– fuz
56 mins ago




@Tommy Minix is not the answer as far as I'm concerned. On Minix, each process has one text and one data/stack segment. Segment sizes are fixed at link time and can be changed by the chmem utility to give programs more space. It's not possible to change segment sizes at runtime, there isn't even a brk syscall!
– fuz
56 mins ago












you have definitively stomped on that suggestion. I'll wager there's at least one CP/M-86 program that just runs away with the environment and thereby is as valid an answer as DOS, but that also feels like a cheat. It'd be interesting to know what VisiOn does given that programs are interpreted, not natively compiled.
– Tommy
49 mins ago





you have definitively stomped on that suggestion. I'll wager there's at least one CP/M-86 program that just runs away with the environment and thereby is as valid an answer as DOS, but that also feels like a cheat. It'd be interesting to know what VisiOn does given that programs are interpreted, not natively compiled.
– Tommy
49 mins ago





1




1




What about Xenix 286?
– mannaggia
28 mins ago




What about Xenix 286?
– mannaggia
28 mins ago










1 Answer
1






active

oldest

votes

















up vote
3
down vote













OS/2 supported “huge memory” on 286s. Using the DosAllocHuge function, programs could allocate more than 64KiB of memory, and would get a sequence of segment selectors which could be used to easily access all the allocated memory. The process is detailed in section 9.2.2 of Gordon Letwin’s Inside OS/2.



Xenix 286 also supported multiple text and data segments; processes with multiple segments were called “large model processes” (the same terminology as was used with C compilers under DOS). See Overview of the Xenix 286 Operating System.



FlexOS 286 (and perhaps Concurrent DOS 286) also allowed programs to allocate multiple segments. malloc could only allocate up to 64KiB at once, but programs could call it multiple times to allocate more than 64KiB in total in multiple segments.



I suspected Coherent 3 might have supported multiple segments, but it turns out that’s not the case, at least according to the Coherent 3.2 FAQ (question 7).






share|improve this answer






















  • Oh yeah, I totally forgot about OS/2. Any others you know of?
    – fuz
    41 mins ago











Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "648"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f8097%2fwhich-operating-systems-for-80286-computers-allowsed-a-process-to-use-more-than%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
3
down vote













OS/2 supported “huge memory” on 286s. Using the DosAllocHuge function, programs could allocate more than 64KiB of memory, and would get a sequence of segment selectors which could be used to easily access all the allocated memory. The process is detailed in section 9.2.2 of Gordon Letwin’s Inside OS/2.



Xenix 286 also supported multiple text and data segments; processes with multiple segments were called “large model processes” (the same terminology as was used with C compilers under DOS). See Overview of the Xenix 286 Operating System.



FlexOS 286 (and perhaps Concurrent DOS 286) also allowed programs to allocate multiple segments. malloc could only allocate up to 64KiB at once, but programs could call it multiple times to allocate more than 64KiB in total in multiple segments.



I suspected Coherent 3 might have supported multiple segments, but it turns out that’s not the case, at least according to the Coherent 3.2 FAQ (question 7).






share|improve this answer






















  • Oh yeah, I totally forgot about OS/2. Any others you know of?
    – fuz
    41 mins ago















up vote
3
down vote













OS/2 supported “huge memory” on 286s. Using the DosAllocHuge function, programs could allocate more than 64KiB of memory, and would get a sequence of segment selectors which could be used to easily access all the allocated memory. The process is detailed in section 9.2.2 of Gordon Letwin’s Inside OS/2.



Xenix 286 also supported multiple text and data segments; processes with multiple segments were called “large model processes” (the same terminology as was used with C compilers under DOS). See Overview of the Xenix 286 Operating System.



FlexOS 286 (and perhaps Concurrent DOS 286) also allowed programs to allocate multiple segments. malloc could only allocate up to 64KiB at once, but programs could call it multiple times to allocate more than 64KiB in total in multiple segments.



I suspected Coherent 3 might have supported multiple segments, but it turns out that’s not the case, at least according to the Coherent 3.2 FAQ (question 7).






share|improve this answer






















  • Oh yeah, I totally forgot about OS/2. Any others you know of?
    – fuz
    41 mins ago













up vote
3
down vote










up vote
3
down vote









OS/2 supported “huge memory” on 286s. Using the DosAllocHuge function, programs could allocate more than 64KiB of memory, and would get a sequence of segment selectors which could be used to easily access all the allocated memory. The process is detailed in section 9.2.2 of Gordon Letwin’s Inside OS/2.



Xenix 286 also supported multiple text and data segments; processes with multiple segments were called “large model processes” (the same terminology as was used with C compilers under DOS). See Overview of the Xenix 286 Operating System.



FlexOS 286 (and perhaps Concurrent DOS 286) also allowed programs to allocate multiple segments. malloc could only allocate up to 64KiB at once, but programs could call it multiple times to allocate more than 64KiB in total in multiple segments.



I suspected Coherent 3 might have supported multiple segments, but it turns out that’s not the case, at least according to the Coherent 3.2 FAQ (question 7).






share|improve this answer














OS/2 supported “huge memory” on 286s. Using the DosAllocHuge function, programs could allocate more than 64KiB of memory, and would get a sequence of segment selectors which could be used to easily access all the allocated memory. The process is detailed in section 9.2.2 of Gordon Letwin’s Inside OS/2.



Xenix 286 also supported multiple text and data segments; processes with multiple segments were called “large model processes” (the same terminology as was used with C compilers under DOS). See Overview of the Xenix 286 Operating System.



FlexOS 286 (and perhaps Concurrent DOS 286) also allowed programs to allocate multiple segments. malloc could only allocate up to 64KiB at once, but programs could call it multiple times to allocate more than 64KiB in total in multiple segments.



I suspected Coherent 3 might have supported multiple segments, but it turns out that’s not the case, at least according to the Coherent 3.2 FAQ (question 7).







share|improve this answer














share|improve this answer



share|improve this answer








edited 2 mins ago

























answered 42 mins ago









Stephen Kitt

32.3k4130150




32.3k4130150











  • Oh yeah, I totally forgot about OS/2. Any others you know of?
    – fuz
    41 mins ago

















  • Oh yeah, I totally forgot about OS/2. Any others you know of?
    – fuz
    41 mins ago
















Oh yeah, I totally forgot about OS/2. Any others you know of?
– fuz
41 mins ago





Oh yeah, I totally forgot about OS/2. Any others you know of?
– fuz
41 mins ago


















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f8097%2fwhich-operating-systems-for-80286-computers-allowsed-a-process-to-use-more-than%23new-answer', 'question_page');

);

Post as a guest













































































Comments

Popular posts from this blog

Long meetings (6-7 hours a day): Being “babysat” by supervisor

Is the Concept of Multiple Fantasy Races Scientifically Flawed? [closed]

Confectionery