Advertisement
Guest User

Untitled

a guest
Jun 4th, 2011
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.23 KB | None | 0 0
  1. Modeled after FHS 2.3 from Filesystem Hierarchy Standard Group. Writers, editors, contributors, and referances from the model document are: Paul 'Rusty' Russell , Daniel Quinlan , Christopher Yeoh
  2.  
  3. This document is in draft, as it may be unintentionally violating copyrights, and license agreements due to lack of communication and is not intended for any use other than theory and postulation on an alternative File System Organization (FSO). Copy, use of this document, or any derivative works must follow the license(s), laws, and stipulations under which the model document was published under.
  4.  
  5. Author of this document: Joshua R. Marshall (jrmarsh2@svsu.edu , this email is expected to be valid until 2016)
  6.  
  7. CONVENTIONS:
  8. “/”:root of the active file system
  9. “<OS name>”:folder which contains an entire operating system
  10. “//”:the root structure of the running or active operating system
  11. “~”:an account's abstracted location
  12. “FS”: file system, the mass of files and folders available to an operating system
  13. “FSO”:a file system's internal organization
  14. “OS”: operating system
  15. “default”:an account from which all other accounts at the same level inherit data from, and the OS's base “default” from which all other defaults inherit their data
  16. “<privilage level>”:<privilege level> is shown as “level<x>” and <x> is replaced with a number. Privileges decrease as the number increases for defined groups. Defined groups must include root access, and administrator access. Optional groups are adult users, child users, and guests. These groups are placed into folders “level0”, “level1”, “level2”, “level3”, and “level4” without quotation marks.
  17. “+”: a program's name
  18.  
  19. Any text given in quotation marks, the implementation should ignore the quotationmarks.
  20.  
  21. STRUCTURES:
  22. root structure:
  23. /<OS name>
  24. /<OS name2>
  25. /<OS nameX>
  26.  
  27. an OS's structure:
  28. //default
  29. //level0/default
  30. //level0/system
  31. //level1/default
  32. //level2/default
  33. //level3/default
  34. //level4/default
  35.  
  36. an account's base structure:
  37.  
  38. ~/programs
  39. ~/programs/limits.conf
  40. ~/libraries
  41. ~/personal
  42. ~/settings.conf
  43. ~/immutableSettings.conf
  44.  
  45. a program's defined structure:
  46.  
  47. +/+.<?>
  48. +/+.limits
  49.  
  50. a program's optional defined structure components:
  51. +/libraries
  52. +/media
  53. +/temp
  54. +/settings.conf
  55.  
  56.  
  57. REQUIRED PROGRAMS AND LOCATIONS:
  58.  
  59. “//default/programs” must contain:
  60. “backup”:Utility with a variety of backup settings //optional
  61. “cat”: Utility to concatenate files to standard output
  62. “cp”: Utility to copy files and directories
  63. “date”: Utility to print or set the system data and time
  64. “df”: Utility to report filesystem disk space usage
  65. “echo”: Utility to display a line of text
  66. “false”: Utility to do nothing, unsuccessfully
  67. “hostname”: Utility to show or set the system’s host name //optional
  68. “kill”: Utility to send signals to processes //needs specification
  69. “login”: Utility to begin a session on the system
  70. “logout”:Utility to end a session on the system
  71. “ls”: Utility to list directory contents
  72. “mkdir”: Utility to make directories //change to mk (make) which creates a blank file and may be given a type. If this type is “.folder” it creates a folder. If its “.link” a path should be included after to create a link. “mknod” functionality must be added to this function.
  73. “more”: Utility to page through text //not needed, use arrows to go up/down, shift+arrow to scroll pages,and enter or escape to leave/finish the document/text.
  74. “mount”: Utility to mount and unmount a filesystem
  75. “mv”: Utility to move/rename files //must utilize “cp” and “rm” to move the data.
  76. “ps”: Utility to report process status
  77. “pwd”: Utility to print name of current working directory
  78. “rm”: Utility to remove files or directories
  79. “sed”: The ‘sed’ stream editor //change to “editor” and doesn't matter as long as its cli.
  80. “sh”: The Bourne command shell
  81. “stty”: Utility to change and print terminal line settings
  82. “sync”: Utility to flush filesystem buffers
  83. “true”: Utility to do nothing, successfully
  84. “sysinfo”: Utility to print system information //include all hardware specifications, and OS data.
  85.  
  86. “//level0/system/programs” must contain:
  87. “kernel”
  88. “dmesg”: Utility to print or control the kernel message buffer
  89.  
  90. “//level0/default/programs” must contain:
  91. “root”: Utility to gain system privilages
  92.  
  93. SUGGESTED WORKINGS:
  94. The active FS should be an abstraction on top of the physical drives and partitions.
  95.  
  96. Accounts must have the following folders: personal, programs, and libraries. Accounts must have a file named “settings.conf” which has support for at least automatic file opening and execution associations and running background and startup programs with control settings and features which allow multi-threaded/simultaneous program start, privileges required(program requires certain privileges to start and asks for a password), and waiting for another program to finish. There must be method to restore “settings.conf” from a alternate copy or “//<privilege level>/default/settings.conf”. “settings.conf” must define program file size limits.
  97.  
  98. The user may not delete any inherited data, but may override them unless forbade in immutableSettings.conf.
  99.  
  100. ~/libraries must contain all libraries universal to the user and programs they run. All +/library must inherit libraries from ~/libraries
  101.  
  102. ~/programs must contain all programs available to the user by the system and through installations.
  103.  
  104. Programs must run at the lowest possible privilege and if they request higher permissions, they must say what the privileges are they are requesting, and what access that will give the program. These settings may be granted during the installation up to the user's own privilages.
  105.  
  106. Program data must only exist in the program's folder, and interact with other programs only when permissions are given.
  107.  
  108. The “system” account must contain all data needed to recover, boot, and run the OS. System will start the OS, provide services not needed by other accounts, and background programs that the administrator(s) may want running all the time with minimal interference(such as nginx, or Apache).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement