CP/CMS

Le CP/CMS était un en temps partagé du système d'exploitation du remarquable du en retard 60s et du tôt 70s , connu pour son excellente exécution et dispositifs avancés. Il a eu trois versions distinctes :
CP-40 /CMS, un " important ; one-off" ; système de recherches qui a établi l'architecture de la machine virtuelle de CP/CMS
CP-67/CMS, un reimplementation de CP-40/CMS pour le IBM System/360-67 , et le centre primaire de cet article
CP-370/CMS, un reimplementation de CP-67/CMS pour le &ndash de Système/370 ; jamais non en soi libéré, mais à la place devenant la base du VM/370 d'IBM du système d'exploitation (annoncé dans 1972 et encore en service)

Chaque reimplementation était une conception substantielle de son prédécesseur, et a représenté un pas en avant évolutionnaire. CP-67/CMS était la première exécution widely-available d'une architecture de la machine virtuelle , un concept qu'IBM avait frayé un chemin avec son M44/44X (qui de systèmes de recherches a employé la virtualisation partielle ) et le CP-40 (qui a employé la pleine virtualisation ).

En plus de son rôle en tant qu'ancêtre de la famille de la VM , CP/CMS a joué un rôle important dans le développement de la théorie du système d'exploitation, dans la conception du Système/370 d'IBM et des produits postérieurs, dans la création de l'industrie en temps partagé du , et dans la création d'une communauté d'utilisateur autosuffisante qui a prévu le mouvement d'aujourd'hui de logiciel gratuit de .

Vue d'ensemble

CP/CMS a été construit par le centre scientifique (CSC), un R& de Cambridge de de s de IBM '; Laboratoire de D avec les cravates très étroites au MIT . Les buts de système, le processus de développement, le dégagement, et le &ndash de legs ; et son &ndash de technologie de percée ; tout l'ensemble ce système indépendamment d'autres logiciels d'exploitation de son jour, et de l'autre grand IBM projette. En particulier, c'était un système de l'Ouvrir-source , rendu disponible sous la forme de code source à tous les clients d'IBM à aucun &ndash de charge ; en tant qu'élément du Type-III non soutenu bibliothèque d'IBM de . Les utilisateurs de CP/CMS se sont soutenus et. Les circonstances peu communes, exposées dans la section de l'histoire dans ce qui suit, ont mené à cette situation.

CP/CMS s'est composé de deux composants principaux :
le CP , le programme de gestion de de

, a créé l'environnement de machine virtuelle. La version employée couramment était CP-67, qui a fonctionné sur le S/360-67 . (Le CP-40 de système de recherches a établi l'architecture. Une troisième version, CP-370, est devenue le VM/370 .) Au lieu explicitement de la division la mémoire et d'autres ressources parmi les utilisateurs, qui avaient été l'approche traditionnelle, le CP a fourni à chaque utilisateur un ordinateur autonome simulé du System/360 , capable courir n'importe quel logiciel S/360 qui a fonctionné sur la machine nue. Ceci a donné chaque utilisateur ce qui était, en effet, un système informatique privé.
CMS , le système de moniteur de Cambridge de (et également &ndash de de

système de moniteur de console de ; mais le retitré le système de moniteur conversationnel dans la VM ) était un du système d'exploitation à utilisateur unique léger, pour l'usage interactif de partage du temps. En tirant beaucoup de copies de CMS dans le &ndash des machines virtuelles du CP ; au lieu des copies multiples du grand, traditionnel &ndash multitâche de logiciels d'exploitation ; les frais généraux par utilisateur étaient moins. Ceci a permis à un grand nombre d'utilisateurs simultanés de partager un S/360 simple.

Le concept de machine virtuelle de CP/CMS était un pas en avant important dans la conception du système d'exploitation.

en isolant des utilisateurs entre eux, fiabilité et sécurité de système considérablement améliorées de CP/CMS.

