DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦747ac29af⟧ Wang Wps File

    Length: 27747 (0x6c63)
    Types: Wang Wps File
    Notes: CPS/SDS/001               
    Names: »1372A «

Derivation

└─⟦9046c1e66⟧ Bits:30006058 8" Wang WCS floppy, CR 0090A
    └─ ⟦this⟧ »1372A « 

WangText



…08……0b……08……0e……08……02……08……07……07……08……07……09……07……0d……07……0e……86…1    
      
      
      
      
      
      
     …02… 
      
    …02…  
 …02…     
   

…02…CPS/SDS/001

…02…OKH/820204…02……02…
CAMPS
 SYSTEM
 DESIGN
 SPECIFICATION
…02…ISSUE
 1.2…02…CAMPS









                 T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲



     5.7  FILE MANAGEMENT SYSTEM ................... 
     313
       5.7.1  General .............................. 
       313
         5.7.1.1  Purpose and Scope ................ 
         313
         5.7.1.2  Applicable Documents and Project
                  References, Special for Section
                  5.7 .............................. 
                 313
         5.7.1.3  Terms and Abbreviations Special
                  for Section 5.7 .................. 
                 313

       5.7.2  Summary of Requirements .............. 
       313
         5.7.2.1  General Description .............. 
         313
           5.7.2.1.1  Function Overview ............ 
           313
           5.7.2.1.2  Interfaces ................... 
           314

         5.7.2.2  Functions ........................ 
         317
           5.7.2.2.1 Devices ....................... 
           317
             5.7.2.2.1.1  Disk Controller and Disk 
                          Drive .................... 
                         317
             5.7.2.2.1.2  Mirrored Disks and Their
                          Management ............... 
                         321
             5.7.2.2.1.3  Bad Sectors .............. 
             322
             5.7.2.2.1.4  Naming of Devices ........ 
             322

           5.7.2.2.2  Volumes ...................... 
           323
             5.7.2.2.2.1  Volume Label ............. 
             323
             5.7.2.2.2.2  Volume Handling .......... 
             323
             5.7.2.2.2.3  Volume Threshold ......... 
             323
             5.7.2.2.2.4  Volume Initialization .... 
             324

           5.7.2.2.3  Files ........................ 
           325
             5.7.2.2.3.1  File Types and Their
                          Characteristics .......... 
                         325
             5.7.2.2.3.2  File Handling ............ 
             327
             5.7.2.2.3.3  File Catalogues and Naming 
             328
             5.7.2.2.3.4  Data Transfer Commands ... 
             337
             5.7.2.2.3.5  Examples in File Manipula-
                          tions .................... 
                         338

           5.7.2.2.4  Security and Access Control .. 
           339
           5.7.2.2.5  Recovery ..................... 
           342



         5.7.2.3  FMS Control ...................... 
         342
           5.7.2.3.1  Parameter Control ............ 
           342
           5.7.2.3.2  Initialization ............... 
           342
           5.7.2.3.3  Error Handling ............... 
           342

         5.7.2.4  FMS Characteristics .............. 
         343

         5.7.2.5  Design and Construction .......... 
         343
         5.7.2.6  Documentation .................... 
         343

       5.7.3  Environment .......................... 
       343
         5.7.3.1  Standard Hardware, Firmware, and
                  Software ......................... 
                 343
         5.7.3.2  External Interfaces .............. 
         343
         5.7.3.3  Package Interfaces ............... 
         343



5.7      F̲I̲L̲E̲ ̲M̲A̲N̲A̲G̲E̲M̲E̲N̲T̲ ̲S̲Y̲S̲T̲E̲M̲



5.7.1    G̲e̲n̲e̲r̲a̲l̲



5.7.1.1  P̲u̲r̲p̲o̲s̲e̲ ̲a̲n̲d̲ ̲S̲c̲o̲p̲e̲

         The "File Management System" (FMS) and the "Message
         Management System" (MMS) together form the "Storage
         and File Management Package" (SFM). This term is still
         used as a common name, but with the advent of Preliminary
         Design, the description has been partitioned into Section
         5.7 FMS and Section 5.8 MMS.

         FMS is the basic DAMOS part of SFM whereas MMS is the
         specific CAMPS part of it.



5.7.1.2  A̲p̲p̲l̲i̲c̲a̲b̲l̲e̲ ̲D̲o̲c̲u̲m̲e̲n̲t̲s̲ ̲a̲n̲d̲ ̲P̲r̲o̲j̲e̲c̲t̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲ ̲S̲p̲e̲c̲i̲a̲l̲
         ̲f̲o̲r̲ ̲S̲e̲c̲t̲i̲o̲n̲ ̲5̲.̲7̲

         "Storage and File Management" CPS/SDS/016.



5.7.1.3  T̲e̲r̲m̲s̲ ̲a̲n̲d̲ ̲A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲ ̲S̲p̲e̲c̲i̲a̲l̲ ̲f̲o̲r̲ ̲S̲e̲c̲t̲i̲o̲n̲ ̲5̲.̲7̲

         N/A



5.7.2    S̲u̲m̲m̲a̲r̲y̲ ̲o̲f̲ ̲R̲e̲q̲u̲i̲r̲e̲m̲e̲n̲t̲s̲



5.7.2.1  G̲e̲n̲e̲r̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲



5.7.2.1.1    F̲u̲n̲c̲t̲i̲o̲n̲ ̲O̲v̲e̲r̲v̲i̲e̲w̲

         Manages all disk and floppy disk storage except the
         areas used for virtual memory.



         Controls directly the use of disk controller RAM for
         tables and buffers.

         Disk space is subdivided into named files, controlled
         via hierarchies of catalogues.  Security and access
         control information for files is included in the catalogues.

         Read and write operations use relative addresses within
         files, but direct addressing of physical disk sectors
         by special privileged users is supported too.

         Mount of disk volumes with check of volume label is
         supported.  Formatting, purging and labelling of disk
         volumes are not performed directly by SFM.

         Implements the concept of mirrored disks.



5.7.2.1.2    I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         FMS is implemented as a DAMOS process and a set of
         disk and floppy disk handlers.

         Each disk handler controls one disk controller.

         User process requests are sent to a FMS REQUEST SYNCHRONIZATION
         ELEMENT common to all user processes.  Requests can
         only be sent by means of the I/O System.

         Responses are by FMS sent to a RESPONSE SYNCHRONIZATION
         ELEMENT specific to the user issuing the request. 
         Responses must also be handled in the first hand by
         I/O System.

















































     Fig. 5.7.2.1.2-1  SFM Command-Response Interface

















































Figure 5.7.2.1.2-2 SFM Interface Chart in CAMPS environment


5.7.2.2  F̲u̲n̲c̲t̲i̲o̲n̲s̲



5.7.2.2.1    D̲e̲v̲i̲c̲e̲s̲



