Solved

What is Single Thread Operating System?

Posted on 2006-07-11
7
2,421 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
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
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

VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I don't know if many of you have made the great mistake of using the Cisco Thin Client model with the management software VXC. If you have then you are probably more then familiar with the incredibly clunky interface, the numerous work arounds, and …
Windows 7 does not have the best desktop search built in. This is something Windows 7 users have struggled with. You type something in, and your search results don’t always match what you are looking for, or it doesn’t actually work at all. There ar…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

895 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

11 Experts available now in Live!

Get 1:1 Help Now