en simulant un plein, autonome ordinateur pour chaque utilisateur, CP/CMS a pu courir le n'importe quel logiciel de S/360 dans un &ndash d'environnement en temps partagé ; pas simplement les applications ont spécifiquement conçu pour le partage du temps.

en utilisant CMS léger comme interface d'utilisateur principal, CP/CMS a réalisé l'exécution en temps partagé sans précédent. En outre, la simplicité du CMS l'a facilité pour mettre en application des perfectionnements d'interface utilisateurs que dans les logiciels d'exploitation traditionnels.

IBM reimplemented CP/CMS car son produit du VM/370 , libéré dans le 1972 quand la mémoire virtuelle virtuelleee a été ajoutée à la série du S/370 . Les successeurs de VM/370 (tels que Z/VM ) restent dans l'utilisation large aujourd'hui. (Il est important pour la note que le d'IBM reimplemented CP-67, en tant que lui a eu le CP-40 , et ne l'a pas simplement retitré et n'a pas remballé. la VM a coexisté avec CP/CMS et ses successeurs pendant beaucoup d'années. Il est ainsi approprié de regarder CP/CMS en tant que du système d'exploitation indépendant, distinct de la famille de la VM .)

CP/CMS a été regardé comme " ; Le d'IBM l'autre " du système d'exploitation de ; &ndash ; un pauvre cousin aux offres groupe-orientées recommandées d'IBM. (Jusque récemment, la VM est restée dans ce rôle.) Mais CP/CMS s'est levé au-dessus des ressources limitées et de la politique de compagnie, pour créer une résistance et un legs technique important, une base d'utilisateurs violemment fidèle, des systèmes dérivés importants dans l'industrie en temps partagé du , et, finalement, un héritage en tant que parent des produits importants du 21ème siècle d'IBM.

CP/CMS comme logiciel gratuit

note de de

: la distribution de code source de de à IBM avant le 1978 est une matière sombre, de même que les issues relatives de copyright de logiciel et des secrets commerciaux. Le code source du système d'exploitation n'est pas directement discuté dans les références principales, autre que les caisses spéciales de CP/CMS et de VM. Les contribuants de Wikipedia ont des mémoires de première main claires mais contradictoires. La description qui suit représente les meilleures informations disponibles en date du décembre 2006 , mais sera mise à jour en tant que meilleur matériau de base peut être localisée.

CP/CMS a été distribué sous la forme du code source , et beaucoup d'utilisateurs de CP/CMS ont été activement impliqués en étudiant et en modifiant ce code source. Une telle participation directe d'utilisateur avec un du système d'exploitation fournisseur-fourni était peu commune.

Dans l'ère de CP/CMS, beaucoup de fournisseurs logiciels d'exploitation distribué en code source compréhensible par une machine. Il est possible que le OS/360 , le DOS/360 , et un certain nombre de " postérieur ; mainstream" ; Des logiciels d'exploitation d'IBM ont été répartis de cette façon ; en tout cas, leur code source était certainement disponible sous la forme de la microfiche , et était employé couramment par des programmeurs système aux emplacements de client. De tous ces systèmes, une certaine conscience de code source de système a été également impliquée dans le processus de Sysgen (comparable à une construction de grain de dans les systèmes modernes) ; de même en installant un démarreur réglé de . (Quarante ans après, l'émulateur de Hercule de peut être employé pour courir le " ; fossilized" ; versions de ces systèmes, basées sur le code source qui est maintenant traité en tant qu'élément du public domain .)

L'importance du code source du système d'exploitation a changé avec le temps. Avant que le IBM ait séparé le logiciel du matériel dans le 1969 , logiciel) du système d'exploitation (et la plupart de l'autre a été inclus en coût du matériel ; et un fournisseur simple a eu la responsabilité complète du système, du matériel et du logiciel entiers. Ceci a rendu le milieu de distribution relativement sans importance. Après IBM séparant, le logiciel d'OS a été fourni en tant que &ndash du logiciel de programme de gestion (SCP) de système d'IBM de ; par la suite dans le " ; only" de code d'objet ; former, mais toujours à aucune charge additionnelle.