5.7.2.2.1.1 D̲i̲s̲k̲ ̲C̲o̲n̲t̲r̲o̲l̲l̲e̲r̲ ̲a̲n̲d̲ ̲D̲i̲s̲k̲ ̲D̲r̲i̲v̲e̲ ̲C̲o̲n̲c̲e̲p̲t̲

         a1) G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲n̲c̲e̲p̲t̲

             As seen on the interface chart figure 5.7.2.1.2-1
             the disk handler is a part of FMS. The disk handler
             is a software module which controls the disk drive
             via a disk controller.

         a2) D̲i̲s̲k̲ ̲C̲o̲n̲t̲r̲o̲l̲l̲e̲r̲

             The disk controller consists of an I/O module and
             a memory module. The disk controller relationship
             to other modules is as described on figure 5.7.2.2.1.1.b.

         a3) D̲i̲s̲k̲ ̲C̲o̲n̲t̲r̲o̲l̲l̲e̲r̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

             The dual-ported disk controller provides the interface
             between the CR80D I/O busses and the disk device
             as shown on figure 5.7.2.2.1.1.c.

         a4) C̲A̲M̲P̲S̲ ̲D̲i̲s̲k̲ ̲C̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲

             The disk configuration related to CAMPS system
             is depicted in figure 5.7.2.2.1.1.d and consists
             of three disk drives and disk adaptors (DCA) each
             connected to a disk controller with memory.

















































    Figure 5.7.2.2.1.1.b…01…Disk Controller Relationship
















































                   Figure 5.7.2.2.1.1.c

















































                   figure 5.7.2.2.1.1.d


         b)  D̲i̲s̲k̲ ̲C̲o̲n̲t̲r̲o̲l̲l̲e̲r̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲a̲n̲d̲ ̲S̲t̲a̲t̲u̲s̲

             The disk controller receives commands and delivers
             status via the I/O busses. 

             Main operations are:

             Seek, Read, Write, Seek and Read, Seek and Write,
             Format, Read Address Field.

             The data used in conjunction with the above mentioned
             commands are:

             Cylinder-, head-, and sector numbers.

             Status information returned from the controller
             can be as follows:

             Write protected drive, Unexpected drive status,
             Data field check or sync. error, Address field
             check or sync. error, Sector marked as bad, Sector
             is write protected, Illegal sector, Timing error,
             Subbus overruns and parity error in controller
             memory.



5.7.2.2.1.2  M̲i̲r̲r̲o̲r̲e̲d̲ ̲D̲i̲s̲k̲s̲ ̲a̲n̲d̲ ̲T̲h̲e̲i̲r̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲

         FMS support management of mirrored disk packs, which
         are updated concurrently, to assure that data will
         not be lost in case of a hard error on one disk.

         Updating of mirrored disk pair thinking of power failure
         is achieved by first updating the sectors on the first
         volume. The same sectors on the other disk are updated
         in a succeeding process. FMS shall allow exclusion
         of one of the two identical volumes while normal service
         goes on, on the other. After repair one volume shall
         be brought to the state of the running volume while
         normal service continues.





5.7.2.2.1.3 B̲a̲d̲ ̲S̲e̲c̲t̲o̲r̲s̲

         FMS is able to handle bad sectors on each volume unless
         it is sector 0 which will mean that the volume is useless.
         Bad sectors are handled by keeping a translation table
         on each volume, from each bad sector to an alternative
         sector. Using mirrored disks the translation table
         of the two disks shall be kept identical to assure
         that all disk addresses can be interpreted in the same
         way.

         If bad sectors are detected while bringing a disk up,
         they are marked as such on both disks and both translation
         tables must be updated accordingly.



5.7.2.2.1.4 N̲a̲m̲i̲n̲g̲ ̲o̲f̲ ̲D̲e̲v̲i̲c̲e̲s̲

         a)  D̲e̲v̲i̲c̲e̲ ̲N̲a̲m̲e̲s̲

             Each device, which is used by the system or will
             be used, is referenced by a device name. A device
             name is an array of 4 bytes.

         b)  D̲e̲v̲i̲c̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

             Commands for handling devices are administrated
             by FMS. Introduction of a device to FMS is done
             by the command ASSIGN. Input in conjunction with
             the command is device name and description. DEASSIGN
             command removes the specified device from the regime
             of FMS.

         c)  D̲e̲v̲i̲c̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             When the device is introduced to FMS a description
             of its attributes must be given as well. The attributes
             are device, kind, size, physical address and device
             name. Introduction is done by:

             ASSIGN

             Input:  Device attributes
                     Device name



             Removing a specified device from the regime of
             FMS is done by

             DEASSIGN

             Input:  Device name



5.7.2.2.2    V̲o̲l̲u̲m̲e̲s̲



5.7.2.2.2.1 V̲o̲l̲u̲m̲e̲ ̲L̲a̲b̲e̲l̲

         Each volume administrated by FMS shall be recognized
         by a volume name. The volume name is an array of 16
         bytes. Volume name can be changed by a command to FMS.



