BTRON
BTRON is one of the subprojects of the TRON Project proposed by Ken Sakamura, which is responsible for the business phase. It refers to the operating systems, keyboards, peripheral interface specifications, and other items related to personal computers that were developed there.
Originally, it refers to specifications rather than specific products, but in reality, the term "BTRON" is often used to refer to implementations. Currently, Personal Media Corporation's B-right/V is an implementation of BTRON3, and a software product called "Cho-Kanji" that includes it has been released.
Specifications
As with other TRON systems, only the specification of BTRON has been formulated, and the implementation method is not specified. Implementation is mentioned in this section to the extent necessary to explain the specification, but please refer to the Implementation section for details.BTRON1, BTRON2, BTRON3
The BTRON project began with Matsushita Electric Industrial and Personal Media prototyping "BTRON286," an implementation on a 16-bit CPU 286 for the CEC machine described below. BTRON1 specifications include the BTRON1 Programming Standard Handbook, which describes the OS API, and the BTRON1 Specification Software Specification. which describes the OS API.BTRON2 is planned to be implemented on TRONCHIP, and only the specification has been created and published. It is planned to be implemented on evaluation machines equipped with TRON chips made by Fujitsu and named "2B". One of its features is that all OS-managed computing resources such as memory, processes, and threads are handled in a real/pseudomorphic model, a feature of BTRON.
SIGBTRON's TRON chip machine MCUBE implemented "3B," which is 32-bit and uses an ITRON-specification RTOS for the microkernel. 3B and The B-right specification used in Cho-Kanji, etc. is "BTRON3" ; the specification that B-right/V conforms to is published as the BTRON3 specification.
μBTRON
This is a BTRON subset that was envisioned as a popular version. With the performance of computer hardware at the time of its conception, a computer that can implement the ideal BTRON would be a workstation-class computer, so it is also positioned as BTRON for general households.BTRON is a subset of a dedicated machine with fixed applications, and is based on the concept of a "dedicated communication machine. Specific applications include "communication with oneself ", "communication with others ", and "communication with machines".
Linkage with the last peripheral device was envisioned as the key to adding functions to a dedicated machine to which no additional programs could be added. This peripheral device was called "electronic stationery". For communication with these peripherals, a prototype of the real-time "μBTRON bus" was developed. Note that BrainPad TiPO, a BTRON-equipped PDA realized later, was given the name "electronic stationery" and also called μBTRON, but it was not subsumed to become a dedicated machine and did not implement the μBTRON bus.
Hardware
TRON keyboard
Although it does not bear the BTRON moniker, the TRON keyboard is intended for use with BTRON.μBTRON bus
The basic specification is based on IEEE 802.5 with modifications. A real-time bus specification for LANs that can be considered as an alternative to MIDI.Other references in this section:
Features
TAD
For data handled by BTRON, a basic format for exchange called TAD has been defined, and basic data can be freely exchanged between arbitrary applications, advocating Databus. Standards have been established for text and graphics, and for the rest, a header indicating the length of the chunks is common at the beginning, so that applications can skip over unsupported data if they find it. Data chunks are referred to as segments in the BTRON specification, etc.In addition, since the TRON chip was big-endian, TAD was also designed in big-endian, but when BTRON286 was implemented, a quasi-TAD that was modified to little-endian was defined, and the current widely used implementations are all in that format, including the one on MCUBE that uses the TRON chip.
Image data is defined in the direction of adapting to any hardware scheme, including palette and direct specification, packed pixels and planes, and so on. Both are solid, uncompressed. For compression, only the MH method for black and white images was defined. There are working implementations of moving images, but there is no description of any time axis within the published TAD specification. In actual applications, there are some that store their own data as TAD segments according to TAD policy, but there are also some that read and write records directly instead of using TAD.
Real body/pseudo body
BTRON adopts a network-type model with an arbitrary directed graph structure called a real/pseudomorphic model as a file management model, instead of the conventional tree structure model with directories. BTRON2 also manages all computer resources in a real/pseudo model. As for the functions provided to users, the real/pseudomodel of BTRON is a convenient hypertext environment.In the past, files and folders were used to distinguish between entities that contain data and indexes that point to them, but BTRON has done away with such distinction. In the body/pseudo-body model, the entire body of data is defined as a Real Object, and the part of the Real Object that points to another Real Object is defined as a Virtual Object.
A real body is like a file in the sense that it holds data, but it is also like a folder in the sense that it has the ability to point to another real body by the temporary body it contains as its contents.
While almost all current UNIX do not allow the creation of alias hard links that point to directories, BTRON's real/pseudo links are like hard links that can freely create arbitrary links including such links. In Unix, a link to the parent indicated by "..." is used. In Unix, the fact that there is only one link to the parent indicated by "..." is a problem, but this is not a problem in BTRON because it has abandoned tree-like management in the first place.
Confirmation that the real body is no longer referenced by deleting a link is done by the reference count method, as in the Unix file system, but since arbitrary structures are allowed, as is well known as a weakness of the reference-counting method, loops can cause the file system to occupy disk space even though it cannot be reached from anywhere. Currently, a function is implemented to check for such entities by disconnecting the file system or booting the system in a special state and performing a check similar to fsck as well as the so-called stop-the-world method of garbage collection. In addition, most of the previous versions of the software
Also, unlike most previous file systems, the name is basically not used for identification on the system side, so the user can give a name freely.
Currently, BTMemo for Windows is available as software that reproduces the feeling of using BTRON.
The existing implementations of BTRON3 and BTRON1 realize the above functions on a file system with multi-record functions: one file corresponds to one entity, has a record containing the data body, and also has a "link record" that points to a file corresponding to the entity to which the temporary body contained by the entity points. In addition, there is a "link record" that points to the file corresponding to the real body to which the temporary body that the real body contains points. Because of this design, the real body data by TAD itself is not affected by the way links are represented in the underlying system.
Problems
One of the problems currently occurring is that only a maximum of 64Ki files can be placed on a single volume due to the implementation of the file system inherited from BTRON286, and the number of real bodies is limited accordingly. It has been pointed out that the number of real bodies is limited accordingly. The current release of Cho-Kanji V has the same limitation.This is because the file ID is a fixed-length integer of 16 bits, and it is difficult to extend it while maintaining binary compatibility with the current system. Therefore, a redesign and implementation is needed to extend this real body constraint.
Real-time operation
The BTRON-specification OS is a real-time OS, capable of stably processing tasks that require real-time processing, such as video and audio. BTRON3 uses ITRON as a microkernel, and although care must be taken to avoid memory page-out, real-time processing is possible.In Windows, the graphics card driver is tuned by the manufacturer, while in BTRON there is no such graphics acceleration, etc., so screen rewriting can feel slow. BTRON has short boot time, though it stems from its limited number of daemons and supported devices, which makes it less of an advantage compared to other operating systems.
HMI
Not only BTRON, but the TRON project has also standardized the human-machine interface and published it as the TRON Human Interface Standard Handbook, and BTRON's user interface is designed in accordance with this.Direct Operation
In BTRON, basically everything on the screen can be operated with a pointing device such as a mouse or electronic pen. To make it easy even for users who are not familiar with computers, not only can the size of the window be changed, but also the selection text and graphics can be dragged and dropped directly onto drag and drop to move or copy.Application launching is basically done by double-clicking or otherwise launching a temporary body that represents the actual body of a document, etc. This is the same operation as selecting an application based on meta-information such as file type and creator in Mac OS and extension linking in Windows, but BTRON In BTRON, there is basically no other way to start an application.
For example, when transcribing a new text, an application is first launched without specifying the editing target, whereas in BTRON, a template of the real body is registered along with the application, and work is started by duplicating the real body. To be more specific, open a special window called "Gather Source Papers", and from there drag a pseudo-form called "Manuscript Paper" for editing text, and drop it into the desired window. (Normally, this operation is to move the pseudostat, but due to the peculiarities of the "Paper Gathering" application, the real body of the new document is duplicated and a pseudostat is created that points to the real body.
Operations common in other operating systems, such as starting an application first and then creating a new document or loading an existing document, are not possible with BTRON. Some people find it easy to understand because it matches real-world actions such as "preparing a new paper or an existing document before writing", while others find it difficult to understand unlike other OSs. The style of selecting the subject of the operation first and then instructing the operation on it is similar to the Xerox Star or the Smalltalk system, which was more object-oriented.