Improve company productivity with a Business Account.Sign Up


What is Single Thread Operating System?

Posted on 2006-07-11
Medium Priority
Last Modified: 2013-12-06
What is Single Thread Operating System(STOS)?  Please provide detailed explanation.  Thanks.
Question by:naseeam

Assisted Solution

iain_ra earned 105 total points
ID: 17085958

The definitions in this article are very specific:

The first page has quite an indepth definition of what threads are, and points at the differences between single and multiple theaded OS's.

If it's too much to take let us know,

Hope it helps,

Expert Comment

ID: 17087367
Single Thread Operating System for example: Basic-language, like the old Atari 800's and TI-9xx's used to run

Assisted Solution

DCreature earned 75 total points
ID: 17087606
Looks like its been answered by the guys agove :-)

Anyway, I've read about it from a book named Operating System Concepts and Theory (or something like that) very informative.
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

LVL 13

Expert Comment

ID: 17087630
The newer Motherboards use Hyper threading.
In fact you can purchas an ASUS board V8V that has Hyper threading for 89 dollars and supports dual channel where the data from th CPU split between two ram cards.


Assisted Solution

engineer_dell earned 120 total points
ID: 17089364
The operating system creates a process for the purpose of running a program. Every process has at least one thread. On some operating systems, a process can have more than one thread. A thread can use fibers to implement cooperative multitasking to divide the thread's CPU time for multiple tasks. Generally, this is not done because threads are cheap, easy, and well-implemented in modern operating systems.

Read further,

hope it helps,

LVL 11

Accepted Solution

Renato Montenegro Rustici earned 375 total points
ID: 17089606
Is an operating system that can execute only one task at a time. I dont know if you met MSDOS, but it wasnt multitask like the operating system we have today. In this case, you execute a program, and everything is linear. You must follow a path and cannot switch between applications. In some cases you could switch between application (with TSR - small programs that remains resident in memory) but the program was inactive while you was using another one. Thats because you had just one thread to use.
LVL 12

Assisted Solution

GinEric earned 75 total points
ID: 17114868
I always get a kick out of wikipedia.  Before they again say IBM invented something, they should check their history books:

That's "about" right, but the fact is that predated big blue by over 12 years, and, at least one version had 200 parallel processors.

Later machines developed mulithreading to an artform with innovations such as pre-processing and lookahead logic and parallel processing techniques that are just arriving on the microprocessors scene today.

"By 1956 it had gained more computing power than all computers in Bell Labs combined." which were all the IBM's Bell could get their hands on!

Basically, until recently,  a "Single Thread Operating System(STOS)" was defined as "an IBM machine."  OS and OS/2

Big Blue was running batch mode until about 1976 or so.  Their machines had to be restarted manually for each and every job.  They had no Disk Operating System [DOS] that could perform a reboot command until that era, and each job required a cold start deck per job.

Microsoft DOS was single threaded, but mainframe DOS was not, at least not for the company and inventors who invented the Disk Operating System [and it wasn't IBM or Microsoft!].

Which invalidates the entire subject on wikipedia and its chart that says "" "A program running on DOS. The program can only do one thing at a time."

Authors that cite so many books and authorities should recheck their references.  They should also do the research on John von Neumann, J. Presper Eckert, and John Mauchly.

If a job is a program, it has tasks.  Each task has its own stack, generally a task independent runner.  This just means it's an independent procedure, function, or routine.  If that routine makes a call to any other procedure from within its main routine, these are split up into threads on the stack.  These calls can happen so fast that one can finish before its predecessor, thus the need for thread control [you don't want the output of one A+B being recorded before a subsequent call to A-B or any such mathematical calculations].  So, threads have be given a wait bit or dependency.

