status::device_busy
.
status::device_busy
status code in response to the open system call.
This policy is known as raw disk management, and is important for those application, such as data-base applications, that need to control all aspects of data movement between disk and primary store.
The terminal management policy also specifies the terminal line discipline (or just "line discipline" when the terminal part is understood), which specifies how, if at all, the operating system should interpret the characters begin read and written from the terminal on behalf of the user process. The input line discipline applies to the characters being read from the terminal, and the output line discipline applies to the characters being written to the terminal.
The input line discipline in this project is simple: the operating system does
not interpret any of the bytes read from the terminal except for the
device::eof_char
end-of-file character. When the end-of-file character
appears in the byte stream from the terminal, it should be removed from the
stream and no further bytes from the terminal should be passed along until the
terminal is closed and re-opened again.
The output line discipline is even simpler than the input line discipline: there is none. All bytes from the user process are passed along to the terminal without interpretation.
open
,
close
, read
,
and write
).
/export/home/class/cs-438-505/devices
to test the new features added to your
operating system. Because programs in the pa2 disks write to devices, the
simulator will create the result files results.dsk
and results.tty
.
pa2-diskio.dsk
$ os -d /e*/h*/c*/*5/devices/pa2-diskio.dsk The system is halted. Total execution time: 1909 ticks, idle time: 1122 ticks (58%). $ /e*/h*/c*/*5/bin/print-disk-block results.dsk 511 Block 511 0000051100 0000051101 0000051102 0000051103 0000051104 0000051105 0000051106 0000051107 0000051108 0000051109 0000051110 0000051111 0000051112 0000051113 0000051114 0000051115 0000051116 0000051117 0000051118 0000051119 0000051120 0000051121 0000051122 0000051123 0000051124 0000051125 0000051126 0000051127 0000051128 0000051129 0000051130 0000051131 $
pa2-dio-checked.dsk
pa2-diskio.dsk
and the other checks the disk block
once the first program is done. The two processes coordinate via the messages
pool. These program check their work, so if you don't get an error message,
everything worked.
pa2-dio-shared.dsk
pa2-dio-checked.dsk
and a third, big program that does nothing but fill up
user space. Tests disk sharing between the operating system and user
processes. These program check their work, so if you don't get an error
message, everything worked.
pa2-3dio.dsk
pa2-diskio.dsk
, each working on one of the last three blocks in the disk.
Test disk sharing among user processes. These programs don't check their work.
$ os -d /e*/h*/c*/*5/devices/pa2-3dio.dsk The system is halted. Total execution time: 9981 ticks, idle time: 7622 ticks (76%). cl /e*/h*/c*/*5/bin/print-disk-block results.dsk 509 510 511 Block 509 0000050900 0000050901 0000050902 0000050903 0000050904 0000050905 0000050906 0000050907 0000050908 0000050909 0000050910 0000050911 0000050912 0000050913 0000050914 0000050915 0000050916 0000050917 0000050918 0000050919 0000050920 0000050921 0000050922 0000050923 0000050924 0000050925 0000050926 0000050927 0000050928 0000050929 0000050930 0000050931 Block 510 0000051000 0000051001 0000051002 0000051003 0000051004 0000051005 0000051006 0000051007 0000051008 0000051009 0000051010 0000051011 0000051012 0000051013 0000051014 0000051015 0000051016 0000051017 0000051018 0000051019 0000051020 0000051021 0000051022 0000051023 0000051024 0000051025 0000051026 0000051027 0000051028 0000051029 0000051030 0000051031 Block 511 0000051100 0000051101 0000051102 0000051103 0000051104 0000051105 0000051106 0000051107 0000051108 0000051109 0000051110 0000051111 0000051112 0000051113 0000051114 0000051115 0000051116 0000051117 0000051118 0000051119 0000051120 0000051121 0000051122 0000051123 0000051124 0000051125 0000051126 0000051127 0000051128 0000051129 0000051130 0000051131 $
pa2-badpgms.dsk
$ os -d /e*/h*/c*/*5/devices/pa2-badpgms.dsk The system is halted. Total execution time: 629 ticks, idle time: 39 ticks (6%). $
pa2-ttycopy.dsk
, pa2-ttycopy.tty
results.tty
file identical to pa2-ttycopy.tty
.
$ os2 -d /e*/h*/c*/*5/devices/pa2-ttycopy.dsk -t /e*/h*/c*/*5/devices/pa2-ttycopy.tty The system is halted. Total execution time: 2739 ticks, idle time: 779 ticks (28%). $ diff results.tty /e*/h*/c*/*5/devices/pa2-ttycopy.tty $
If you're looking for a way to proceed, you might want to consider the following steps:
This page last modified on 24 October 2001.