Solved

What is Single Thread Operating System?

Posted on 2006-07-11
7
2,417 Views
Last Modified: 2013-12-06
What is Single Thread Operating System(STOS)?  Please provide detailed explanation.  Thanks.
0
Comment
Question by:naseeam
7 Comments
 
LVL 1

Assisted Solution

by:iain_ra
iain_ra earned 35 total points
ID: 17085958
Hi,

The definitions in this article are very specific:
http://www.phptr.com/articles/article.asp?p=25075&rl=1

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,
Iain
0
 
LVL 6

Expert Comment

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

Assisted Solution

by:DCreature
DCreature earned 25 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.
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 13

Expert Comment

by:gonzal13
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.

http://www.intel.com/technology/hyperthread/

gonzal13(joe)
0
 
LVL 6

Assisted Solution

by:engineer_dell
engineer_dell earned 40 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,
http://en.wikipedia.org/wiki/Thread_%28computer_science%29
http://en.wikipedia.org/wiki/Simultaneous_multithreading

hope it helps,

Engineer_Dell
0
 
LVL 11

Accepted Solution

by:
Renato Montenegro Rustice earned 125 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.
0
 
LVL 12

Assisted Solution

by:GinEric
GinEric earned 25 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: http://en.wikipedia.org/wiki/Burroughs_B5000

That's "about" right, but the fact is that http://en.wikipedia.org/wiki/Illiac 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 "http://en.wikipedia.org/wiki/Thread_%28computer_science%29" "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."

:)
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

The purpose of this article is to show how we can create Linux Mint virtual machine using Oracle Virtual Box. To install Linux Mint we have to download the ISO file from its website i.e. http://www.linuxmint.com. Once you open the link you will see …
In a recent article here at Experts Exchange (http://www.experts-exchange.com/articles/18880/PaperPort-14-in-Windows-10-A-First-Look.html), I discussed my nine-month sandbox testing of the Windows 10 Technical Preview, specifically with respect to r…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
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.

760 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now