Pour des raisons compliquées, CP/CMS n'a pas été libéré de la manière normale. Il n'a pas été soutenu par IBM, mais a été fait à une partie du Type-III non soutenu &ndash d'IBM de de la bibliothèque ; une collection de logiciel a contribué par les clients et le personnel d'IBM. IBM a distribué cette bibliothèque à ses clients pour l'usage « comme est ». Le manque de soutien direct d'IBM de tels produits a forcé les utilisateurs actifs à se soutenir, et encouragé leur pour apporter des modifications et pour se soutenir. CP/CMS et tout autre Type-III produits étaient ainsi une forme tôt du logiciel gratuit .

La distribution de code source d'autres logiciels d'exploitation d'IBM a pu avoir continué pendant quelque temps le &ndash ; par exemple OS/360 , DOS/360 , DOS/VSE , MVS , et même TSS/370 , que tout aujourd'hui est généralement considéré dans le &ndash du public domain ; puisqu'ils ont été discutablement édités sans une communication préalable de copyright avant 1978. Cependant, le statut non soutenu de différentes pressions placées par CP/CMS sur sa communauté d'utilisateur, et augmenté l'importance pour elles de la distribution de code source.

Curieusement, CP/CMS a été contribué au Type-III bibliothèque par le &ndash du laboratoire de Lincoln du du MIT ; et pas par CSC ou tout autre &ndash d'unité d'IBM ; malgré le fait que le système a été établi par le centre scientifique de Cambridge du d'IBM. Cette décision étonnante a été décrite comme forme de " ; collusion" ; pour outmaneuver les forces politiques d'IBM s'est opposé au partage du temps. Il peut également refléter la quantité d'entrée formelle et sans cérémonie du MIT (aussi carbure des syndicats de ) qui a été contribué à la conception et à l'exécution du CP-40 , le S/360-67, CP-67, et CMS. Voir l'histoire de de CP/CMS (notes historiques) pour d'autres perspicacités et références sur cette matière.

Beaucoup d'utilisateurs de CP/CMS ont apporté des modifications étendues à leurs propres copies du code source. Beaucoup de ce travail a été mis en commun entre des emplacements, et les changements importants ont trouvé leur chemin de nouveau dans le système de noyau. D'autres utilisateurs, tels que le CSS national et quelques emplacements d'universitaire, ont continué le développement indépendant de CP/CMS, plutôt que la commutation à VM/370 quand elle est devenue disponible. Ces efforts ont divergé de la communauté, dans ce qui aujourd'hui se nommerait une fourchette de logiciel de .

Après qu'IBM ait libéré VM/370, la distribution de code source de la VM a continué pour plusieurs dégagements. (Le projet de VM n'a pas adopté l'utilisation du PL/S , un langage de programmation de systèmes interne exigé pour l'usage au sein d'IBM sur beaucoup de projets comparables. L'utilisation du PL/S aurait rendu la distribution de code source impossible. IBM a essayé de tourner à partir de langage d'assemblage aux langues de plus haut niveau dès le 1965 , et faisait l'utilisation substantielle du PL/S par le 1969 , par exemple dans le MVS. Le PL/S a été considéré un secret commercial alors, et n'était pas à la disposition des clients. Exceptions apparemment faites d'IBM à cette politique beaucoup plus tard.) La communauté d'utilisateur de VM a continué à apporter les contributions importantes au logiciel, comme il a eu pendant le Type-III période de CP/CMS. Peu d'emplacements d'OS ou de DOS ont montré la participation active d'utilisateur dans des internals du système d'exploitation profonds ; mais ceci a été trouvé à beaucoup d'emplacements de VM. Ce " ; support" renversé ; les concepts aidés de CP/CMS survivent et évoluent au &ndash ; en dépit du " de la VM ; citizen" de deuxième classe ; statut à IBM.

