Talk:Comparison of operating systems
| Comparison of operating systems received a peer review by Wikipedia editors, which is now archived. It may contain ideas you can use to improve this article. |
| This article is rated List-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||
The following references may be useful when improving this article in the future:
|
Missing systems
[edit]Which of these should be added?
- Airline Control Program (ACP)
- Advanced Interactive eXecutive/370 (AIX/370)
- AIX/ESA V1 & V2
- CP-40
- CP-67
- DOS/360 through z/VSE
- Distributed Processing Programming Executive/370 (DPPX/370)
- Interactive eXecutive (IX/370)
- AIX for PS/2
- Michigan Terminal System (MTS)
- McGill University System for Interactive Computing (MUSIC)
- Multi-User System for Interactive Computing/System Product (MUSIC/SP)
- OS/360 through z/OS
- Transaction Processing Facility (TPF)
- Time Sharing System/360 (TSS/360) and TSS/370
- VM/370 through z/VM
- z/TPF
Should each version be listed? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:07, 13 October 2021 (UTC)
- Well it would be nice for comparison reasons. I would also suggest:
- AXONOV (talk) ⚑ 16:36, 17 December 2022 (UTC)
IBM AIX
[edit]IBM offered systems called Advanced Interactive Executive (AIX) for several systems not listed in the article not listed in the article:
In addition, the table shows AIX as being bundled with the hardware. All versions that I am familiar with are separately priced.
Should each flavor of AIX be listed separately? Should AIX/ESA Version 1 and AIX/ESA Version 2 be listed separately? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:35, 27 October 2021 (UTC)
- @Chatul: The version of this page, as of 20:38, 23 October 2021, and the version of this page, as of 10:37, 29 October 2021, both list the AIX for that runs on RS/6000, System p, etc., so it's listed, even if it doesn't explicitly mention the RS/6000 or successor systems. You've subsequently added entries for IX/370, AIX/370, and AIX/ESA. The RT PC and PS/2 version might be worth listing as well.
- As for "separately priced", that may be the case for IBM Power Systems, as they can run one or more of IBM i, AIX, and Linux, and may have been the case after the arrival of Linux, but does that date all the way back to the original RS/6000? Guy Harris (talk) 22:48, 13 November 2023 (UTC)
- I suspect that AIX was separately priced on the RT PC, prior to the RS/6000. I'll check whether https://ibm.com/common/ssi still works and try to find RT PC and RS/6000 announcement letters. The announcement letters that I've seen have been my source for pricing models.
- Some relevant program numbers for searches are
- 5669-061
- RT/PC AIX
- RT Personal Computer Advanced Interactive eXecutive (AIX)
- 5713-AEQ
- AIX PS/2 V1
- 5713-AFL
- AIX/370 V1
- 756-030
- AIX for RS/6000 V3'
- AIX for RISC System/6000 Version 3
- 5756-112
- AIX/ESA V2
- AIX/ESA Version 2
- 5765-030
- AIX for RS/6000 V3
- AIX for RISC System/6000 Version 3
- 5765-393
- AIX for RS/6000 V4.1
- AIX for RISC System/6000 Version 4.1
- 5765-655
- AIX for RS/6000 V4.2
- AIX for RISC System/6000 Version 4.2
- 5765-C34
- AIX for RS/6000 V4
- AIX for RISC System/6000 Version 4
- I'm still looking things up, but for both RT PC and RS/6000 there was a one time charge (OTC) for AIX. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:24, 14 November 2023 (UTC) -- revised 14:11, 14 November 2023 (UTC)
Proposed nomenclature section
[edit]Some of the terms used in the tables are ambiguous, unclear or unfamiliar to some readers. I propose adding a nomenclature section and have some incomplete text that may be a useful starting point:
The nomenclature for operating systems varies among providers and sometimes within providers. For purposes of this article the terms used are:
- kernel
- In some operating systems, the OS is split into a low level region called the kernel and hifher level code that relies on the kernel. Typically the kernel impliments processes but its code does not run as part of a process.
- hybrid kernel
- ...
- monolithic kernel
- ...
- Nucleus
- In some operating systems there is OS code permanently present in a contiguous region of memory addressable by unprivileged code; in IBM systems this is typically referred to as the nucleus. The nucleus typically contains both code that requires special privileges and code that can run in an unprivileged state. Typically some code in the nucleus runs in the context of a dispatching unit, e.g., address space, process, task, thread, while other code runs independent of any dispatching unit. In contemporary operating systems unprivileged applications cannot alter the nucleus.
License and pricing policies also vary among different systems. The tables below use the following terms:
- BSD
- BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software.
- bundled
- The fee is included in the price of the hardware
- bundled initially
- The fee is included in the price of the hardware but upgrades require an additional fee.
- GPL2
- ...
- GPL3
- ...
- MULC
- MEASURED USAGE LICENSE CHARGES
- MSU
- The fee depends on the resources consumed by the user
- PSLC
- PARALLEL SYSPLEX SOFTWARE PRICING
- Per user
- The fee depends on the maximum number of users concurrently logged on.
I've arbitrarily listed the terms in alphabetical order; that might change with more wordsmithing. — Preceding unsigned comment added by Chatul (talk • contribs) 07:22, 28 November 2021 (UTC)
- Is the concept of a "kernel" dependent here on the processor having some form of hardware-enforced privilege limitation, such as kernel/supervisor/monitor/... mode and user mode, with the kernel code running with more privileges than the higher-level (user mode) code?
- What does "region" mean in "the OS is split into a low level region called the kernel and higher level code that relies on the kernel"? Does it refer to regions of physical memory, or is it (assuming the answer to the previous paragraph's question is "yes") just a distinction between code running with more privileges and code running with fewer privileges? If it's the former, does the "kernel" include all code running with more privileges? If so, note that, for example, code that supports loadable kernel modules does *not* necessarily have all the code running with more privileges in a single contiguous region of physical memory - or even a single contiguous region of virtual address space.
- What does "[the kernel's] code does not run as part of a process" mean here?
- "Monolithic kernel" should probably be put before "hybrid kernel", given that 1) I think most kernels fit in the former category and 2) I'm not entirely sure what distinguishes a "hybrid kernel" from a "monolithic kernel" (and I developed kernel-mode code for both).
- What is the difference between a "kernel" and a "nucleus"?
- A third possibility for a BSD-licensed OS's pricing is "free as in beer", possibly with a charge for the media if you buy a physical medium (CD-ROM, DVD-ROM) containing the OS release. Guy Harris (talk) 08:12, 28 November 2021 (UTC)
- Did you mean for your text to not be indented? Shouldn't it have leading single colons?
- I believe that the original concept of kernels implied some sort of architected privileged mode, but I'll dig out the original paper and check.
- I would distinguish between the kernel itself and loadable kernel modules, but what does the literature say?
- I can't comment on monolithic versus hybrid because I wasn't the one that used hybrid in some of the table rows. My concern is just that it be spelled out and then used consistently.
- By region I simply mean a block of contiguous memory.
- By "code does not run as part of a process" I mean that it is not using the stacks or translation tables of any specific process, but is either running with no translation or with global translation tables.
- Would it be better to create a working document in the draft namespace of to just edit the proposed text with appropriate
<s>...</s>and<i>...</i>markup? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:45, 28 November 2021 (UTC)- Yes, I meant for it not to be indented; as most of your original text was indented, indenting it with single leading colons made it difficult to distinguish the comment from your text. Therefore, I removed the leading colons; an alternative would have been to use two leading colons, or to add an outdent arrow. Adding your note after the indented text fixes that problem, so I'll re-indent my text.
- "By region I simply mean a block of contiguous memory." That would, at minimum, require that we distinguish between the kernel and loadable kernel modules, and thus distinguishing between different pieces of code running with the same elevated privileges.
- "By "code does not run as part of a process" I mean that it is not using the stacks or translation tables of any specific process, but is either running with no translation or with global translation tables." "The stacks of any specific process" would have to mean "the user-mode stacks of any specific process; at least some OSes assign separate kernel-mode stacks to separate processes or separate threads. In addition, whilst the kernel code and data may reside within a global portion of the address space, it may access user-mode data - and sometimes, even read user-mode code - via the current process's translation tables. In addition, kernel-mode CPU time might be counted per process (as it is on UN*Xes) and, with preempt able kernels, even time-sliced on a per-process basis. Guy Harris (talk) 20:21, 28 November 2021 (UTC)
- Worse than that, some systems have more than two privilege levels.
- As an example of the difference between systems for which the literature uses the term kernel and other systems, in MVS an authorized program can enter Supervisor Mode and can change its protection key. This is quite different for the layered design normally assumed when discussing kernels.
- Similarly, some code in the MVS nucleus can run in either problem state or supervisor state.
- IBM has several types of usage based licensing. Should the table mention them individually, or just show them all as usage based? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:03, 30 November 2021 (UTC)
- Would it be better to create a working document in the draft namespace of to just edit the proposed text with appropriate
That section still needs clarification on what "does not run as part of a process" means. As noted above and in the edit summary for a {{disputed inline}} I added to the article, "[the kernel's] code does not run as part of a process" depends on what "as part of a process" means; the code may be shared code rather than per-process code (although that may also apply to shared libraries) and use shared data rather than per-process data (but that may also apply to userland code), and may not use the same stack as the process's userland code, but it often runs in the process's thread of control, with per-process kernel stacks. Guy Harris (talk) 21:50, 13 November 2023 (UTC)
There are several issues with the way data are presented for MVS
- The term MVS applies to everything from OS/VS2 Release 2 through z/OS.
- No version of MVS is bundled with the hardware, although the rates vary depending on what it is licensed to run on.
- The license varies depending on the version.
The following exist:
- OS/VS2 R2 through R3.8
- Source code freely available
- Service provided as object code and listings on microfiche
- MVS/SE
- Add on to OS/VS2 R3.7 (Release 1) and R3.8 (Release 2)
- Licensed
- Source code and microfiche restricted to licensees
- MVS/SP Version 1
- Add on to OS/VS2 R3.8
- Licensed
- Source code and microfiche restricted to licensees
- MVS/XA
- Add on to OS/VS2 R3.8
- Licensed
- Source code and microfiche restricted to licensees
- MVS/ESA
- Licensed
- Source code and microfiche restricted to licensees
- OS/390
- Licensed
- Source code and microfiche not available
- z/OS
- Licensed
- Source code and microfiche not available
The above somewhat oversimplifies, as the transition to object code only (OCO) was more gradual.
Currently there are table entries for MVS, OS/390 and z/OS. I'm not sure whether to use separate table entries for the four flavors prior to OS/390 or to group them in some way. Thoughts? -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:09, 3 May 2023 (UTC)
- OS/390 seems to indicate that it was mainly a change to the way some (optional(?) components were packaged, combined with some marketing people deciding to change the name. The latter doesn't render it a Shiny New Operating System separate from MVS; do the other changes do so, or should there be "MVS, OS/390" entries covering both?
- Does z/OS include changes other than "we now support 64-bit hardware and applications"? Many other OSes have addes support for 64-bit hardware and applications without being labeled Shiny New OSes, just "version N+1, now with 64-bit support". If not, I'd be inclined to lump it together with MVS and OS/390 - and, for the other variants, do the same as well, unless they have changes that render them Shiny New Operating Systems rather than "
- Every change in product name, release and version has new code and new feature, with a huge amount being carried forward. The selection of what is bundled, what is optional and how the code is packaged has changed multiple times. The z/OS V2 documentation still uses the term for some of the manuals. In particular, z/OS V1R1[1] is not just OS/390 V2R10 with 64-bit addresses. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 01:15, 4 May 2023 (UTC)
Every change in product name, release and version has new code and new feature, with a huge amount being carried forward.
That's true of most OSes, but most changes aren't considered to result in a new OS, just a new version; which changes, if any, would make the OS with those changes a Shiny New OS? Guy Harris (talk) 01:48, 4 May 2023 (UTC)- The question isn't whether each is a Shiny New OS, but rather how to present the cost and license in the table. They both change as you got from version to version, so if you consider them to all be the same OS then you need some way to split and label the relevant table cells; I don't believe that {{free}} and {{nonfree}} can coexist within the same cell. Secondary issues are why whatever justifies separate entries for OS/390 and z/OS does not apply to MVS/370, MVS/XA and MVS/ESA and what to do about products that are available both for a monthly fee and for a one time charge. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 10:57, 4 May 2023 (UTC)
I don't believe that {{free}} and {{nonfree}} can coexist within the same cell.
They can't, but you can play tricks with rowspan to have separate rows for some columns.whatever justifies separate entries for OS/390 and z/OS
The "whatever" is probably to be "they don't have the string "MVS" in their names", which also answers "why ... does not apply to {list of OSes whose names being with "MVS"}". :-) (I.e., it's the magic of marketing names; there are probaby people there who think that "Mac OS X" and "macOS" are different OSes (I'm not sure what they think about "OS X"), or that somehow Apple deciding to switch from a numbering scheme intended to make people think "Mac OS X" continues after "Mac OS 9" to a numbering schme intended to make people think that "macOS" is in the same extended family as "iOS" and "iPadOS" and.... (Sun changing the numbering schme for Solaris, because they realized that the object-oriented microkernel buzzword buzzword buzzword buzzword buzzword Solaris 3 would probably never happen, didn't seem to provoke that sort of response.))what to do about products that are available both for a monthly fee and for a one time charge
Use {{nonfree|Monthly license US$5,000, one-time charge US$5,000,000}} or whatever. Guy Harris (talk) 11:51, 4 May 2023 (UTC)- So are you recommending splitting columns
Cost, availability
,Preferred license
andTarget system type
into separate rows for free, chargeable MVS/370, XA and ESA? -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:42, 4 May 2023 (UTC)- If having a single row for all members of what might be considered the MVS family is better than having separate rows for everything in the family, yes, splitting columns could work. (Note that we have a single row for macOS, the two name changes nonwithstanding and a single row for the (desktop) Windows NT family, the variety of names used for desktop NT-based OSes nonwithstanding, so having a single row for the MVS family might make sense.) (And speaking of IBM mainframe OSes, there's a row for "z/VM", which lists "VM" - which has no row - as its predecessor. Would a row for the VM family make sense?) Guy Harris (talk) 19:31, 4 May 2023 (UTC)
- I wound up splitting it into free and licensed. @Guy Harris: I believe that the best thing to do with VM would be to have an entry for each of
- CP-67
- Virtual Machine Facility/370 (VM/370)
- Licensed VM prior to z/VM
- z/VM
- leaving out CP-40 and lumping all of VM/BSE, VM/SE, VM/SP, VM/SP HPO, VM/XA MF, VM/XA SF, VM/XA SP and VM/ESA together. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 02:36, 14 May 2023 (UTC) -- Revised 16:32, 14 May 2023 (UTC)
- That seems similar in structure to the way OS/360 and successors are presented, so that'd work. (But were early version of z/OS also supported on S/390?) Guy Harris (talk) 11:54, 15 May 2023 (UTC)
- I wound up splitting it into free and licensed. @Guy Harris: I believe that the best thing to do with VM would be to have an entry for each of
- If having a single row for all members of what might be considered the MVS family is better than having separate rows for everything in the family, yes, splitting columns could work. (Note that we have a single row for macOS, the two name changes nonwithstanding and a single row for the (desktop) Windows NT family, the variety of names used for desktop NT-based OSes nonwithstanding, so having a single row for the MVS family might make sense.) (And speaking of IBM mainframe OSes, there's a row for "z/VM", which lists "VM" - which has no row - as its predecessor. Would a row for the VM family make sense?) Guy Harris (talk) 19:31, 4 May 2023 (UTC)
- So are you recommending splitting columns
- The question isn't whether each is a Shiny New OS, but rather how to present the cost and license in the table. They both change as you got from version to version, so if you consider them to all be the same OS then you need some way to split and label the relevant table cells; I don't believe that {{free}} and {{nonfree}} can coexist within the same cell. Secondary issues are why whatever justifies separate entries for OS/390 and z/OS does not apply to MVS/370, MVS/XA and MVS/ESA and what to do about products that are available both for a monthly fee and for a one time charge. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 10:57, 4 May 2023 (UTC)
- Every change in product name, release and version has new code and new feature, with a huge amount being carried forward. The selection of what is bundled, what is optional and how the code is packaged has changed multiple times. The z/OS V2 documentation still uses the term for some of the manuals. In particular, z/OS V1R1[1] is not just OS/390 V2R10 with 64-bit addresses. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 01:15, 4 May 2023 (UTC)
The z/OS announcement[1] lists supported S/390 processors:
z/OS Version 1 Release 1 runs only on servers that implement certain architectural enhancements. The following IBM servers have these enhancements:
- z900 or comparable server
- S/390 Parallel Enterprise Servers — Generation 5 and Generation 6 models or comparable server
- All models of the Multiprise 3000 Enterprise Server or comparable server
You could run z/OS through Version 1 Release 5 on ESA/390 hardware, with only 24 and 31-bit virtual addresses; everything after that requires z/Architecture. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 09:02, 16 May 2023 (UTC)
References
- ^ a b IBM z/OS: An Operating System Solution for the Future of Your Business (PDF). Announcement Letters. IBM. October 3, 2000. 200-352. Retrieved May 3, 2023.
Nomenclature -
[edit]One column of the table in § Technical information is headed Update management, but there is no explanation of what the term means. The obvious answer is batch editors, but what appears in that column is configuration control software. There should be an explicit explanation. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 01:49, 27 October 2025 (UTC)
Technical information
[edit]Should the table be in alphabetical order? Should it include all the IBM mainframe systems listed in § General information, e.g., MVS (OS/VS2 R2 through R3.8), MVS (MVS/SE through MVS/ESA), OS/390? -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 17:46, 28 October 2025 (UTC)
- Old requests for peer review
- List-Class Computing articles
- Mid-importance Computing articles
- List-Class Amiga articles
- Mid-importance Amiga articles
- List-Class Amiga articles of Mid-importance
- List-Class software articles
- Unknown-importance software articles
- List-Class software articles of Unknown-importance
- All Software articles
- List-Class Free and open-source software articles
- Mid-importance Free and open-source software articles
- List-Class Free and open-source software articles of Mid-importance
- All Free and open-source software articles
- All Computing articles
- List-Class Apple Inc. articles
- Mid-importance Apple Inc. articles
- WikiProject Apple Inc. articles
- List-Class Microsoft articles
- Mid-importance Microsoft articles
- List-Class Microsoft Windows articles
- Mid-importance Microsoft Windows articles
- WikiProject Microsoft Windows articles
- WikiProject Microsoft articles




