Vous êtes sur la page 1sur 14

CS-550

An Overview of Microsoft Disk Operating System

Submitted By: Dheeraj Chugh S:ID -359967391

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

Introduction An !'erating %y%tem i% a %et !" interre(ated 'r!gram% that manage and $!ntr!( $!m'uter 'r!$e%%ing) *he #i$r!%!"t Di%& O'erating Sy%tem+ #S-DOS+ i% a traditi!na( mi$r!$!m'uter !'erating %y%tem that $!n%i%t% !" "ive maj!r $!m'!nent%. *he O'erating-%y%tem (!ader *he #S-DOS BIOS *he #S-DOS ,erne( *he -%er Inter"a$e .%he((/ Su''!rt 'r!gram% A very brie" intr!du$ti!n !" a(( the ab!ve t!'i$% i% given be(! : *he O'erating %y%tem 0!ader *he !'erating %y%tem% (!ader bring% the !'erating %y%tem "r!m the %tartu' int! 1A#) *he $!m'(ete (!ading 'r!$e%%+ $a((ed Bootstrapping $ame ab!ut be$au%e ea$h (eve( 'u((% u' the ne2t 'art !" the %y%tem) *he 1O# (!ader+ hi$h i% the "ir%t 'r!gram the mi$r!$!m'uter e2e$ute% hen it i% turned !n+ read% the di%& b!!t%tra' (!ader "r!m the "ir%t .b!!t/ %e$t!r !" the %tartu' di%& and e2e$ute% it) *he di%& b!!t%tra' (!ader in turn read% the main '!rti!n% !" #S-DOS3#SDOS)S4S and IO)S4S "r!m $!nventi!na( di%&% int! mem!ry) *he #S-DOS BIOS *he #S-DOS BIOS (!aded "r!m the "i(e IO)S4S during initia(i5ati!n+ i% the (ayer !" the !'erating %y%tem that %it% bet een the !'erating %y%tem &erne( and the hard are) An a''(i$ati!n 'er"!rm% in'ut and !ut'ut by ma&ing re6ue%t% t! the !'erating %y%tem &erne(+ hi$h+ in turn+ $a((% the #S-DOS BIOS r!utine% that a$$e%%+ the hard are dire$t(y) -S71 I8*719AC7 .S:700/ *he u%er inter"a$e "!r an !'erating %y%tem+ a(%! $a((ed a %he(( !r $!mmand 'r!$e%%!r+ i% genera((y a $!nventi!na( 'r!gram that a((! % the u%er t! intera$t ith the !'erating %y%tem it%e(") *he de"au(t #S-DOS u%er inter"a$e i% a re'(a$eab(e %he(( 'r!gram $a((ed CO##A8D)CO#) One !" the "undamenta( ta%&% !" a %he(( i% t! (!ad a 'r!gram int! mem!ry !n re6ue%t and 'a%% $!ntr!( !" the %y%tem t! the 'r!gram %! that the 'r!gram $an e2e$ute) ;hen the 'r!gram terminate%+ $!ntr!( return% t! the %he((+ hi$h 'r!m't% the u%er "!r an!ther $!mmand) In additi!n+ %he(( u%ua((y in$(ude% "un$ti!n% "!r "i(e and dire$t!ry maintenan$e and di%'(ay) In the!ry+ m!%t !" the%e "un$ti!n% $!u(d be 'r!vided a% 'r!gram%+ but ma&ing them re%ident in the %he(( a((! % them t! be a$$e%%ed m!re 6ui$&(y) *he trade!"" i% mem!ry %'a$e ver%u% %'eed and "(e2ibi(ity) 7ar(y mi$r!$!m'uter ba%ed !'erating %y%tem% 'r!vided a minima( number !" re%ident %he(( $!mmand% be$au%e !" the (imited mem!ry %'a$e< m!dern !'erating %y%tem% %u$h a% #S-DOS in$(ude a ide variety !" the%e "un$ti!n% a% interna( $!mmand%)

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