5.7.2.2.2.2 V̲o̲l̲u̲m̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

         FMS is able to logically mount and dismount volumes
         i.e. create the connection between the volume and FMS.
         The MOUNT command checks the volume name against the
         recorded volume name and open a number of system files.
         Hereafter the volume is identified by the volume name.
         DISMOUNT of volume has the effect that the specified
         volume is excluded from FMS and the system files are
         closed. The system files will be described in chapter
         5.7.2.2.3.



5.7.2.2.2.3 V̲o̲l̲u̲m̲e̲ ̲T̲h̲r̲e̲s̲h̲o̲l̲d̲

         A number of commands exists to control the filling
         rate of the volumes. The maximum number of sector-allocation
         on the volume is controlled by

         SET VOLUME THRESHOLD

         Input:  Volume name
                 Threshold



         Returning of current value of volume threshold is done
         by:

         GET VOLUME THRESHOLD

         Input:  Volume name
         Output: Threshold



5.7.2.2.2.4 V̲o̲l̲u̲m̲e̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲

         a)  G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲n̲c̲e̲p̲t̲

             When a complete new volume is mounted on a disk
             drive it must be prepared for receiving data. This
             process is carried out by a utility initialization
             program with the following steps:

             -   formatting of volume

             -   handling of bad sectors

             -   creation of an initial empty volume

         b)  V̲o̲l̲u̲m̲e̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲

             During the formatting process all sectors are marked
             with an address information which only will be
             used by the controller.

         c)  H̲a̲n̲d̲l̲i̲n̲g̲ ̲o̲f̲ ̲B̲a̲d̲ ̲S̲e̲c̲t̲o̲r̲s̲

             All bad sectors will be marked and index table
             updated accordingly. Handling of bad sectors during
             start up of dualized disks has previously been
             described.

         d)  C̲r̲e̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲a̲n̲ ̲I̲n̲i̲t̲i̲a̲l̲ ̲E̲m̲p̲t̲y̲ ̲V̲o̲l̲u̲m̲e̲

             This process creates the system Files on the volume.

         e)  I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ ̲I̲n̲p̲u̲t̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲

             The parameters needed during the initialization
             process are as follows:



             Device name
             Volume name
             Number of sectors
             System Files area size
             Initial entries in the system files



5.7.2.2.3    F̲i̲l̲e̲s̲



5.7.2.2.3.1 F̲i̲l̲e̲ ̲T̲y̲p̲e̲s̲ ̲a̲n̲d̲ ̲t̲h̲e̲i̲r̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲i̲s̲t̲i̲c̲s̲

         a)  G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲n̲c̲e̲p̲t̲

             A file is a logical sequence of blocks. Blocks
             are identified by relative block number within
             the file.

         b)  C̲o̲n̲t̲i̲g̲u̲o̲u̲s̲ ̲F̲i̲l̲e̲s̲

             FMS supports two different mechanisms for transforming
             a block number in a file to a sector number on
             a volume. The block of a contiguous file is mapped
             onto a sequence of contiguous sectors on a volume.









     Figure 5.7.2.2.3.1-1…01…CONTIGUOUS FILE ON A VOLUME



             Shaded sectors form a contiguous file consisting
             of a number of blocks. Contiguous files will be
             used for information where maximum length is known
             in advance, as they cannot be extended.



         c)  R̲a̲n̲d̲o̲m̲ ̲F̲i̲l̲e̲s̲

             The blocks of a random file are mapped onto sectors
             which are scattered across a volume. The mapping
             is based on an index which for each block number
             in the file contains the number of the corresponding
             sector on the volume. The index itself is also
             stored on the volume. Index blocks can be linked
             together to make the size of the file unlimited.

             The random file will be used for information which
             may change i.e. information under editing.











                   Figure 5.7.2.2.3.1-2
                A random file on a volume
             2 index blocks and 4 data blocks


         d)  F̲i̲l̲e̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲i̲s̲t̲i̲c̲s̲

             1)  F̲i̲l̲e̲ ̲N̲a̲m̲e̲

                 A file is referenced by a file name.

             2)  F̲i̲l̲e̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲e̲s̲

                 File attributes is a record defining the characteristics
                 of a file.

                 It consists of four fields:

                 -   volume name
                 -   file organization see 5.7.2.2.3.1
                 -   allocation size
                 -   area size 

                 Volume name has previously been described.
                 File organization may be contiguous or random
                 or a third structure called directories, which
                 will be described later.



             Allocation size is the amount of space reserved
             upon the creation of the file. Area size is the
             amount of blocks allocated to a random file by
             an extension of the file.

         3)  F̲i̲l̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲o̲r̲

             An index identifying the file when it is open.
             The file descriptor identifies a control block
             which contains information such as address on volume,
             file size, file users, etc. All access to a file
             uses a file descriptor as reference.



5.7.2.2.3.2 F̲i̲l̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

         Some of the file handling functions include a user
         identification. For details refer to section 5.7.2.2.5.

         Before use of files, they must be created by the command:

         CREATE

         Input:  User-id
                 Attributes

         Output: File descriptor

         Disconnection of a caller from a file can be controlled
         by

         DISMANTLE

         Input:  File descriptor

         Defining the maximum number of sectors for a file is
         done by the command:

         SET FILE THRESHOLD

         Input:  File descriptor
                 Threshold





5.7.2.2.3.3 F̲i̲l̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲s̲ ̲a̲n̲d̲ ̲N̲a̲m̲i̲n̲g̲

         a)  G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲n̲c̲e̲p̲t̲

             To keep track of the information on the volume
             there exists a number of system files called directories.
             The contents are f.inst. symbolic names on files
             and their physical address. Furthermore, the user
             file information such as user(s), file attributes,
             access and security control are recorded.

         b)  D̲i̲r̲e̲c̲t̲o̲r̲i̲e̲s̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             1)  B̲a̲s̲i̲c̲ ̲F̲i̲l̲e̲ ̲D̲i̲r̲e̲c̲t̲o̲r̲y̲

                 A volume can contain several files. Therefore,
                 each volume contains a Basic File Directory
                 (BFD) which acts as a table of contents for
                 the volume. Figure 5.7.2.2.3.3-1. Each file
                 on the volume is described by an entry in the
                 BFD. Such an entry contains the information
                 which is necessary to describe the file. Included
                 is information which makes it possible to retrieve
                 the blocks of the file, the size of the file,
                 a list of the users who are authorized to access
                 the file, etc.

                 Since the BFD contains an entry for each file
                 on the volume, a file is uniquely identified
                 by the sequence number of its entry in the
                 BFD. This form of file identification is used
                 in the file system.

                 To facilitate access to the BFD of a volume,
                 the BFD is also implemented as a file. The
                 BFD should always exist on the volume.















































                   Figure 5.7.2.2.3.3-1

         Basic File Directory and four files on a volume. (The
         sector structure of the volume is abstracted away).



             2)  S̲y̲m̲b̲o̲l̲i̲c̲ ̲F̲i̲l̲e̲ ̲D̲i̲r̲e̲c̲t̲o̲r̲y̲

                 Whereas the BFD is concerned with maintaining
                 descriptions of the files on a volume, a Symbolic
                 File Directory (SFD) is concerned with the
                 naming of these files. Naming a file is thus
                 a function which is distinct from describing
                 its attributes. A SFD functions as a table.
                 Each entry transforms a user defined name into
                 a sequence number of a BFD entry (which is
                 a unique identification of a file). If a SFD
                 is used it is therefore possible to refer to
                 a file by a symbolic name. Figure 5.7.2.2.3.3-2.

                 By implementing an SFD as a file and by allowing
                 several SFDs on a volume, this scheme has been
                 generalized into a multilevel naming structure.
                 Figure 5.7.2.2.3.3-3. Since an SFD is itself
                 a file it can now be given a name in another
                 SFD etc. This process can continue to any depths,
                 and thus a hierarchical naming structure for
                 files exists.

                 Each volume contains a special SFD. This SFD
                 is considered the root of the naming hierarchy
                 for files. This means that a search for a named
                 file in principle must start in this SFD and
                 then possibly continue through lower level
                 SFDs. This special SFD should always exist
                 on the volume
















































                   Figure 5.7.2.2.3.3-2
         Transformation of symbolic names into file references
         via a SFD.













































                   Figure 5.7.2.2.3.3-3
         Transformation of symbolic names into a file reference
         via several levels of SFD. (Starting with file no.
         2 in the BFD (which is an SFD) the name 'mysfd' can
         be transformed into a reference to file no. 4, which
         transforms the name 'myfile' into a reference to file
         no 0).



             3)  H̲o̲m̲e̲ ̲B̲l̲o̲c̲k̲

                 Each volume contains three special files:

                 -   The Basic File Directory (BFD) which contains
                     a description of the files on the volume

                 -   The Bit Map which contains information
                     on the allocation status of each sector
                     on the volume

                 -   The Root Symbolic File Directory which
                     in principle is the starting point for
                     a search of a named file.

                 These files contain the information which makes
                 it possible to access the rest of the files
                 on the volume. Therefore, they should always
                 exist on the volume. Access to these files
                 can be gained through the Home Block (HB) of
                 the volume. Apart from the name of the volume
                 the HB contains the sector address of the description
                 of the BFD (which is actually contained in
                 the BFD).

                 The HB is the only information on the volume
                 which is not part of a file. Since the HB is
                 always stored on a known address on the volume
                 it can be used to bootstrap the entire file
                 structure.

















































                   Figure 5.7.2.2.3.3-4
         The Home Block and the special files on a volume.



         c)  D̲i̲r̲e̲c̲t̲o̲r̲y̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

             FMS include commands to insert, search for, change
             and delete names in directories:

             GETROOT

             Input:  Volume name

             Output: File descriptor

             The function of this command is that a file descriptor
             (reference to) to root directory file is returned.

             ENTER

             Input:  File name
                     File description

             A new entry is put into the SFD file referenced
             by the file descriptor

             LOOK UP

             Input:  SFD file descriptor
                     File name

             Output: File descriptor

             The command searches through the SFD file and returns
             a file descriptor corresponding to the file name.

             UPDATE

             Input:  Volume name

             The function is that the main memory resident volume
             information is copied to the disk.

             DESCENT

             Input:  SFD file descriptor
                     File name

             Output: File descriptor



             The result of the command is analogous to what
             is achieved by a lookup command followed by a dismantle
             command.
















                   Figure 5.7.2.2.3.3-5
           Descent (Fd1, myfile)(fd2) analog to
      Lookup (Fd1, myfile)(fd2) and Dismantle (fd1)



         d)  U̲s̲e̲r̲ ̲F̲i̲l̲e̲s̲

             The above mentioned commands were specially meant
             for use on directory files. The following commands
             can be used as well on user files.

             DESCENT (see previous chapter)

             RENAME

             Input:  SFD file descriptor
                     Old file name
                     New file name

             Changes the name of a file in the SPD file directory

             REMOVE

             Input:  SFD file descriptor
                     File name

             Deletes the symbolic name of the file from the
             SFD file.



5.7.2.2.3.4 D̲a̲t̲a̲ ̲T̲r̲a̲n̲s̲f̲e̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲

         a)  G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲n̲c̲e̲p̲t̲

             The transfer commands are used to bring about the
             actual transfer of data between external storage
             media and the users data buffers.

         b)  D̲a̲t̲a̲ ̲T̲r̲a̲n̲s̲f̲e̲r̲ ̲M̲o̲d̲e̲s̲

             1)  D̲a̲t̲a̲ ̲B̲u̲f̲f̲e̲r̲ ̲t̲o̲ ̲S̲e̲c̲t̲o̲r̲s̲ ̲o̲r̲ ̲R̲e̲v̲e̲r̲s̲e̲

                 This transfer modes consider the external storage
                 media as volumes made up of sectors.

                 These modes are only available for privileged
                 system processes.

             2)  D̲a̲t̲a̲ ̲B̲u̲f̲f̲e̲r̲ ̲t̲o̲ ̲F̲i̲l̲e̲s̲ ̲o̲r̲ ̲R̲e̲v̲e̲r̲s̲e̲

                 This set of transfer commands is used to transfer
                 information between files and user data buffers.
                 Files are considered consisting of a sequence
                 of bytes.

         c)  T̲r̲a̲n̲s̲f̲e̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲

             1)  S̲e̲c̲t̲o̲r̲ ̲T̲r̲a̲n̲s̲f̲e̲r̲

                 The following two commands are only available
                 to privileged system processes.

                 Sectors can be transferred from external storage
                 media to user by issuing the command.

                 READ SECTORS

                 Input:            File descriptor
                                   File address

                 Output:           Sectors

                 The disk sector is left unchanged. Transferring
                 sectors from user buffer to the external storage
                 media is achieved by the command.



                 WRITE SECTOR

                 Input:            File descriptor
                                   File address
                                   Sectors

             2)  F̲i̲l̲e̲ ̲T̲r̲a̲n̲s̲f̲e̲r̲

                 By use of the following commands it is possible
                 to read and write any number of bytes at any
                 position on the file. Reading bytes are achieved
                 by

                 READ BYTES

                 Input:            File descriptor
                                   File address

                 Output:           Byte string

                 Changing the content of a file is achieved
                 by:

                 MODIFY BYTES

                 Input:            File descriptor
                                   File address
                                   Byte string

                 Adding additional data to the tailing edge
                 of a file is achieved by:

                 APPEND BYTES

                 Input:            File descriptor
                                   File address
                                   Byte string



