terminology - What is a "Mainframe"? What is a "Workstation"?

  • Questioner

    Recently I'm encountering these two terms frequently Mainframe & Workstation. How are they different from the computers we use? I tried wiki articles but couldn't understand.

    Also Terminal means just the command prompt (it's not hardware), right?

    I guess these terms were used in olden days.

  • Answers
  • Jesse Weigert

    Mainframe was a large computer designed to be used by multiple people at the same time. It accomplished this by having several terminals plugged in via serial ports. And yes, they were physical terminals.

    The terminals were incapable of doing anything other than display data that came in through the serial port and sending back data from the keyboard.

    A workstation is what we're used to today. It's a computer which supports a single person, but is connected to other computers over a network.

  • Kensai

    In "olden days" terms, a workstation would have been a minicomputer, smaller than a mainframe but larger than a microcomputer. Nowdays a workstation is more or less a powerful microcomputer with lots of memory and fail-safe components.

    A mainframe today is a multi-component computer (diverse CPUs, for example) to run services (server-style) for things like banking transactions and online commerce.

    Of course my explanations can't be as accurate as Wikipedia's so try to hit the online free encyclopedia for more information and examples both from the old days and today.

  • Dentrasi

    The more modern meaning of workstation is a higher end computer, often used for graphics works, or other intensive tasks. They're typically made of more reliable components, often with Xeon/Opeteron processors, ECC memory and RAID, as well as having the commercial graphics cards (Nvidia's Quadro range and ATI's FireGL cards).

    However, it can be used more generally to refer to a standalone PC, rather than a thin client/terminal.

  • Related Question

    sql server - What does the term CXPACKET stand for?
  • blueberryfields

    Google does not appear to have a definition of the term.

  • Related Answers
  • heavyd

    From Windows IT Pro:

    A. You will only get this with SQL 7 because it only happens with parallel queries. It means that one thread of the query is waiting for a message packet from another, and the one it is waiting on is either blocked by a traditional cause or has hit some sort of parallelism bug.

    CXPacket means it is waiting on a data packet - i.e. the results of an internal query is being passed. Exchange means that it is waiting on a control packet - i.e. waiting for a child/sibling process to tell you that it is finished.

    If the query doesn't complete then make sure SP1 is applied as there are several parallel query fixes in SP1. If it still doesn't fix it then you have run into an unfixed bug and will need to contact Microsoft PSS and raise a bug report. You should be able to work-around the problem by adding MAXDOP(1) to the query which will prevent the query being parallelised.

    This thread at SQL Team is also useful.

  • quack quixote

    Possibly the CX is shorthand for "exchange", but since it appears to be related to parallelism, I'd guess it stood for "context" (as in "context switch").

    To add to heavyd's answer: CXPACKET is a type of wait "that SQL Server uses to coordinate parallelism – and you can generally ignore it" (from this post). It's defined in sys.dm_os_wait_stats (MSDN, see the table of wait types), but I don't see anything indicating a specific origin for the term. That table gives this description:

    Occurs when trying to synchronize the query processor exchange iterator. You may consider lowering the degree of parallelism if contention on this wait type becomes a problem.