Histoire

voient également : Histoire de CP/CMS

Des paramètres architecturaux et stratégiques de CP/CMS fondamental ont été établis dans le CP-40 , qui a commencé l'utilisation de production au centre scientifique de Cambridge du d'IBM début 1967. Cet effort s'est produit dans un politique complexe et le milieu technique de , a discuté à une certaine longueur et soutenu par des citations de première main dans l'histoire de d'article de Wikipedia de CP/CMS . Voir également le CP-40 (notes historiques) , histoire de d'IBM , et System/360 pour davantage de fond.

En un mot :

dans le tôt 60s , IBM a cherché à maintenir la dominance au-dessus du calcul scientifique, où les efforts en temps partagé du MAC de projet tels que CTSS et de du MIT ont gagné le foyer. Mais IBM avait commis à un projet énorme, le System/360 , qui a pris la compagnie dans une direction différente.

la communauté en temps partagé du a été déçu par le manque de S/360 de possibilités en temps partagé. Ceci a mené pour verrouiller des pertes de ventes d'IBM à MAC de projet de et à laboratoires de Bell de . Le centre scientifique (CSC) de Cambridge du d'IBM, à l'origine établi pour soutenir MAC de projet de , a commencé un effort de regagner la crédibilité d'IBM dans le partage du temps, en établissant un partage du temps du système d'exploitation pour le S/360. Ce système deviendrait par la suite le CP/CMS . Dans le même esprit, IBM a conçu et a libéré un modèle S/360 avec les configurations en temps partagé, le IBM System/360-67 , et un du système d'exploitation en temps partagé, le TSS/360 . Les SOLIDES SOLUBLES TOTAUX ont échoué ; mais le 360-67 et le CP/CMS ont réussi le &ndash ; en dépit des batailles politiques internes au-dessus du partage du temps, et des efforts concertés à IBM de ferrailler l'effort de CP/CMS.

dans le 1967 , utilisation de production de CP/CMS a commencé, d'abord sur le CP-40 , puis plus tard CP-67 aux laboratoires de Lincoln de et d'autres emplacements de CSC. Il a été rendu disponible par l'intermédiaire du Type-III la bibliothèque d'IBM de dans le 1968 . Par le 1972 , CP/CMS était passé par plusieurs dégagements ; c'était un système robuste et stable fonctionnant sur 44 systèmes ; il pourrait soutenir 60 utilisateurs en temps partagé sur un S/360-67 ; et au moins deux fournisseurs commerciaux de partage du temps ( CSS national et IDC ) revendaient le temps S/360-67 using la technologie de CP/CMS.

dans le 1972 , IBM a annoncé l'addition de la mémoire virtuelle virtuelleee à la série S/370, avec le &ndash du système d'exploitation du VM/370 ; un reimplementation de CP/CMS pour le S/370. Ceci a marqué l'extrémité des dégagements de CP/CMS, bien que le système ait continué son existence indépendante pendant quelque temps. Les dégagements de la VM ont continué à inclure le code source pendant quelque temps, et les membres de la communauté de VM sont longtemps demeurés les contribuants actifs.

Architecture< ! -- Cette section est liée du IBM CP-40 . Voir -->

L'architecture du CP/CMS était révolutionnaire pendant son temps. Le système s'est composé d'un programme de gestion de virtualisation (CP) qui a créé les machines virtuelles (VMs) de indépendant de multiple. La virtualisation était possible en raison de deux éléments du IBM System/360-67 :
Ségrégation des instructions privilégiées « d'état de surveillant » des instructions normales « d'état de problème »
Matériel de traduction d'adresse Quand un programme fonctionnait dans « l'état de problème  », using une instruction privilégiée ou une adresse de mémoire inadmissible ferait soulever le matériel une condition d'exception. En emprisonnant ces conditions, le CP a pu simuler le comportement approprié, par exemple effectuant l'entrée-sortie ou paginant des opérations. Un invité du système d'exploitation, qui courrait dans « l'état de surveillant  » sur une machine nue, a été couru dans « l'état de problème  » sous le CP.

