62-521: VME may refer to: Computing [ edit ] ICL VME , (Virtual Machine Environment) a mainframe computer operating system developed by International Computers Limited VMEbus , the ANSI/IEEE computer hardware bus standard Virtual machine escape is the process of breaking out of a virtual machine and interacting with the host operating system Virtual Mode Extensions , an undocumented extension of
124-490: A command file , and creation of executable scripts or programs (when the language is compiled into object module format in the same way as any other VME programming language). The declaration of a procedure within SCL also acts as the definition of a simple form or template allowing the procedure to be invoked from an interactive terminal, with fields validated according to the data types of the underlying procedure parameters or using
186-622: A Belgian bank was still using EBCDIC internally in 2019. A customer insisted that the correct spelling of his surname included an umlaut , which the bank omitted, and the customer filed a complaint citing the guarantee in the General Data Protection Regulation of the right to timely "rectification of inaccurate personal data." The bank's argument included the fact that their system used EBCDIC, as well as that it did not support letters with diacritics (or lower case, for that matter). The appeals court ruled in favor of
248-468: A Secure System, in particular the hardware assisted Access Control Registers (ACR) to limit to privileges that could be taken by any process (including Users). This led to the UK Government's Central Computing and Telecommunications Agency ( CCTA ) funding Project Spaceman in the mid 1980s for ICL Defence Technology Centre (DTC) to develop an enhanced security variant of VME. ICL launched this as
310-482: A VM in VME is closer to the concept of a process in other operating systems, while a VME process (or application-created sub-process) is more like a thread in other systems. However, processes running within a VM cannot run concurrently and thus resemble user threads found in other systems. A dedicated instruction is involved in the transfer of control between processes sharing the same VM. The allocation of resources to
372-470: A file name is a generation number. The operating system associates a generation number with every file, and requests for a file get the latest generation unless specified otherwise. Creating a new file will by default create the next generation and leave the previous generation intact; this program however is deliberately choosing to create generation 101, to identify a public release. As a result of ICL's heavy involvement with delivery of computer services to
434-456: A hosted Unix facility for VME in 1985, with availability and support for strategic applications to arrive within eighteen months. This facility, supporting SVR1 , was reportedly in "field trials" and was to be upgraded to SVR2 prior to a general release in the summer of 1987. Limited availability was then announced to existing VME customers, with others being guided towards ICL's Clan range of Unix departmental systems. In October 1987, ICL made
496-624: A manner specified by IBM's Character Data Representation Architecture (CDRA). Although the default mapping of New Line (NL) corresponds to the ISO/IEC 6429 Next Line (NEL) character (the behaviour of which is also specified, but not required, in Unicode Annex 14), most of these C1-mapped controls match neither those in the ISO/IEC 6429 C1 set , nor those in other registered C1 control sets such as ISO 6630 . Although this effectively makes
558-518: A new operating system. A number of different feasibility and design studies were carried out within ICL, the three most notable being: The chief architect of VME/B was Brian Warboys , who subsequently became professor of software engineering at the University of Manchester . A number of influences can be seen in its design, for example Multics and ICL's earlier George 3 operating system; however it
620-496: A new stack frame on the stack for the relevant process, handling the interrupt using this new environment, and then popping the stack to return to the interrupted process. Run-time exceptions, referred to as contingencies , are captured by the Object Program Error Handler (OPEH), which can produce a report (equivalent to a stack trace ), either interactively or written to a journal. Compiled object code
682-462: A pair of complementary products, with the commercial release being called High Security Option (HSO), and the public sector release, including Government Furnished Encryption (GFE) technologies, being called Government Security Option (GSO). HSO and GSO were formally tested under the CESG UK (Security) Evaluation Scheme, one of the predecessors to ITSEC and Common Criteria , and in doing so became
SECTION 10
#1732771849839744-500: A resource at a particular access level, it must have an access key offering access to that level. The concept is similar to the "rings of protection" in Multics . The architecture allows 16 access levels, of which the outer 6 are reserved for user-level code. Orthogonally to the access levels, the operating system makes resources available to applications in the form of a Virtual Machine (VM). A VM can run multiple processes. In practice,
806-483: A standard part of the operating system, nor were they explicitly marketed as products in their own right. Both SFL and S3 were however available as options to user organisations and third parties who had a specific need for them. EBCDIC Extended Binary Coded Decimal Interchange Code ( EBCDIC ; / ˈ ɛ b s ɪ d ɪ k / ) is an eight- bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems. It descended from
868-422: A virtual machine uses a stack model: when the stack is popped, all resources allocated at that stack level are released. Calls from an application to the operating system are therefore made by a call that retains the same process stack, but with a change in protection level; the resulting efficiency of system calls is one of the features that makes the architecture competitive. Communication between Virtual Machines
930-477: Is achieved by means of Events (named communication channels) and shared memory areas. The hardware architecture also provides semaphore instructions INCT (increment-and-test) and TDEC (test-and-decrement). Files and other persistent objects are recorded in a repository called the Catalogue. The file naming hierarchy is independent of the location of a file on a particular tape or disk volume. In days where there
992-477: Is also available. This was used for the development of VME/K, whose designers were not confident that a high-level language could give adequate performance, and also for the IDMS database system on account of its origins as a third-party product. SFL was originally called M acro A ssembler P rogramming L anguag E (MAPLE), but as the 2900 architecture was being positioned as consisting of high level language machines
1054-559: Is block-structured, with begin/end blocks serving the dual and complementary roles of defining the lexical scope of variable declarations, and defining the points at which resources acquired from the operating system should be released. Variables in the language (which are accessible from applications in the form of environment variables ) can have a number of simple types such as strings, superstrings (sequences of strings), booleans, and integers, and are also used to contain references to system resources such as files and network connections. It
1116-512: Is different from Wikidata All article disambiguation pages All disambiguation pages ICL VME VME ( Virtual Machine Environment ) is a mainframe operating system developed by the UK company International Computers Limited (ICL, now part of the Fujitsu group). Originally developed in the 1970s (as VME/B , later VME 2900 ) to drive ICL's then new 2900 Series mainframes,
1178-544: Is interesting that a PL/I subset compiler was written by the EEC, to assist in porting programs from IBM to ICL hardware. The compilers developed within ICL share a common architecture, and in some cases share components such as code-generators. Many of the compilers used a module named ALICE [Assembly Language Internal Common Environment] and produced an early form of precompiled code (P-Code) termed ROSE, making compiled Object Module Format (OMF) libraries loadable on any machine in
1240-399: Is known as SCL (System Control Language). This is much more recognizably a typed high-level programming language than the job control or shell languages found in most other operating systems: it can be likened to scripting languages such as JavaScript , though its surface syntax is derived from Algol 68 . SCL is designed to allow both line-at-a-time interactive use from a console or from
1302-594: Is maintained in a format called OMF (Object Module Format), which is both the compiler output and the format used by the loader. Various compilers are available, as well as utilities, notably the Collector, which links the code in several OMF modules into a single module, for more efficient loading at run-time, and the Module Amender, which allows patching of the instructions in an OMF module to fix bugs, using assembly language syntax. The command language for VME
SECTION 20
#17327718498391364-507: Is possible to "disassemble" an SCL program from OMF back into SCL source code using the READ_SCL (or RSCL) command. However the output is not always perfect, and will often include errors that would stop re-compilation without user intervention. A simple code example can be seen on the 99 bottles of beer website. A more realistic example, where SCL is used to compile a program written in S3 ,
1426-597: Is shown below. This example is taken from the Columbia University Archive of implementations of Kermit . Commands illustrated in this fragment include WHENEVER (declares error handling policy), ASSIGN_LIBRARY (binds a local name for a file directory), DELETE_FILE (Makes a permanent file temporary, and it is then deleted at the END of the block), S3_COMPILE (compiles a program written in S3: this command breaks
1488-576: The EBCDIC character set are made in the 1979 computer game series Zork . In the "Machine Room" in Zork II , EBCDIC is used to imply an incomprehensible language: This is a large room full of assorted heavy machinery, whirring noisily. The room smells of burned resistors. Along one wall are three buttons which are, respectively, round, triangular, and square. Naturally, above these buttons are instructions written in EBCDIC... In 2021, it became public that
1550-606: The EBCDIC variants and how to convert between them is still internally classified top-secret, burn-before-reading. Hackers blanch at the very name of EBCDIC and consider it a manifestation of purest evil. EBCDIC design was also the source of many jokes. One such joke, found in the Unix fortune file of 4.3BSD Reno (1990) went: Professor: "So the American government went to IBM to come up with an encryption standard , and they came up with—" Student: "EBCDIC!" References to
1612-569: The Intel Pentium in v86 mode, "Virtual 8086 Mode Enhancements" in later Intel processors vme , a flag in a modern x86 CPU indicating support of Virtual 8086 mode VME (CONFIG.SYS directive) , a configuration directive under OS/2 Other uses [ edit ] V-me , a Spanish-language TV network in the United States Voices Music & Entertainment , a Norwegian record label Topics referred to by
1674-656: The SV221 release of VME available with support for running SVR2 as a VME Unix System guest. This implementation, described as an "unmarketed" product also known as VNS, informed the design of VME/X, a largely new implementation that was itself released in 1991 and recognised as XPG3 compliant, with XPG4 base 1 compliance following in 1992. In 2007 Fujitsu announced a VME version run as a hosted subsystem, called superNova , within Microsoft Windows , or SUSE or Red Hat Enterprise Linux on x86-64 hardware. In 2012
1736-552: The UK Public Sector, in particular those with special security requirements such as OPCON CCIS , it was an early entrant into the market for Secure Systems . VME formed a core of ICL's activities in the Secure Systems arena. It had the advantage that as the last large-scale operating system ever designed, and one built from scratch, its underlying architecture encompassed many of the primitives needed to develop
1798-500: The VME user group, AXiS, announced that after almost 40 years it would be disbanding because of the reduced user base. Fujitsu intended to support VME on customer computers until 2020. In 2020 Fujitsu transferred 13 HM Revenue and Customs applications from their computers onto Fujitsu's virtual managed VME hosting platform. As of 2021, the Department for Work and Pensions completely replaced its VME based systems, following
1860-469: The absence of several ASCII punctuation characters fairly important for modern computer languages (exactly which characters are absent varies according to which version of EBCDIC you're looking at). IBM adapted EBCDIC from punched card code in the early 1960s and promulgated it as a customer-control tactic (see connector conspiracy ), spurning the already established ASCII standard. Today, IBM claims to be an open-systems company, but IBM's own description of
1922-408: The absence of use for other purposes), so this mapping is permissible in, but not specified by, Unicode. The following code pages have the full Latin-1 character set (ISO/IEC 8859-1). The first column gives the original code page number. The second column gives the number of the code page updated with the euro sign (€) replacing the universal currency sign (¤) (or in the case of EBCDIC 924, with
VME - Misplaced Pages Continue
1984-536: The capability to run on any node and to be relocated from one node to another. Discs and other peripherals are shared between nodes. Nodes are connected using a high-speed optical bus, which is used to provide applications with a virtual shared memory. Memory segments that are marked as shared (public or global segments) are replicated to each node, with updates being broadcast over the inter-node network. Processes which use unshared memory segments (nodal or local) run in complete isolation from other nodes and processes. VME
2046-464: The code used with punched cards and the corresponding six-bit binary-coded decimal code used with most of IBM's computer peripherals of the late 1950s and early 1960s. It is supported by various non-IBM platforms, such as Fujitsu-Siemens ' BS2000/OSD , OS-IV, MSP, and MSP-EX, the SDS Sigma series , Unisys VS/9 , Unisys MCP and ICL VME . EBCDIC was devised in 1963 and 1964 by IBM and
2108-404: The completion of its award winning VME-R replacement programme. VME is structured as a set of layers, each layer having access to resources at different levels of abstraction. Virtual resources provided by one layer are constructed from the virtual resources offered by the layer below. Access to the resources of each layer is controlled through a set of Access Levels: in order for a process to use
2170-431: The default procedure parameter values. The built-in command vocabulary uses a consistent naming convention with an imperative verb followed by a noun: for example DELETE_FILE or DISPLAY_LIBRARY_DETAILS. The command can be written in full, or in an abbreviated form that combines standard abbreviations for the verb and noun: for example XF (X for DELETE, F for FILE) or DLBD (D for DISPLAY, LB for LIBRARY, D for DETAILS). SCL
2232-469: The early 1990s onwards, some entirely new VME subsystems were written partly or wholly in the C programming language . From its earliest days, VME was developed with the aid of a software engineering repository system known as CADES , originally designed and managed by David Pearson (computer scientist) and built for the purpose using an underlying IDMS database. CADES is not merely a version control system for code modules: it manages all aspects of
2294-454: The first mainstream operating system to be formally Certified. The Series 39 range introduced Nodal Architecture, a novel implementation of distributed shared memory that can be seen as a hybrid of a multiprocessor system and a cluster design. Each machine consists of a number of nodes , and each node contains its own order-code processor (CPU) and main memory. Virtual machines are typically located (at any one time) on one node, but have
2356-512: The form of the "BONVME" option. The "2900" suffix was dropped at System Version 213 (SV213) when ICL launched Series 39 in 1985 as the successor to the original 2900 series, and the "Open" prefix was added after SV294. VME became capable of hosting applications written originally for Unix through a UNIX System V Release 3 based subsystem, called VME/X, adapted to run under VME and using the ASCII character encoding. ICL had originally announced
2418-506: The hardware level, to accelerate translation between character sets. Not all operating systems running on IBM hardware use EBCDIC; IBM AIX , Linux on IBM Z , and Linux on Power all use ASCII, as do all operating systems that run on the IBM Personal Computer and its successors. There were numerous difficulties to writing software that would work in both ASCII and EBCDIC. There are hundreds of EBCDIC code pages based on
2480-516: The invariant subset works only for languages using the ISO basic Latin alphabet , such as English (excluding loanwords and some uncommon orthographic variations) and Dutch (if the "ij" and "IJ" ligatures are written as two characters). Following are the definitions of EBCDIC control characters which either do not map onto the ASCII control characters , or have additional uses. When mapped to Unicode, these are mostly mapped to C1 control character codepoints in
2542-569: The large majority of VME users wrote applications in COBOL , usually making use of the IDMS database and the TPMS transaction processing monitor. Other programming languages included Fortran , Pascal , ALGOL 68RS , Coral 66 and RPG2 , but these served minority interests. Later, in the mid 1980s, compilers for C became available, both within and outside the Unix subsystem, largely to enable porting of software such as relational database systems. It
VME - Misplaced Pages Continue
2604-512: The name was changed at the request of ICL Marketing. It had been developed as a part of the toolkit for System D, which was subsequently cancelled. Related families of assemblers for other architectures (CALM-xx running under VME, PALM-xx developed in Pascal and running on various hosts) were developed for internal use. Neither S3 nor SFL was ever promoted as a commercial development tool for end-user applications, as neither were normally delivered as
2666-472: The names of the input and output modules; SUPPRESS and RETAIN determine the external visibility of named procedures within the collected module; and LISTMODULE requests a report describing the output module. Note that "." is used to separate the parts of a hierarchic file name. A leading asterisk denotes a local name for a library, bound using the ASSIGN_LIBRARY command. The number in parentheses after
2728-706: The non-ASCII EBCDIC controls a unique C1 control set, they are not among the C1 control sets registered in the ISO-IR registry, meaning that they do not have an assigned control set designation sequence (as specified by ISO/IEC 2022 , and optionally permitted in ISO/IEC 10646 (Unicode)). Besides U+0085 (Next Line), the Unicode Standard does not prescribe an interpretation of C1 control characters, leaving their interpretation to higher level protocols (it suggests, but does not require, their ISO/IEC 6429 interpretations in
2790-470: The operating system is now known as OpenVME incorporating a Unix subsystem, and runs on ICL Series 39 and Trimetra mainframe computers, as well as industry-standard x64 servers. The development program for the New Range system started on the merger of International Computers and Tabulators (ICT) and English Electric Computers in 1968. One of the fundamental decisions was that it would feature
2852-469: The original EBCDIC character encoding; there are a variety of EBCDIC code pages intended for use in different parts of the world, including code pages for non-Latin scripts such as Chinese, Japanese (e.g., EBCDIC 930, JEF, and KEIS), Korean, and Greek (EBCDIC 875). There is also a huge number of variations with the letters swapped around for no discernible reason. The table below shows the "invariant subset" of EBCDIC, which are characters that should have
2914-423: The range. . The primary language used for developing both the VME operating system itself and other system software such as compilers and transaction processing monitors is S3 . This is a high level language based in many ways on Algol 68 , but with data types and low-level functions and operators aligned closely with the architecture of the 2900 series. An assembly language SFL ( S ystem F unction L anguage)
2976-584: The same assignments on all EBCDIC code pages that use the Latin alphabet. (This includes most of the ISO/IEC 646 invariant repertoire, except the exclamation mark .) It also shows (in gray) missing ASCII and EBCDIC punctuation, located where they are in Code Page 37 (one of the code page variants of EBCDIC). The blank cells are filled with region-specific characters in the variants, but the characters in gray are often swapped around or replaced as well. Like ASCII,
3038-402: The same term [REDACTED] This disambiguation page lists articles associated with the title VME . If an internal link led you here, you may wish to change the link to point directly to the intended article. Retrieved from " https://en.wikipedia.org/w/index.php?title=VME&oldid=905759005 " Category : Disambiguation pages Hidden categories: Short description
3100-534: The set changed to match ISO 8859-15 ) Different countries have different code pages because these code pages originated as code pages with country-specific character repertoires, and were later expanded to contain the entire ISO 8859-1 repertoire, meaning that a given ISO 8859-1 character may have different code point values in different code pages. They are known as Country Extended Code Pages ( CECP s). Open-source software advocate and software developer Eric S. Raymond writes in his Jargon File that EBCDIC
3162-508: The software lifecycle from requirements capture, design methodology and specification through to field maintenance. CADES was used in VME module development to hold separate definitions of data structures (Modes), constants (Literals), procedural interfaces and the core algorithms. Multiple versions ('Lives') of each of these components could exist. The algorithms were written in System Development Language (SDL), which
SECTION 50
#17327718498393224-461: The usual verb-noun convention), NEW_MESSAGE_TEXT_MODULE (creates a module containing parameterized error messages suitable for localization) and COMPILE_SCL, which compiles an SCL program into object code. The COLLECT command combines different object code modules into a single module, and is driven by its own local command file which is incorporated inline in the SCL between the delimiters "----" and "++++". The sub-commands INPUT and NEWMODULE identify
3286-547: Was announced with the release of the IBM System/360 line of mainframe computers . It is an eight-bit character encoding, developed separately from the seven-bit ASCII encoding scheme. It was created to extend the existing Binary-Coded Decimal (BCD) Interchange Code, or BCDIC , which itself was devised as an efficient means of encoding the two zone and number punches on punched cards into six bits. The distinct encoding of 's' and 'S' (using position 2 instead of 1)
3348-582: Was brought into ICL: Christophor Laidlaw as Chairman, and Robb Wilmot as Managing Director. An early decision of the new management was to drop VME/K. Thus in July 1981, VME 2900 was launched. Although presented to the customer base as a merger of VME/B and VME/K, it was in reality the VME/B base with a few selected features from VME/K grafted on. This provided the opportunity to drop some obsolescent features, which remained available to customers who needed them in
3410-487: Was developed independently (according to Campbell-Kelly, "on a whim of Ed Mack"), and was delivered later with the smaller mainframes such as the 2960. At the time VME/B was still plagued with performance and reliability problems, and the mainly American management team had misgivings about it. There was also a project known as System D, which was an advanced, highly modular operating system designed for configuring and building customized near real-time applications. Although it
3472-597: Was essentially designed from scratch. VME/B was viewed as primarily competing with the System/370 IBM mainframe as a commercial operating system, and adopted the EBCDIC character encoding . When New Range was first launched in October 1974, its operating system was referred to as "System B". By the time it was first delivered it had become "VME/B". VME/K (originally known internally as "System T" for "Tiny")
3534-439: Was loathed by hackers, by which he meant members of a subculture of enthusiastic programmers. The Jargon File 4.4.7 gives the following definition: EBCDIC: /eb´s@·dik/, /eb´see`dik/, /eb´k@·dik/, n. [abbreviation, Extended Binary Coded Decimal Interchange Code] An alleged character set used on IBM dinosaurs. It exists in at least six mutually incompatible versions, all featuring such delights as non-contiguous letter sequences and
3596-964: Was maintained from punched cards where it was desirable not to have hole punches too close to each other to ensure the integrity of the physical card. While IBM was a chief proponent of the ASCII standardization committee, the company did not have time to prepare ASCII peripherals (such as card punch machines) to ship with its System/360 computers, so the company settled on EBCDIC. The System/360 became wildly successful, together with clones such as RCA Spectra 70 , ICL System 4 , and Fujitsu FACOM, thus so did EBCDIC. All IBM's mainframe operating systems , and its IBM i operating system for midrange computers , use EBCDIC as their inherent encoding (with toleration for ASCII, for example, ISPF in z/OS can browse and edit both EBCDIC and ASCII encoded files). Software can translate to and from encodings, and modern mainframes (such as IBM Z ) include processor instructions, at
3658-519: Was more need for offline storage, this made it easy to keep track of files regardless of their location, and to move files between locations without renaming them. As well as files, the Catalogue keeps track of users and user groups, volumes, devices, network connections, and many other resources. Metadata for files can be held in an object called a File Description. The Catalogue was probably the first example of what would later be called an entity-relationship database. Interrupts are handled by creating
3720-462: Was originally written almost entirely in S3 , a specially-designed system programming language based on Algol 68R (however, VME/K was written primarily in the SFL assembly language). Although a high-level language is used, the operating system is not designed to be independent of the underlying hardware architecture: on the contrary, the software and hardware architecture are closely integrated. From
3782-435: Was then converted to S3 source by a pre-processor. Multiple versions of the same modules could be generated. The application development tools offered with VME fall into two categories: The toolset on VME is unusually homogeneous, with most customers using the same core set of languages and tools. As a result, the tools are also very well integrated. Third-party tools have made relatively little impression. For many years
SECTION 60
#17327718498393844-541: Was used to bid on a system for British Rail it was subsequently cancelled because of engineering resource constraints. ICL had sold a large system to the European Space Agency to process data from Meteosat at its operation centre in Darmstadt . A bespoke variant of VME/K, known as VME/ESA was developed on-site to meet the customer's requirements. Following a financial crisis in 1980, new management
#838161