In single thread machines, there is no need because everything is by definition waiting for the previous result.  But some results can finish independently [(A+B)-(CxD)] where the two parentheticals can be calculated simulataneously, since (A+B) has no effect upon (CxD), but the final algebraic must "wait" upon both results.  Thus you have two calls, two threads, with procedure N which provides two calls to the math handler.  The fibres might be "add" and "multiply," if not on the same varialbes [A,B:C,D] then they can run independently.  For each call then a separate stack is generated, even though N shares space and control, threads X and Y do not.  After all is said and done, the result is stored and the stacks deleted.  These are user stacks [not to mean some logged in user, but temporary stacks that the Operating Systme creates to be "used" by applications outside of the Operating System], but they are always under the control of the Operating System.  Otherwise the application stack could take down the Operating System Stack and bring the system to an halt.

Multithreading is implemented through design in the form of an Execution Bit and Code Segment Tag Bits a base pointer to the Control Mode and Supervisory Mode operation according to Conditional Flags [as bits] placed in their descriptor at the Base of Stack for the procedure.  In general, this is where all of your error reporting comes from, the various flagged conditions of the execution.

The move from Single Thread Operating System(STOS) to multitasking produced millions of volumes of documents in design.  Where it occured, first in mainframes and later in microprocessors, it's not such a well defined time line.  In mainframes, the first three inventors designed it out before building it, and in microprocessors it evolved a step at a time while studying and copying that mainframe design.

Probably the Motorola 6500 Series was STOS oriented, as well as the various 80 series [8080A, Z80, 8086 (daddy of i186, 286, 386, and so on)], but by the Motorola 65000 Series threading was incorporated into microprocessor design [Apple computers which predate PC's].

You'd have to have the technical specifications, the Instruction Set, and the Theory of Operation of each such processor to decide if it was STOS oriented or multitasking capable.

Machines graduated from STOS to true multitasking with Illiac probably circa 1952 and microprocessors did not catch up until about 40 years later.  With the advent of 64-bit archtecture in microprocessors of the PC variety, AMD and Intel, perhaps Citrix, home computers have only just recently implemented true multitasking and multithreading.  The IBM base architecture for such machines is already 20 years behind the architecture for Motorola and Apple machines.

Windows Operating Systems are 20 years behind Unix/Linux Operating Systems in the same regard.

And Unix/Linux were 20 years behind the original multitasking Operating Systems when both were so-called "invented."

The assumption by most authors that multithreading is achieved by time-splicing of execution units has not always been true, since about 1952, unless you had only one processor.  Today, however, it is not true even with one processor because modern processors can, and do, execute multiple operators, and hence threads, simultaneously.

An example: old microprocessors had one Arithmetic Logic Unit [ALU], modern processors often have two, sometimes more.  This is called Barrel Logic.

In that sense, an STOS is a single barreled device and a true multitasking processor and/or system has two or more barrels.  Barrel Processing requires pipeline processing and parallel pipelines.  Lastly, it requires Lookahead Logic and processing.  All of this is simply termed "Highly Parallel."

A machine is not "Highly Parallel" unless it meets all of these requirements, which, by implication, demerits such to STOS.

Any single path process or serial architecture detracts from the overall Highly Parallel design and affects performance.

Most modern architecture is based on the systems mentioned and the finalised designs of the Burroughs/UniSys B7000 Series, up to the B7800/B7900/MOD III Systems Design, thus the partnering of UniSys with all of the vendors, including Microsoft, AMD, Intel, and the others, simply because the finalised version of the design was the design of those systems just now being brought into microprocessor systems.

IBM and quite a few others had very little to do with modern architecture design.

After all, they were the ones who kept saying it wasn't possible, as per the suggestions of wikipedia and the statements about Algol being also impossible.

Until Algol and UniSys, the definition of an STOS was "IBM."


Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

As the title indicates, I have done this before. It chills me everytime I update the OS on my phone, ( because one time I did this and I essentially had a bricked …
I use more than 1 computer in my office for various reasons. Multiple keyboards and mice take up more than just extra space, they make working a little more complicated. Using one mouse and keyboard for all of my computers makes life easier. This co…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question