S->>O1* >1O?1A#S *he #S-DOS %!"t are in$(ude% %u''!rt 'r!gram% that 'r!vide a$$e%% t! the !'erating%y%tem "a$i(itie% n!t %u''(ied a% re%ident %he(( $!mmand% bui(t int! CO##A8D)CO#) Be$au%e the%e 'r!gram% are %t!red a% e2e$utab(e "i(e% !n di%&+ they are e%%entia((y the %ame a% a''(i$ati!n 'r!gram% and #S-DOS (!ad% and e2e$ute% them a% it !u(d any !ther 'r!gram) *:7 #S-DOS ,71870 *he #S-DOS ,erne( i% the heart !" #S-DOS) It i% $!ntained in a %ing(e 'r!'rietary "i(e+ #SDOS)S4S+ %u''(ied by #i$r!%!"t C!r'!rati!n) *he &erne( 'r!vide% it %u''!rt "un$ti!n% $a((ed a% %y%tem "un$ti!n% t! a''(i$ati!n 'r!gram% in a hard are-inde'endent manner and+ in turn+ i% i%!(ated "r!m the hard are $hara$teri%ti$% by re(ying !n the driver r!utine% in the #S-DOS BIOS t! 'er"!rm 'hy%i$a( in'ut and !ut'ut !'erati!n%) >r!gram% a$$e%% %y%tem "un$ti!n% u%ing %!"t are interru't .I8*/ in%tru$ti!n%) #S-DOS re%erve% Interru't% =@: thr!ugh 39: "!r thi% 'ur'!%e) *he #S-DOS interru't% are Interrupt =@: =1: ==: =3: =A: =5: =6: =7: =B: C =7: =9: 3@: C 39: Name *erminate >r!gram #S-DOS 9un$ti!n Ca((% *erminate 1!utine Addre%% C!ntr!(-C :and(er Addre%% Criti$a( 7rr!r :and(er Addre%% Ab%!(ute Di%& 1ead Ab%!(ute Di%& ;rite *erminate and Stay 1e%ident 1e%erved #u(ti'(e2 1e%erved

*he %ervi$e% 'r!vided t! the a''(i$ati!n 'r!gram% by the #S-DOS &erne( in$(ude A "i(e %y%tem #em!ry management Devi$e In'ut and !ut'ut >r!$e%% C!ntr!( >eri'hera( %u''!rt

*he main "!$u% !" thi% re'!rt i% !n the ab!ve (i%ted t!'i$%+ hi$h e di%$u%% in the ne2t %e$ti!n:

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

The File System B(!$& devi$e% are a$$e%%ed !n a %e$t!r ba%i%) *he #S C DOS &erne(+ thr!ugh the devi$e driver+ %ee% a b(!$& devi$e a% a (!gi$a( "i2ed C %i5e array !" %e$t!r% and a%%ume% the array $!ntain% a va(id #S C DOS "i(e %y%tem) *he devi$e driver+ in turn+ tran%(ate% the (!gi$a( %e$t!r re6ue%t% "r!m #S C DOS int! 'hy%i$a( (!$ati!n% !n the b(!$& devi$e) *he "i(e %y%tem i% !ne !" the (arge%t '!rti!n% !" the !'erating %y%tem) *he "i(e %y%tem i% bui(t !n the %t!rage medium !" a b(!$& devi$e .u%ua((y a "(!''y di%& !r a "i2ed di%&/ by ma''ing a dire$t!ry %tru$ture and "i(e% !nt! the 'hy%i$a( unit !" %t!rage) A "i(e %y%tem !n a di%& $!ntain%+ at a minimum+ a((!$ati!n in"!rmati!n+ a dire$t!ry+ and %'a$e "!r "i(e%) *he "i(e a((!$ati!n in"!rmati!n $an ta&e vari!u% "!rm%+ de'ending !n the !'erating %y%tem+ but a(( "!rm% ba%i$a((y tra$& the %'a$e u%ed by "i(e% and the %'a$e avai(ab(e "!r ne data) *he dire$t!ry $!ntain% a (i%t !" the "i(e% %t!red !n the devi$e+ their %i5e% and in"!rmati!n ab!ut here the data "!r ea$h "i(e i% (!$ated) #S-DOS u%e% a 'arti$u(ar a((!$ati!n meth!d $a((ed 9I07 A00OCA*IO8 *AB07 .9A*/ and a hierar$hi$a( dire$t!ry %tru$ture) 0ay!ut !" #S-DOS 9i(e Sy%tem B(!$& devi$e% are a$$e%%ed !n a %e$t!r ba%i%) *he #S-DOS &erne(+ thr!ugh the devi$e driver+ %ee% a b(!$& devi$e a% a (!gi$a( "i2ed-%i5e array !" %e$t!r% and a%%ume% that the array $!ntain% a va(id #S-DOS "i(e %y%tem) *he devi$e driver tran%(ate% the (!gi$a( %e$t!r re6ue%t% "r!m the #S-DOS int! 'hy%i$a( (!$ati!n% !n the b(!$& devi$e)
O7# identi"i$ati!n+ BIOS 'arameter b(!$&+ 0!ader r!utine+ 1e%erved area 9i(e A((!$ati!n tab(e .9A*/ D1 >!%%ib(e additi!na( $!'ie% !" 9A*

1!!t di%& dire$t!ry