5.7.2.2.3.5 E̲x̲a̲m̲p̲l̲e̲s̲ ̲i̲n̲ ̲F̲i̲l̲e̲ ̲M̲a̲n̲i̲p̲u̲l̲a̲t̲i̲o̲n̲s̲

         a)  F̲i̲l̲e̲ ̲C̲r̲e̲a̲t̲i̲o̲n̲

             The create command allocates space for the file
             and returns a file descriptor.

             File name may be inserted in SFD for later reference,
             by the enter command.



             A look up command searches for a specified file
             in SFD and returns the corresponding file descriptor
             when file is found.

         b)  U̲s̲e̲ ̲o̲f̲ ̲F̲i̲l̲e̲s̲

             Searching of a user file with a specified file
             name on a volume is carried out through the following
             sequence of commands:

             Getroot (vol. name)(fd1) command returns the file
             descriptor fd1 for the root directory.

             Descent (fd1,mycatl.)(fd2) returns a file descriptor
             fd2 referencing the symbolic file directory mycatl.

             Descent (fd2, myfile)(fd3) returns a file descriptor
             fd3 referencing the actual user file.

             After having used the transfer commands or after
             having completed operations on the file a dismantle
             command can be issued.

             A dismantle command will have the effect that the
             file will be inaccessible to the user. If it is
             no longer accessible to anybody, it is deallocated
             from the volume.



