Talk:TSS (operating system)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Test and Set[edit]

The TS (test and set) instruction was not new for the /67 -- it was a standard 360 instruction, used all over the place for locking data structures. John L 23:49, 16 September 2007 (UTC)[reply]

I know of no use of TS outside of TSS/360 prior to 65MP. Was it used by the FAA on the 9020?Shmuel (Seymour J.) Metz Username:Chatul (talk) 17:22, 28 May 2015 (UTC)[reply]
Any code that did multitasking might use TS, so lots of OS application code (at least) would use it. What did OS use to post ECBs? Peter Flass (talk) 21:22, 28 May 2015 (UTC)[reply]
There is no need for TS in a uniprocessor, and TS is highly inappropriate for use in enabled code in a multitasking system; Applications should use services like ENQ, which do not tie up the CPU when the resource is unavailable. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:46, 29 May 2015 (UTC)[reply]
Even on a uniprocessor different tasks can be scheduled randomly, so there's no guarantee. Although I don't think I ever did this you could use TS to implement what are now called "Futexes": TS; if you get the resource great; if not then ENQ. At the end DEQ if you ENQ'd and clear the flag byte. This aaves a lot of system call overhead for resources that aren't in use much of the time. I used CS a lot, but of course that was a 370 instruction and much more useful. Peter Flass (talk) 17:53, 29 May 2015 (UTC)[reply]
Yes, you can use a combination of TS and ENQ, but what happens if the TS fails while you hold the ENQ resource? If you're not careful you burn CPU time, making it more expensive than a simple ENQ. As I wrote, IBM does not seem to have used TS in the uniprocessor versions of OS/360, with good reasons.
As for CS and CAS, those are extremely useful even on a uniprocessor.
That sill leaves the question of whether the 9020 software at the FAA used TS. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:48, 29 May 2015 (UTC)[reply]

Providing source code to customers[edit]

Also, there was nothing unusual about providing all the source code to customers. That was standard until IBM started shipping OCO (object code only) in the 1980s. John L 23:51, 16 September 2007 (UTC)[reply]

Virtual memory, virtual machine[edit]

The wording of the claim that TSS/360 provided virtual memory and virtual machine features suggests that it depended on position independent code. If so, it seems extremely dubious that it actually provided a virtual machine. Could other 360 operating systems be run under control of this virtual machine? --Brouhaha (talk) 15:48, 16 June 2009 (UTC)[reply]

IBM developed a virtual machine facility for TSS/360 but never shipped it to customers.
TSS/360 had what nowadays would be called a microkernel. This was used to host Unix at BTL. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:52, 16 August 2010 (UTC)[reply]

Le roi est morte, vive le roi[edit]

TSS/360 was succeeded by the TSS/370 PRPQ, which went through several releases. Given that, it's misleading to state that TSS/360 was withdrawn in 1971. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:55, 16 August 2010 (UTC)[reply]

Screen shot? Not applicable,[edit]

TSS/360 did not have a GUI. How do you take a screen shot of, e.g., a 2741? Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:56, 29 October 2010 (UTC)[reply]

With a digital camera, or with an analog camera and a scanner. :-) Whether it's useful to show, in the article, a photograph of a printout of a session on a 2741 is another matter. Guy Harris (talk) 07:32, 2 November 2010 (UTC)[reply]
It might even be useful, but it wouldn't be a screen shot. Shmuel (Seymour J.) Metz Username:Chatul (talk) 11:01, 4 November 2010 (UTC)[reply]
It would not, in the literal sense, be a screen shot, as there's no screen. However, as a representation of the user interface, it could be considered to serve the same purpose as a screen shot; perhaps the name should be changed to something other than "screen shot", but I don't see any argument for not having an image of a printing-terminal session, especially given that there are "screenshots" of applications that run in, for example, a UN*X terminal session, such as tcpdump - yes, that image happens to have been taken as a screenshot from a terminal emulator program, but it's not inherently that different from an image of a printout. Guy Harris (talk) 22:31, 4 November 2010 (UTC)[reply]
When what you're dealing with is text, converting it to an image would be counterproductive. If you look at the example in, e.g., Coroutine#Comparison with subroutines, the sample code is much more appropriate than an embedded image of it would be. I posted a query at the help desk Shmuel (Seymour J.) Metz Username:Chatul (talk) 23:09, 4 November 2010 (UTC)[reply]

Novel features and Multics[edit]

It is true that both TSS/360 and Multics had novel features, but Multics did not adopt them from TSS. For that matter, I know of no evidence that they were working first in TSS/360. Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:59, 29 October 2010 (UTC)[reply]

Multics and VM/CMS probably were closer, since they were in the same building and both developed out of CTSS. TSS is probably what Multics would have been given the same lame hardware support. Peter Flass (talk) 15:00, 30 November 2012 (UTC)[reply]
CMS and Multics were very different. CMS and TSS had some similarities to OS/360. The command syntax of TSS was different from both CMS and Multics. Neither CMS nor TSS had anything similar to the active functions in Multics. Neither CMS nor TSS had a hierarchical file system.
The one area where I see a similarity between two of these system is that the Prototype Section (PSECT)of TSS is similar in function to the linkage segment of Multics. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:16, 11 December 2012 (UTC)[reply]

Scheduler[edit]

The article says "TSS/360 was unique in implementing a Table Driven Scheduler." I'm not familiar enough with either system, but is this similar to (or same as) what was later done in the OS/390 Workload Manager? If so it might be worth a mention as another concept that originated with TSS. Actually, I think SDS/XDS Sigma UTS had a table-driven scheduler, but that would have been later. I seem to recall Xerox pushing the advantages of the scheduler. Peter Flass (talk) 14:55, 30 November 2012 (UTC)[reply]

Position-independent code[edit]

I wrote that TSS had "an early version" of PIC; was it the first or were there earlier? Peter Flass (talk) 14:46, 3 May 2015 (UTC)[reply]

Multics; the implementation was very different and involved linkage segments. In TSS an external reference in a PSECT is resolved when the module is loaded; in Multics an external reference in a linkage segment is resolved only when the module attempts to call the external routine. Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:56, 26 May 2015 (UTC)[reply]
It occurs to me that MCP on the Burroughs B5000 is arguably the first to have PIC. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:49, 4 March 2019 (UTC)[reply]