Le résultat était un environnement plein-virtualisé. Chaque machine virtuelle a eu son propre ensemble d'appareils standard, tracé du vrai environnement de matériel du système. (Ainsi un télétype commuté donné a été présenté à son exemple de VM en tant que sa console virtuelle de .)

N'importe quel S/360 du système d'exploitation pourrait en fait être couru sous le CP, mais les utilisateurs normaux ont couru le &ndash de CMS (système de moniteur de Cambridge de ) ; un du système d'exploitation simple et à utilisateur unique. Utilisateurs permis par CMS pour lancer des programmes et pour contrôler leurs appareils standard. (L'essai et le développement du CP lui-même ont été faits en tirant une pleine copie de CP/CMS à l'intérieur d'une machine virtuelle simple. Le travail du système d'exploitation d'un certain CP/CMS, tel que le développement CP-370 et l'essai de MVS, a couru quatre ou les piles profondes de cinq niveaux de matériel et de simulations d'OS.)

La conception de CP/CMS était un départ à d'autres logiciels d'exploitation monolithiques d'IBM. " complexe isolé par CP/CMS ; grand system" ; problèmes (expédiant, gestion de matériel, mémoire de masse, etc.) de " ; peu de system" ; les possibilités ont eu besoin par un utilisateur simple (exécution de programme d'application, entrée-sortie de dossier, entrée-sortie de console, etc. Chaque composant était plus simple en conséquence. L'isolement des utilisateurs a entre eux amélioré la stabilité de système : un bogue dans un logiciel de l'utilisateur n'a pas pu se briser le CMS d'un autre utilisateur, ni le CP fondamental. Cette architecture atteindrait finalement son apothéose dans des logiciels d'exploitation de Microkernel .

La décision d'IBM pour mettre en application ces la virtualisation et le les dispositifs de la mémoire virtuelle que virtuelleee dans le S/370 suivant conçoivent (bien que manquant de la série S/370 initiale) reflète le succès de l'approche du CP/CMS .

Terminologie relative


CP de

: Programme de gestion de . CP-40 et CP-67 étaient des réalisations pour le S/360-40 adapté aux besoins du client et le S/360-67 standard de CSC, respectivement.
CMS de

: Système de moniteur de Cambridge de . Cette partie du système de CP/CMS a été retitrée le système de moniteur conversationnel quand IBM a libéré VM/370. À la différence de la transition CP-à-VM, cependant, qui était un reimplementation, beaucoup de CMS a été entré sans modification de CP/CMS dans VM/370.
VM de

: La machine virtuelle de , au commencement la limite la pseudo-machine limite a été utilisée, mais bientôt la machine virtuelle de a été empruntée au projet d'IBM M44/44X . Elle était bien établie dans CP/CMS avant qu'IBM ait présenté VM/370.

hypervisor : un mécanisme pour le Paravirtualization . Cette limite a été inventée dans le reimplementation d'IBM de CP-67 comme VM/370.

Voir également

Virtualisation et Hypervisor , parce que concepts frayés par CP/CMS
articles OS-spécifiques : IBM M44/44X , CP-40 , VP/CSS , VM DE
IBM System/360-67
Articles historiques
Histoire de de CP/CMS
Histoire de d'IBM
Centre scientifique de Cambridge de
Laboratoire de Lincoln de
en temps partagé

.

Random links:MPEG-1 couche audio II | Waldo Vieira | Perte (album) | Salvador E. Felices | Conclave papale, 1829 | CP/CMS