5.7.2.2.4    S̲e̲c̲u̲r̲i̲t̲y̲ ̲a̲n̲d̲ ̲A̲c̲c̲e̲s̲s̲ ̲C̲o̲n̲t̲r̲o̲l̲

         a)  U̲s̲e̲r̲ ̲a̲n̲d̲ ̲U̲s̲e̲r̲ ̲G̲r̲o̲u̲p̲s̲

             A user is a process running under DAMOS. User may
             be collected into user groups, which are the basis
             for access control. An active process in the system
             is identified by a user-id consisting of:

             -   user group identification

             -   process identification



         b)  U̲s̲e̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲

             A user must be known to FMS before he is able to
             execute commands. This is done by the command:

             USER ON

             Input:  User-id.
                     Classification

             The classification consist of a security profile.

             To exclude a user from being able to execute commands,
             the following command can be used.

             USER OFF

             Input:  User-id.

             The user-on and user-off commands may only be executed
             by the parent of the user.

             GET FILE INFORMATION

             Input:  File descriptor
                     File information type

             Output: File information

             This command returns the file information described
             in the file information type. The command can be
             used during the security and access control.

         c)  A̲c̲c̲e̲s̲s̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲i̲s̲t̲ ̲a̲n̲d̲ ̲C̲a̲p̲a̲b̲i̲l̲i̲t̲i̲e̲s̲

             To each file on a volume there is connected an
             Access Control List (ACL). The ACL for a file describes
             the access rights of each user who is authorized
             to use the file. By access rights are meant the
             set of operations which a user may perform on a
             file. When a file is initially created the creator
             is given the rights to access the file any way
             he might choose.



             Each time a file is accessed by a user it must
             be verified that the user has the rights to do
             so. Instead of consulting the volume resident ACL,
             there exists an internal data structure called
             Capabilities which show the access rights of user
             groups to files which have been opened. Therefore,
             the access to files can be controlled without accessing
             external storage.

         d)  S̲e̲c̲u̲r̲i̲t̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲o̲n̲ ̲F̲i̲l̲e̲ ̲A̲c̲c̲e̲s̲s̲

             Each file and user has a security profile, which
             is set by CREATE and USERON commands respectively.
             At file access the general DAMOS security check
             of a process accessing an object is performed.

         e)  P̲r̲i̲v̲i̲l̲e̲g̲e̲d̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

             A privileged function related to FMS is invoking
             of certain commands by system user.

         f)  P̲r̲o̲t̲e̲c̲t̲

             The above listed commands exist in conjunction
             with the previously described security and access
             rights. In order to protect a file it is possible
             to change the access rights, the content of the
             ACL, for a specified file by the command:

             PROTECT

             Input:  File descriptor
                     User group id
                     Rights

             The access rights are specified as rights to call
             the following functions:

             Enter
             Lookup
             Rename
             Remove
             Reset
             Protect
             Offer
             Read bytes
             Modify bytes
             Append bytes



5.7.2.2.5    R̲e̲c̲o̲v̲e̲r̲y̲

         Permanent files can be recovered. Data appended to
         a file since last UPDATE command may, however, be lost.



5.7.2.3  F̲M̲S̲ ̲C̲o̲n̲t̲r̲o̲l̲



5.7.2.3.1    P̲a̲r̲a̲m̲e̲t̲e̲r̲ ̲C̲o̲n̲t̲r̲o̲l̲

         FMS is controlled by parameters defining sizing values
         for the following resources:

         a)  Available sectors on each volume

         b)  Use of Disk Controller Memory

         c)  Memory - and disk resident tables



5.7.2.3.2    I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲

         FMS is initialized by SSC.



5.7.2.3.3    E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

         FMS has internal error handling of the following types:

         a)  Retry disk operation a few times

         b)  Replace Bad Sectors by translation table on each
             volume

         c)  Use the good one of a mirrored disk pair

         Errors that cannot be resolved internally are either
         reported back to callers or sent to SSC.





5.7.2.4  C̲h̲a̲r̲a̲c̲t̲e̲r̲i̲s̲t̲i̲c̲s̲

         a)  D̲i̲s̲k̲ ̲C̲a̲p̲a̲c̲i̲t̲y̲

             The capacity of formatted disk is about 80 per
             cent of the nominal disk capacity.



5.7.2.5  D̲e̲s̲i̲g̲n̲ ̲a̲n̲d̲ ̲C̲o̲n̲s̲t̲r̲u̲c̲t̲i̲o̲n̲

         Refer to section 2.5.



5.7.2.6  D̲o̲c̲u̲m̲e̲n̲t̲a̲t̲i̲o̲n̲

         Refer to section 2.6.



5.7.3    E̲n̲v̲i̲r̲o̲n̲m̲e̲n̲t̲



5.7.3.1  S̲t̲a̲n̲d̲a̲r̲d̲ ̲H̲a̲r̲d̲w̲a̲r̲e̲,̲ ̲F̲i̲r̲m̲w̲a̲r̲e̲,̲ ̲a̲n̲d̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

         FMS executes completely within active and standby PU.
         It makes use of Disk Controller memory for tables and
         disk cache.



5.7.3.2  E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Not applicable.



5.7.3.3  P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Not applicable