9i(e% Area

The MS-DOS File System

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

The Boot Sector *he b!!t %e$t!r i% a( ay% at the beginning !" a 'artiti!n) It $!ntain% the O7# identi"i$ati!n+ a (!ader r!utine+ and a BIOS 'arameter b(!$& .B>B/ ith in"!rmati!n ab!ut the devi$e+ and an !'ti!na( area !" re%erved %e$t!r% "!((! % it) @@:
79 FF FF !r 7B FF 9@

@3:
O7# name and ver%i!n .B byte%/

@B:
Byte% 'er %e$t!r .= byte%/

@D: @7: 1@: 11: 13: 15: 16: 1B: 1A: 1C: 17:
8umber !" hidden %e$t!r% .= byte%/ 8umber !" %e$t!r% 'er 9A* .= byte%/ Se$t!r% 'er tra$& .= byte%/ 8umber !" head% .= byte%/ 8umber !" r!!t dire$t!ry entrie% .= byte%/ *!ta( %e$t!r% in (!gi$a( v!(ume .= byte%/ #edia de%$ri't!r ty'e Se$t!r% 'er a((!$ati!n unit .1 byte/ 1e%erved %e$t!r%+ %tarting at @ .= byte%/ 8umber !" 9A*% .1 byte/

B>B

0!ader 1!utine

Map of the boot sector of an MS-DOS disk . *he B>B in"!rmati!n $!ntained in byte% @B: thr!ugh 17: indi$ate% that there are 51= byte% 'er %e$t!r+ = %e$t!r% 'er $(u%ter+ 1 re%erved %e$t!r ."!r the b!!t %e$t!r/+ = 9A*%+ 11= r!!t dire$t!ry entrie%+ 1AA@ %e$t!r% !n the di%& and 3 %e$t!r% 'er 9A*) Additi!na( in"!rmati!n a"ter B>B indi$ate% that there are 9 %e$t!r% 'er tra$&+ = readE rite head%+ and @ hidden %e$t!r%)

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

The File AllocationTable *he "i(e a((!$ati!n tab(e 'r!vide% a ma' t! the %t!rage (!$ati!n% !" "i(e% !n a di%& by indi$ating hi$h $(u%ter% are a((!$ated t! ea$h "i(e and in hat !rder) *! enab(e #S-DOS t! (!$ate a "i(e+ the "i(eG% dire$t!ry entry $!ntain% it% beginning 9A* entry number) *hi% 9A* entry+ in turn+ $!ntain% the entry number !" the ne2t $(u%ter i" the "i(e i% (arger than !ne $(u%ter !r a (a%t-$(u%ter number i" there i% !n(y !ne $(u%ter a%%!$iated ith the "i(e) Additi!na( $!'ie% !" the 9A* are u%ed t! 'r!vide ba$&u' in $a%e !" damage t! the "ir%t) *he 9A*% are arranged %e6uentia((y a"ter the b!!t %e$t!r+ ith %!me '!%%ib(e intervening re%erved area) #S-DOS %u''!rt% t ! ty'e% !" 9A*: !ne u%e% 1=-bit (in&%< the !ther intr!du$ed ith ver%i!n 3)@ t! a$$!mm!date (arge "i2ed %i5e di%&% ith m!re than A@B7 $(u%ter%+ u%e% 16bit (in&%) *he "ir%t t ! entrie% !" the 9A* are a( ay% re%erved and are "i((ed ith a $!'y !" the media de%$ri't!r byte) *he remaining 9A* entrie% have a !ne-t!-!ne re(ati!n%hi' ith the $(u%ter% in the "i(e data area) 7a$h $(u%terG% u%e %tatu% i% indi$ated by it% $!rre%'!nding 9A* va(ue) I" the 9A* entry i% n!n5er!+ the $!rre%'!nding $(u%ter ha% been a((!$ated) A "ree $(u%ter i% "!und by %$anning the 9A* "r!m the beginning t! "ind the "ir%t 5er! va(ue) 9A* 7ntry: @
99D: .A@93/

1
999: .A@95/

=
@@3: .3/

6
C!ntinue%H)

@@5: 997: .5/ .A@B7/

@@@: @@@: .@/ .@/

-nu%ed< Avai(ab(e $(u%ter -nu%ed< n!t avai(ab(e Di%& i% D!ub(e %ided+ d!ub(e den%ity

Space allocation in the FAT for a typical MS-DOS disk 9ree 9A* entrie% $!ntain a (in& va(ue !" 5er!< a (in& va(ue !" 1 i% never u%ed) *hu%+ the "ir%t a((!$atab(e (in& number+ a%%!$iated ith the "ir%t avai(ab(e $(u%ter in the "i(e data area+ i% =+ hi$h i% the number a%%igned t! the "ir%t 'hy%i$a( $(u%ter in the "i(e data area) oot Directory Dire$t!ry entrie% that are 3= byte% (!ng are "!und in b!th the r!!t dire$t!ry and the %ubdire$t!rie%) 7a$h entry in$(ude% a "i(ename and an e2ten%i!n+ the "i(eG% %i5e+ the %tarting 9A* entry+ the time and date the "i(e a% $reated !r (a%t revi%ed+ and the "i(eG% attribute%) *he r!!t dire$t!ry $an !'ti!na((y have a %'e$ia( ty'e !" entry $a((ed the volume

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

label, identi"ied by an attribute ty'e !" @B:+ hi$h i% u%ed t! identi"y di%&% by name) A r!!t dire$t!ry $an $!ntain !n(y !ne v!(ume (abe() *he r!!t dire$t!ry $an a(%! $!ntain entrie% that '!int t! %ubdire$t!rie%< an attribute ty'e !" 1@: and a "i(e %i5e !" 5er! identi"y %u$h entrie%) * ! !ther %'e$ia( ty'e% !" dire$t!ry entrie% are "!und !n(y ithin %ubdire$t!rie%) *he%e entrie% have the "i(ename% . and .. and $!rre%'!nd t! the $urrent dire$t!ry and the 'arent dire$t!ry !" the $urrent dire$t!ry) *he%e %'e$ia( entrie%+ %!metime% $a((ed dire$t!ry a(ia%e%+ $an be u%ed t! m!ve 6ui$&(y thr!ugh the dire$t!ry %tru$ture) The File Area *he "i(e area $!ntain% %ubdire$t!rie%+ "i(e data+ and una((!$ated $(u%ter%) *he area i% divided int! "i2ed %i5e $(u%ter% and the u%e "!r a 'arti$u(ar $(u%ter i% %'e$i"ied by the $!rre%'!nding 9A* entry) Memory Mana!ement Be$au%e !" the am!unt !" mem!ry a 'r!gram need% varie% "r!m 'r!gram t! 'r!gram+ the traditi!na( !'erating %y%tem !rdinari(y 'r!vide% mem!ry C management "un$ti!n%) #em!ry re6uirement% $an a(%! vary during 'r!gram e2e$uti!n+ and mem!ry management i% e%'e$ia((y ne$e%%ary hen t ! !r m!re 'r!gram% are 're%ent in main mem!ry at the %ame time) #S-DOS #em!ry #anagement i% ba%ed !n a '!!( !" variab(e %i5ed mem!ry b(!$&%) *he t ! ba%i$ mem!ry C management a$ti!n% are t! a((!$ate a b(!$& "r!m a '!!( and t! return an a((!$ated b(!$& t! the '!!() #S-DOS a((!$ate% 'r!gram %'a$e "r!m the '!!( hen the 'r!gram i% (!aded< 'r!gram% them%e(ve% $an a((!$ate additi!na( mem!ry "r!m the '!!() #any 'r!gram% 'er"!rm their ! n mem!ry management u%ing a (!$a( mem!ry '!!(+ !r hea'3an additi!na( mem!ry b(!$& a((!$ated "r!m the !'erating %y%tem that the a''(i$ati!n 'r!gram it%e(" divide% int! a b(!$&% "!r u%e by it% vari!u% r!utine%) >er%!na( $!m'uter% that are #S-DOS $!m'atib(e $an be !ut"itted ith three &ind% !" 1A#%: $!nventi!na( mem!ry+ e2'anded mem!ry+ and e2tended mem!ry) C!nventi!na( #em!ry C!nventi!na( mem!ry i% the term u%ed "!r the u' t! 1#B !" mem!ry that i% dire$t(y addre%%ab(e by an Inte( B@B6EB@BB mi$r!'r!$e%%!r running in rea( m!de) >hy%i$a( addre%%e% "!r re"eren$e% t! $!nventi!na( mem!ry are generated by a 16- bit %egment regi%ter+ hi$h a$t% a% a ba%e regi%ter and h!(d% a 'aragra'h addre%%+ $!mbined ith a 16bit !""%et $!ntained in an inde2 regi%ter !r in the in%tru$ti!n being e2e$uted) On IB# >C% and $!m'atib(e%+ #S-DOS and the 'r!gram% that run under it% $!ntr!( !$$u'y the b!tt!m 6A@ ,B !r (e%% !" the $!nventi!na( mem!ry %'a$e) *he b!tt!m 6A@ ,B !" mem!ry admini%tered by #S-DOS i% divided int! three 5!ne%) *he interru't ve$t!r tab(e *he !'erating %y%tem area *he tran%ient 'r!gram area

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

*he interru't ve$t!r tab(e !$$u'ie% the (! e%t 1@=A byte% !" mem!ry .(!$ati!n% @@@@@@@399:/< it% addre%% and (ength are hard ired int! the 'r!$e%%!r and $ann!t be $hanged) 7a$h d!ub(e !rd '!%iti!n in the tab(e i% $a((ed interrupt vector and $!ntain% the %egment and !""%et !" an interru't hand(er r!utine "!r the a%%!$iated hard are !r %!"t are interru't number) *he !'erating %y%tem begin% area begin% immediate(y ab!ve the interru't ve$t!r tab(e and h!(d% the !'erating %y%tem 'r!'er+ it% tab(e% and bu""er%+ any additi!na( in%ta((ab(e devi$e driver% and the re%ident '!rti!n !" the $!mmand inter'reter) *he am!unt !" mem!ry !$$u'ied by the !'erating %y%tem area de'end% ith the ver%i!n !" the #S-DOS u%ed+ the number !" di%& bu""er% and the number !" the in%ta((ab(e driver%) *he tran%ient 'r!gram area .*>A/ i% the remainder !" the 1A# ab!ve the !'erating %y%tem area+ e2tending t! the 6A@ ,B (imit !r the %i5e !" the 1A#) *he tran%ient area i% !rgani5ed int! a %tru$ture $a((ed the Memory Arena" hi$h i% divided int! '!rti!n% $a((ed arena entries .!r mem!ry b(!$&%/) 7a$h arena entry i% 're$eded by a $!ntr!( %tru$ture $a((ed arena entry header, hi$h $!ntain% in"!rmati!n indi$ating the %i5e and %tatu% !" the arena entry) #S-DOS in%'e$t% the arena entry header% henever a "un$ti!n re6ue%ting a mem!ry b(!$& a((!$ati!n+ m!di"i$ati!n+ !r re(ea%e i% i%%ued< hen a 'r!gram i% (!aded and e2e$uted ith the 7F7C "un$ti!n .interru't =1: "un$ti!n AB:/< !r hen a 'r!gram i% terminated) I" any !" the arena entry header% a''ear t! be damaged+ #S-DOS return% an err!r t! the $a((ing 'r!$e%%) I" that 'r!$e%% i% CO##A8D)CO#+ then it di%'(ay% Memory allocation Error and ha(t% the %y%tem) #S-DOS Su''!rt "!r $!nventi!na( mem!ry management *he #S-DOS &erne( %u''!rt% three mem!ry management "un$ti!n%+ inv!&ed ith interru't =1:+ hi$h !'erate !n the *>A: 9un$ti!n AB: .A((!$ate #em!ry b(!$&/ 9un$ti!n A9: .9ree #em!ry b(!$&/ 9un$ti!n AA: .1e%i5e #em!ry b(!$&/ *he%e three "un$ti!n% $an be $a((ed by a''(i$ati!n 'r!gram%+ by the $!mmand 'r!$e%%!r+ and by the #S-DOS it%e(" t! dynami$a((y "ree+ a((!$ate and re%i5e arena entrie%) ;hen the #S-DOS ,erne( re$eive% a mem!ry a((!$ati!n re6ue%t+ it in%'e$t% the $hain !" arena entry header% t! "ind a "ree arena entry that $an %ati%"y the re6ue%t) *he mem!ry manager $an u%e any !" three a((!$ati!n %trategie%: 9ir%t "it C the arena entry at the (! e%t addre%% that i% (arge en!ugh t! %ati%"y the re6ue%t) Be%t "it C the %ma((e%t avai(ab(e arena entry that %ati%"ie% the re6ue%t+ regard(e%% !" it% '!%iti!n) 0a%t "it C the arena entry at the highe%t addre%% that i% (arge en!ugh t! %ati%"y the re6ue%t

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

I" the arena entry %e(e$ted i% (arger than the %i5e needed t! "u("i(( the re6ue%t+ the arena entry i% divided and the 'r!gram i% given entry e2a$t(y the %i5e it re6uire%) A ne arena entry header i% then $reated "!r the remaining '!rti!n !" the !rigina( arena entry< it i% mar&ed Iun! nedJ and $an be u%ed t! %ati%"y %ub%e6uent a((!$ati!n $a((%) #S-DOS u%e% the "ir%t C "it a''r!a$h a% it% de"au(t a''r!a$h) :! ever #S-DOS ver%i!n 3)@ and ab!ve $an u%e a di""erent %trategy "!r mem!ry management ith interru't =1: 9un$ti!n 5B: .?et E Set a((!$ati!n %trategy/) 72'anded #em!ry *he !rigina( 72'anded #em!ry %'e$i"i$ati!n .7#S/ a% de%igned t! 'r!vide a uni"!rm mean% "!r a''(i$ati!n% running !n B@B6EB@BB 'er%!na( $!m'uter% !r B@=B6EB@3B6- ba%ed $!m'uter% in rea( m!de+ t! $ir$umvent the 1#B (imit !n $!nventi!na( mem!ry+ thu% 'r!viding %u$h 'r!gram% ith very (arger am!unt% !" "a%t rand!m a$$e%% mem!ry) *he 7#S i% a "un$ti!na( de"initi!n !" a ban&-% it$hed mem!ry %ub%y%tem< it $!n%i%t% !" u%er in%ta((ab(e b!ard% that '(ug int! the IB# >C% e2'an%i!n bu% and a re%ident driver 'r!gram $a((ed the 72'anded #em!ry #anager) A% mu$h a% B #B !" e2'anded mem!ry $an be in%ta((ed in a %ing(e ma$hine) 72'anded mem!ry i% made avai(ab(e t! a''(i$ati!n %!"t are in 16,B 'age%+ hi$h are ma''ed t! the 7## int! a 6A ,B area $a((ed the 'age "rame %!me here ab!ve the $!nventi!na( mem!ry area u%ed by #S-DOS .@ C 6A@ ,B/) An a''(i$ati!n 'r!gram $an thu% a$$e%% "!ur 16 ,B e2'anded mem!ry 'age% %imu(tane!u%(y) *he 72'anded #em!ry #anager *he e2'anded mem!ry manager 'r!vide% a hard are inde'endent inter"a$e bet een a''(i$ati!n 'r!gram% and the e2'anded mem!ry b!ard.%/) *he 7## i% %u''(ied by the b!ard manu"a$turer in the "!rm !" an in%ta((ab(e $hara$ter C devi$e and i% (in&ed int! #SDOS by a devi$e dire$tive) Interna((y the 7## i% divided int! t ! di%tin$t $!m'!nent% that $an be re"erred t! a% the Driver and Manager. *he driver '!rti!n mimi$% the %!me !" the a$ti!n% !" a genuine in%ta((ab(e devi$e driver+ in that it in$(ude% initia(i5ati!n and !ut'ut %tatu% %ub "un$ti!n% and a va(id devi$e driver header) *he %e$!nd+ and maj!r+ e(ement !" the 7## i% the true inter"a$e bet een a''(i$ati!n %!"t are and the e2'anded mem!ry hard are) Severa( $(a%%e% !" %ervi$e% 'r!vide Statu% !" the e2'anded mem!ry %ub%y%tem A((!$ati!n !" e2'anded mem!ry 'age% #a''ing !" (!gi$a( 'age% int! 'hy%i$a( mem!ry Dea((!$ati!n !" e2'anded mem!ry 'age% Su''!rt "!r mu(tita%&ing !'erating %y%tem% Diagn!%ti$% r!utine%

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

72tended #em!ry 72tended #em!ry i% that %t!rage at addre%%e% ab!ve 1 #B that $an be a$$e%%ed by B@=B6 and B@3B6 in 'r!te$ted m!de) -n(i&e e2'anded mem!ry e2tended mem!ry i% (inear(y addre%%ab(e) *he addre%% !" ea$h mem!ry $e(( i% "i2ed %! n! %'e$ia( manager 'r!gram i% needed) >r!te$ted m!de !'erating %y%tem%+ %u$h a% F78IF and #S OSE=+ $an u%e e2tended mem!ry "!r e2e$uti!n !" 'r!gram%) #S-DOS !n the !ther hand run% in rea( m!de !n an B@=B6 !r B@3B6+ and 'r!gram% running under it% $!ntr!( $ann!t !rdinari(y e2e$ute "r!m e2tended mem!ry !r even addre%% that mem!ry "!r %t!rage !" data) *! 'r!vide %!me a$$e%% t! e2tended mem!ry "!r rea( C m!de 'r!gram%+ IB# >CEA*$!m'atib(e ma$hine% $!ntain t ! r!utine% in their 1O# BIOS that a((! the am!unt !" e2tended mem!ry 're%ent t! be determined .interru't 15: 9un$ti!n BB:/ and that tran%"er b(!$&% !" data bet een $!nventi!na( mem!ry and e2tended mem!ry .interru't 15: 9un$ti!n B7:/) *he%e r!utine% $an be u%ed by e(e$tr!ni$ di%&% .1A# di%&%/ and by !ther 'r!gram% that i%h t! u%e e2tended mem!ry "!r "a%t %t!rage and retrieva( !" in"!rmati!n that !u(d !ther i%e have t! be ritten t! a %(! er 'hy%i$a( di%&)

De#ice Input and Output #S-DOS re$!gni5e% t ! ty'e% !" devi$e%: b(!$& devi$e% hi$h are u%ua((y "(!''y di%& !r "i2ed di%& drive%< and $hara$ter devi$e%+ %u$h a% &eyb!ard+ di%'(ay+ 'rinter+ and $!mmuni$ati!n '!rt%) #S-DOS identi"ie% ea$h b(!$& devi$e by a drive (etter a%%igned hen the devi$e% $!ntr!((ing %!"t are+ the devi$e driver+ i% (!aded) A $hara$ter devi$e !n the !ther hand+ i% identi"ied by a (!gi$a( name .%imi(ar t! a "i(ename and %ubje$t t! many !" the %ame re%tri$ti!n%/ bui(t int! the devi$e driver) One im'!rtant di%tin$ti!n bet een b(!$& and $hara$ter devi$e% i% that the #S-DOS a( ay% add% ne b(!$& C devi$e driver% t! the tai( !" the driver $hain but add% ne $hara$ter C devi$e driver% t! the head !" the $hain) *hu%+ be$au%e #S-DOS %ear$he% the $hain %e6uentia((y and u%e% the "ir%t devi$e driver it "ind% in the $hain that %ati%"ie% it% %ear$h $!nditi!n%+ any e2i%ting $hara$ter C devi$e driver $an be %u%'ended by %im'(y in%ta((ing an!ther driver ith an identi$a( (!gi$a( name) A''(i$ati!n 'r!gram $an u%e either !" the t ! ba%i$ te$hni6ue% t! a$$e%% $hara$ter devi$e% in a '!rtab(e manner under #S-DOS) A 'r!gram $an u%e the hand(e ty'e "un$ti!n $a((% !r it $an u%e %! C $a((ed Itraditi!na(J $hara$ter devi$e "un$ti!n%) A hand(e i% a16 C bit number returned by the !'erating %y%tem henever a "i(e !r devi$e i% !'ened !r $reated by 'a%%ing a name t! #S-DOS interru't =1: "un$ti!n 3C:+ 3D:+ 5A: !r 5B:) *he %e$!nd meth!d "!r a$$e%%ing $hara$ter devi$e% i% thr!ugh #S-DOS $hara$ter in'ut and !ut'ut "un$ti!n%+ interru't =1: 9un$ti!n% @1: thr!ugh @C:) *he%e "un$ti!n% are de%igned t! $!mmuni$ate dire$t(y ith the &eyb!ard+ di%'(ay+ 'rinter+ and %eria( '!rt)

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

1@

7very #S-DOS %y%tem %u''!rt% at (ea%t the "!((! ing %et !" (!gi$a( $hara$ter devi$e% ith!ut the need "!r additi!na( in%ta((ab(e driver%) Device CO8 >18 A-F C0OC,K 8-0 Meaning ,eyb!ard and di%'(ay Sy%tem (i%t devi$e+ u%ua((y a 'ara((e( '!rt Au2i(iary devi$e+ u%ua((y a %eria( '!rt Sy%tem rea( time $(!$& Ibit C bu$&etJ devi$e

*he%e devi$e% $an be !'ened by name !r they $an be addre%%ed thr!ugh the Itraditi!na(J "un$ti!n $a((%< %tring% $an be read "r!m !r ritten t! the devi$e% a$$!rding t! their $a'abi(itie% !n any #S-DOS %y%tem)

$eripheral Support *he !'erating %y%tem 'r!vide% 'eri'hera( %u''!rt t! the 'r!gram% thr!ugh a %et !" !'erating %y%tem $a((% that are tran%(ated by the !'erating %y%tem int! $a((% t! the a''r!'riate devi$e driver%) >eri'hera( %u''!rt $an be a dire$t (!gi$a( t! 'hy%i$a( devi$e tran%(ati!n !r the !'erating %y%tem $an interje$t additi!na( "eature% !r tran%(ati!n%) ,eyb!ard%+ di%'(ay%+ and 'rinter% u%ua((y re6uire !n(y (!gi$a( t! 'hy%i$a( devi$e tran%(ati!n%: that i%+ the data tran%"erred bet een the a''(i$ati!n 'r!gram and 'hy%i$a( devi$e ith minima( a(terati!n+ i" any by the !'erating %y%tem) $rocess %ontrol >r!$e%%+ !r ta%&+ $!ntr!( in$(ude% 'r!gram (!ading+ ta%& e2e$uti!n+ ta%& terminati!n+ ta%& %$hedu(ing and interta%& $!mmuni$ati!n) A(th!ugh #S-DOS i% n!t a mu(tita%&ing !'erating %y%tem+ it $an have mu(ti'(e 'r!gram% re%iding in mem!ry at the %ame time) One 'r!gram $an inv!&e an!ther+ hi$h then be$!me% the a$tive ta%&) ;hen the inv!&ed ta%& terminate%+ the inv!&ing 'r!gram again be$!me% the "!regr!und ta%&) Be$au%e the%e ta%&% never e2e$ute %imu(tane!u%(y+ thi% %ta$& (i&e !'erati!n i% %ti(( $!n%idered t! be a %ing(e ta%&ing !'erating %y%tem) #S-DOS d!e% have a "e h!!&% that a((! $ertain 'r!gram% t! d! %!me mu(tita%&ing !n their ! n) 9!r 72am'(e+ terminate and %tay re%ident .*S1/ 'r!gram% %u$h a% >1I8* u%e the%e h!!&% t! 'er"!rm (imited $!n$urrent 'r!$e%%ing by ta&ing $!ntr!( !" %y%tem An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh 11

re%!ur$e% hi(e #S-DOS i% I id(eJ and the #i$r!%!"t ;ind! % !'erating envir!nment add% %u''!rt "!r n!n'reem'tive ta%& % it$hing+ *he traditi!na( interta%& $!mmuni$ati!n meth!d% in$(ude %ema'h!re%+ 6ueue%+ %hared mem!ry+ and 'i'e%) O" the%e+ #S-DOS "!rma((y %u''!rt% !n(y 'i'e%) .A 'i'e i% a (!gi$a(+ unidire$ti!na(+ %e6uentia( %tream !" data that i% ritten by !ne 'r!gram and read by an!ther)/ *he data in 'i'e re%ide% in mem!ry !r in a di%& "i(e+ de'ending !n the im'(ementati!n< #S-DOS u%e% di%& "i(e% "!r intermediate %t!rage !" data in 'i'e% be$au%e it i% a %ing(e ta%&ing !'erating %y%tem)

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

1=

Summary #S-DOS i% ide(y a$$e'ted traditi!na( !'erating %y%tem) 7a$h ne er ver%i!n added m!re "eature% that made the %y%tem ea%ier t! u%e "!r b!th u%er% and 'r!grammer%) ;hi(e #S-DOS had been ev!(ving+ inten%e e""!rt% ere 'ut int! the area% !" u%er inter"a$e% and mu(tita%&ing !'erating %y%tem%) #i$r!%!"t ;ind! %+ "ir%t %hi''ed in 19B5+ 'r!vide% a mu(tita%&ing+ gra'hi$a( u%er Lde%&t!'L "!r #S-DOS %y%tem%) ;ind! % ha% &e't !n ev!(ving+ adding ne "eature% ith every ver%i!n and re$ent(y ;ind! % F> ha% been re(ea%ed) #S-DOS %u''!rt% t ! di%tin$t but !ver(a''ing %et% !" "i(e and re$!rd management %ervi$e%) *he hand(e !riented "un$ti!n% !'erate in term% !" nu(( terminated "i(ename% and 16-bit "i(e identi"ier% $a((ed hand(e% that are returned by the #S-DOS hen the "i(e i% $reated !r !'ened) >er%!na( $!m'uter% that run !n #S-DOS $an %u''!rt a% many a% three di""erent ty'e% !" "a%t+ rand!m a$$e%% mem!ry .1A#/) C!nventi!na( mem!ry i% the term u%ed "!r the 1#B !" (inear %'a$e a$$e%% ab(e by B@=B6 !r B@3B6 mi$r!'r!$e%%!r in rea( m!de) A% mu$h a% B#B !" e2'anded mem!ry $an be in%ta((ed in a >C+ hi$h i% made avai(ab(e in 16,B 'age% and i% admini%tered by a driver 'r!gram $a((ed the 72'anded #em!ry #anager) 72tended #em!ry re"er% t! the mem!ry addre%%e% that $an be a$$e%%ed by B@=B6 !r B@3B6 in 'r!te$ted m!de) A% mu$h a% 15#B !" 72tended #em!ry $an be in%ta((ed) #S-DOS re$!gni5e% t ! ty'e% !" devi$e%+ b(!$& and $hara$ter devi$e%) B(!$& devi$e% are u%ua((y "(!''y di%& and "i2ed di%&+ hi$h are a$$e%%ed !n a %e$t!r ba%i%) *he $hara$ter devi$e% %u$h a% &eyb!ard+ di%'(ay and 'rinter $an be a$$e%%ed u%ing either !" the t ! meth!d%+ the hand(e ty'e "un$ti!n $a((% !r thr!ugh #S-DOS $hara$ter in'ut and !ut'ut "un$ti!n%) #S-DOS i% n!t a mu(tita%&ing !'erating %y%tem< it i% a %ing(e ta%&ing !'erating %y%tem)

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

13

Biblio!raphy 1) DOS Interna(% by ?e!"" Cha''e(() =) -nd!$umented DOS by S$hu(man) 3) #S-DOS en$y$(!'edia by 1ay Dun$an and Bi(( ?ate%) A) )mi$r!%!"t)$!m

An Overvie !" #i$r!%!"t Di%& O'erating Sy%tem by Dheeraj Chugh

1A

Vous aimerez peut-être aussi