CS代考 github.com bitbucket.org

github.com bitbucket.org
triv lanoitidda llatsni nac uoy ,ffuts rehto llatsni dna utnubU htiw yalp ot tnaw uoy fI .ni otni deen t’nod emngissalenrekruogniodrofylnoenihcamlautrivani40.61utnubUaesuottsebs’ti,oslA.smetsys lenrekruoyedargtonlliweW.5.2UMEQhtiw40.61utnubUnostnemngissalenrekruoyedargYLNO enategotuoyplehtonlliweW.40.61utnubUnahtrewengnihtynanoemitruoyetsawtonodesaelP
!elbissopsanoossarotcurtsniehttcatnocdluohsuoydnaylreporp5.2 ondiduoy,ylekiltsom,thgirgnikrowtonsiesehtfoynafI.40.61utnubUrednutnemngissaehtgubed ocnacuoytahterusekamdluohsuoy,uoyotelbaliavaedamsi1tnemngissAlenreKehtsanoossA
.esu afretni resu lacihparg on ,.e.i( ecafretni enildnammoc a teg ylno uoy ,tluafed yb ,taht si putes siht htiw nepO na snur taht ot ssecca evah ew revres a no uoy rof tnuocca a etaerc ot su rof si tfel noitpo ylno gtonnacuoyfI.stnemngissalenrekehtgniodroferawtfosderiuqerehtlladellatsnievahuoytahterus aMaroswodniWano40.61utnubUllatsniotwohnosnoitcurtsniehteesesaelp,metsysahcusevah bUfonoisrevbusyna(5.2UMEQgninnur40.61utnubUrednukrowotedocruoytegderiuqererauoY
.etorwehs/ehedocfoenilyrevenialpxenacenoyreve aet ruoy htiw netfo teeM !gnitaehc ton era setammaet ruoy taht erus ekam esaelp ,eroferehT .detaehc ,detaehc rebmem maet eno ylno fi neve ,maet a morf noissimbus eno ylno si ereht ecniS .ssalc eht ni natsehT.noitagitsevnignitaehcrofsriaffAlaiciduJtnedutSCSUotesacruoydrawroflliwI,retsemes us a dessecca evah uoy taht noissimbus ruoy morf tnedive s’ti fI .gnitaehc deredisnoc si )skrow edoc tsemes suoiverp a morf noissimbus a nur uoy ,.g.e( retsemes suoiverp a morf noissimbus a gnisseccA
.2 tnemngissa etelpmoc ot tlucffiid ti dnfi yam uoy ,)elpmaxe rof( 1 tnemngissa h t’nod uoy fi ,”evitalumuc” era stnemngissa eht ecnis :ylrae stnemngissa eht no gnikrow nigeb esaelP
ylno snoissimbus cinortcelE .1202/3/21 ,MP54:11 eud ,)MV – yromem lautriv( 3 tnemngissA lenreK .ylno snoissimbus cinortcelE .1202/21/11 ,MP54:11 eud ,)SFV – reyal SFV( 2 tnemngissA lenreK snoissimbus cinortcelE .1202/22/01 ,MP54:11 eud ,)SCORP – sdaerht lenrek( 1 tnemngissA lenreK
p eht rof edoc eht nopu sdneped tnemngissa hcae esuaceb ,woleb detsil redro eht ni stnemngissa eht doc ruoy dda ro yfidom ot erehw rof snoitcurtsni deliated nevig era uoY .seceip gnissim era ereht tub tsoM .xineew dellac metsys gnitarepo lateleks a fo esaeler yranib dna ecruos a htiw dedivorp era uoY
ro,srecudorpesruoceht,sATehtotsnoitseuqruoygnidneserofebQAFlenrekehttuokcehcesaelP( weivrevO
).ypoc etavirp a meht dnes nac uoy tonoduoytahtmehtlletesaelp,edocruoytsopotuoysksareyolpmeevitcepsorpafI(.scepsetavirp ruoy ecnis ecalp cilbup a ta sceps eseht noitatnemelpmi ot etirw uoy edoc eht yalpsid ot snoissimrep )yrotisoper cilbuparo noerehwynasahcus(ecalpcilbupatascepseseht tonoduoY.)CSUta204ICSCgnikaterarokootohwstnedutsrofylno,.e.i(etavirperascepsesehT
stnemngissA gnimmargorP lenreK
204ICSC1202llaF
] muroF | stcejorP | snoissucsiD | soediV | serutceL | noitpircseD | emoH [
puteS dna daolnwoD
setisiuqererP metsyS
gnitaehC
ecneicS retupmoC fo tnemtrapeD

assignment-3.8.0.tar.gz
tar xvzf weenix-assignment-3.8.0.tar.gz
cd weenix-assignment-3.8.0/weenix
make clean
make
make grub-mkrescue sudo apt-get install -y xorriso
weenix
./weenix -n
Not yet implemented: PROCS: bootstrap, file main/kmain.c, line 184
panic in main/kmain.c:186 bootstrap(): weenix returned to bootstrap()!!! BAD!!!
Kernel Halting.
kernel/main/kmain.c
NOT_YET_IMPLEMENTED(“PROCS: bootstrap”);
NOT_YET_IMPLEMENTED()
doc/latex/documentation.pd
f
.senilediug gnidarg eht fo noitces “stniop sulp” eht ni esle gnihtyrevE – stset DENNAC-ERP .3 .senilediug gnidarg eht fo noitces “stniop sulp” eht fo noitces tsal eht si sihT – skcehc-FLES .2 .senilediuggnidargehtfo)A(noitcessisihT-sTRESSAK.1
:stset fo seirogetac 3 era ereht ,senilediug gnidarg eht fo noitces “stniop sulp” eht nI
.stnemngissa eht fo hcae rof senilediug gnidarg cfiiceps daer esaelP .enihcam ruoy no stnemngissa on era eW .enihcam s’rotcurtsni eht ro enihcam s’redarg eht rehtie no demrofrep eb ylno nac gnidarG g ew nehw senilediug gnidarg evitcepser eht wollof lliw ew ,stnemngissa pumraw rof gnidarg ekil tsuJ
.61 utnubU no krow sgniht ekam ot defiidom neeb evah ecruos lenrek enitsirp eht ,oslA .ti ni sgub dna U nworB morf emac noitatnemucod xineew eht taht dnatsrednu esaelP .)5.2.2 noitces ,.g.e( elbacilppa es yna piks esaelP .ecneinevnoc ruoy rof ereh dedivorp si )FDP ni( noitatnemucod xineew eht fo ypoc “saelbaliavasi)FDPni(noitatnemucodxineewetelpmocehtfoypocA
.lenrek eht ot selfi emasehtnimehttuptub(snoitcnuflanoitiddaddadnapuedocruoytilpsottnawyamuoy,snoitcnuf nemecalper eht od ot elba eb dluohs uoy ,snoitcnuf eseht fo tsom roF .od ot deen uoy tahw gnidrager
eht ekil kool taht senil dnuora stnemmoc dna edoc eht ta kool uoy fI ).noitcnuf rocehttuotnemmocroevomertondnanoitcnufralucitraparofedocetirwtonodesaelP(.snoitcnuf tatnemelpmi ruoy htiw edoc hcus lla ecalper ot si boj ruoY .evoba tuotnirp eht rof elbisnopser s’ti dna
.xineew ni desu elfiekaM eht kaerb nac uoy ro )stekcarb dna sisehtnerap sa atnoctonseodhtiwtratsuoyyrotceridehtfohtapllufehttahterusekamesaelp,oslA).tuobaluferac eromdnaodnacuoytahwtuobametiQAFlenreksihteesesaelp,yawtahttiodotevahuoyfI.redlof ssa lenrek eht no krow ot referp ylurt stneduts emoS( .lenrek ruoy elipmoc ot elba eb ton lliw uoy dna cilobmysemos,redlofderahsaedisnisdnammocevobaehtnuruoyfI.redlofderahsanisdnammoc odniWnoenihcamlautrivaedisnigninnursi40.61utnubUruoyfitahttnatropmiyrevsiti,yawehtyB
nur esaelp ,” ” tuoba gnihtemos gniyas egassem rorre na ees uoy fi ,evoba ” ” gniruD
:enihcam40.61utnubUruoynoedocecruoslenrekehtelipmoc nimret a ni gniwollof eht od esaelP .)eman elfi tluafed eht eb dluohs hcihw( ”
c lenrek enitsirp eht sa ot derrefer eb dluow siht( llabrat edoc ecruos lenrek eht daolnwod ot ti ni knil oslenrekdezilanosrepruoydaolnwodotknilagniniatnocliam-enadeviecerevahdluohsuoy,wonyB
.sliated erom ni meht ta kool s’teL
snoitaredisnoC gnidarG lareneG
:ekilskool” “fo481eniL
:wodniw lanimret eht fo mottob eht ta gniwollof eht ees dluohs uoy ,llew seog lla fI
:od tsuJ .emit tsrfi eht rof trats ot ydaer era uoy woN
sTRESSAK

KASSERT()
dbg() dbg()
kmutex_unlock()
KASSERT()
kmutex_unlock()
NOT_YET_IMPLEMENTED(“PROCS: …”) NOT_YET_IMPLEMENTED(“VFS: …”)
NOT_YET_IMPLEMENTED(“S5FS: …”) NOT_YET_IMPLEMENTED(“VM: …”)
initproc_run()
dbg()
i
n
moc level-llehs a eb dluow siht ,yllacipyT .detucexe teg ot ecneuqes edoc taht esuac ot mrofrep ohcihwredargehtlletotdeenuoy,ecneuqesedochcaeroF.ecneuqesedochcaehcaerotwoh enehT,”sllac gnimrofnoc”ekamtsumuoyerehwdootsrednudnadaerevahuoytahtneviG
.skcehc-FLESfoelurehtottcejbusTONsiedocrehtoyna morf elbahcaer ylno s’taht etorw uoy edoc eht taht si enil mottob ehT .lenrek ruoy tset ot ereht cllehskruoyrofetorwuoyedocehtdna nietorwuoyedocehtotylppatonseod ES eht ,eroferehT .)melborp noisrucer etinfini na htiw pu dne dluow ew ro( elur siht morf dedulcxe eht fo noitatnemelpmi ruoy gnitset fo esoprup eht rof snoitcnuf deriuqer eht fo edistuo etorw uoy sselesutonsimehtniedocfoenilyrevetahtredargehtotetartsnomedotevahuoyedocehtera
uoy edoc deredisnoc era ro
uoyedocynadna,2lenrekrofetorwuoyedocderedisnocera
edoc yna ,1 lenrek rof etorw uoy edoc deredisnoc era ecalper na ,esicerp eb oT .tnemeriuqer skcehc-FLES eht yfsitas ot sdeen etirw uoy edoc fo enil yreve toN
.skcehc-FLES nimer dna niaga hpargarap siht daer dna kcab emoc esaelp ,tnemeriuqer skcehc-FLES eht tuoba ehw ,oslA .deecorp uoy erofeb ylluferac ti daer esaelp ,oS .enod eb ot sdeen siht woh dnatsrednu aeganam erom siht ekam oT .krow fo tol a ekil sdnuos sihT .)lenrek eht gninnur nehw edoc fo enil reht,.e.i(“elbasrevart”ebtsumnoitcnufderiuqerarofnettirwevahuoytahtedocfoenilyreve snomedoT.)lenrekruoynihsartynaevaeltonoduoy,.e.i(lufesusietorwuoyedocfoenilyreve en uoy taht si ereh tnemeriuqer eht ,eroferehT .etirw ew edoc fo enil yreve tset ew taht tnatropmi SOehtnisnurtahtedocrof,ylraelC!etirwewedocehtfoenilyrevetsetew,ecneicSretupmoC upmoC a si si sihT .liated retaerg ni ereh denialpxe s’ti ,os ,noisufnoc fo ecruos a si skcehc-FLES
skcehc-FLES lliwredargehtwoheesotsenilediuggnidargevitcepserehteesesaelp,stsetDENNAC-ERProF
.llac )(TRESSAK a hcus hcae hcaer dluow tset tahw redarg eht llet ot “llac gnimrofnoc” cerroc eht esu tsum uoy ,eroferehT .)elosnoc eht no detnirp ,.e.i( noitca ni “llac gnimrofnoc” dna lenrek ruoy nur tsum redarg eht ,sllac )(TRESSAK eseht rof tiderc teg ot uoy rof redro ni taht lanimret eht ni ti ees nac redarg eht taht os llac )(TRESSAK gnidnopserroc eht retfa yletaidemmi ekam tsum uoy ,sllac )(TRESSAK eseht detucexe yllufsseccus sah edoc ruoy taht etartsnomed oT
).yltcerroc erdluoweroferehtdnaxetumkesuSF5SdnaSREVIRDniseitilanoitcnufemos,lenrekevitpmeerp a taht eton esaelP( . kcehc .g.e ,dohtem eht rof stnemmoc eht ni esu ot tnaw uoy fi uoy yllausU .eromyna redloh xetum eht TON si daerht tnerruc eht ,daerht wen a pu gnikaw retfa t si daerht tnerruc eht taht tressa ot esnes sekam ti noitcnuf eht ni ,elpmaxe roF
.)tnemugra gnirts tcerroc eht htiw tnemetats etaidemmi ,woleb denoitnem “llac )(gbd gnimrofnoc” deriuqer a sulp( noitcnuf taht morf gninruter llac )(TRESSAK deriuqer eht dda ot deen tsuj uoy ,tnemeriuqer eht yfsitas oT .noitcnuf taht morf pyreverofnoitidnoc-tsopas’titahtnaemylirasecent’nseodevobadenoitnemnoitidnoc-tsopa ot dnopserroc yam snruter emoS .gninruter fo syaw lareves evah yam noitcnuf a taht eton esaelP
im eht ni erehwemos snaem “elddim” dna dne eht raen snaem “noitidnoctsop” ,ylralimiS .noitcnuf ot sdeen ti taht snaem tsuj tI .noitcnuf a edisni tnemetats tsrfi eht eb tsum ti taht naem ton seod i “noitidnocerp” a sa defiiceps si a fi ,”stnih” era yeht ecniS( !roivaheb tcerroc eht htiw oy ot stnih era sTRESSAK eseht ,yaw a nI .era snoitidnoc-tsop dna snoitidnoc-erp tnatropmi eht cnuf a tahw dnatsrednu uoy taht etartsnomed ot secalp etairporppa ta stnemetats dda uf eht erofeb thgir yfsitas tsum ti snoitidnoc-tsop tahw dna ,emussa tsum ti snoitidnoc-erp tahw f tahw tuoba kniht ot deen uoy ,tnemelpmi ot esoppus era uoy noitcnuf hcae rof ,lareneg nI .edoc sumuoyerehweesotsenilediuggnidargevitcepserehtfo)A(noitceseesesaelp,sTRESSAKroF
stset DENNAC-ERP

dbg()
/* sequence1 */
if (cond1) {
/* sequence2 */
} else {
/* sequence3 */
}
/* sequence4 */
sequence1
/* sequence1 */
if (cond1) {
/* sequence2 */
dbg()
sequence2
dbg()
sequence2
dbg(DBG_PRINT, “(GRADING1A)\n”);
} else {
/* sequence3 */
dbg(DBG_PRINT, “(GRADING1C 3)\n”);
}
/* sequence4 */
dbg(DBG_PRINT, “(GRADING1A)\n”);
/* sequence1 */
if (cond1) {
/* sequence2 */
sequence3
dbg(DBG_PRINT, “(GRADING1A)\n”);
} else {
/* sequence3 */
dbg(DBG_PRINT, “(GRADING1E 2)\n”);
}
/* sequence4 */
dbg(DBG_PRINT, “(GRADING1A)\n”);
sequence3
cond1
(GRADING1C)\n
dbg()
se
sequence4
sequence3
sequence2 sequence3
(GRADING1C 3)\n
dbg()
sequence4
s
q
:otedocevobaehtegnahcotdeendluowuoyneht,)elfiEMDAERruoy “skcehc-FLES”ehtnisihttnemucodotdeenuoy,niaga(2#tsetbussi etucexeoteno esoprupehtrofnurnacuoysdnammoclevel-llehselpitlumevahuoyfI.skcehc-FLESfoesoprup ahttsetlanoitiddahcusekovniotwohtnemucodtsumuoy,noissimbusruoyfoelfiEMDAEReht nidarg eht fo )E( noitces ,.e.i( yrogetac skcehc-FLES eht ni edoc tset a deredisnoc eb dluow sihT ot si yaw tsrfi ehT .seciohc owt evah uoy neht ,)eurt syawla si ,.e.i( stset DENNAC-ERP eht gnitixe dna gnitrats rehtie yb desicrexe eb tonnac eht taht esoppus ,dnah rehto eht nO
.” ” ton dna ” ” esu dluohs uoy neht ,senilediug gnidarg rehtegot stsetbus eht lla nur ot dnammoc level-llehs eno ylno si ereht dna senilediug gnidarg eht NNAC-ERP a si hcihw( 3 tsetbus nur ot dnammoc level-llehs etarapes a esu ot yaw on si ereht fI
oehtypocotesoohcylirartibraew,elpmaxeevobaehtnI. retfatitupdna ro aht “llac gnimrofnoc” eht fo eno rehtie ypoc nac uoy ,eroferehT .detucexe eb lliw
uoy ,detucexe si ro rehtie fi ,elpmaxe siht nI .)edoc fo enil eno ylno sniatnoc retfa “llac gnimrofnoc” a dda tsum uoy ,stnemeriuqer eht ot gnidrocca ,taht eton esaelP
:gniwollof eht od dluohs uoy nehT .nur nac redarg eht dnammoc level-llehs etarapes nidarg eht fo )C( noitces ni )tset DENNAC-ERP a si hcihw( 3 tsetbus nur uoy nehw ylno detucexe k eht trats ylpmis uoy nehw detucexe si taht yas s’teL ).stnemeriuqer ruo lla wollof uoy
er ruoy si tI !erus ton era uoy fi rotcurtsni eht ksa dna ylluferac yrev stnemeriuqer eht daer esaelP aht tespu tog dna secalp gnorw eht ta “sllac gnimrofnoc” kcehc-FLES eseht tup sretsemes drow taht fo ecnatropmi eht sserts ot der ni “DNE” drow eht gnithgilhgih m’I( .) ton tub( , foDNEehtta”sllac gnimrofnoc”ddatsumuoy,stnemeriuqerehtotgnidroccA
:1 puserauoys’tahtnoitcnufanigniwollofehtekilskooltahtedocnettrwevahuoyfi,elpmaxeroF
arg eb tsum noissimbus yreve dna ycilop gnidarg eno ylno evah ew taht rebmemer esaelp ,niagA( ne yam uoy ,thgir ti od t’nod uoy fI .tnatropmi yrev si “sllac gnimrofnoc” fo gnilebal tcerroC
).ecneuqesedocahcaeroteraerehtyawtnereffidynamwohwonkotdeentonseodoslaredarg taesicrexefosyawelbissopehtllatondnatonrodesicrexeebnacecneuqesedoctahtrehtehw rg eht ecnis tnadnuder eb dluow ecneuqes nevig a etucexe nac noitca eno naht erom taht redarg enrek rof llehs ecaps-resu eht ro 2 dna 1 stnemngissa lenrek rof llehs lenrek eht rehtie otni epyt

/* sequence1 */
if (cond1) {
/* sequence2 */
dbg(DBG_PRINT, “(GRADING1A)\n”);
/* } else {
/* sequence3 */
*/
}
/* sequence4 */
dbg(DBG_PRINT, “(GRADING1A)\n”);
cond1
/* sequence1 */
KASSERT(cond1);
/* sequence2 */
/* sequence4 */
dbg(DBG_PRINT, “(GRADING1A)\n”);
else
cond1
else
weenix
Config.mk .c
(Comments?)
n2 ehT .)esle gnihtemos nwod tup ot uoy tcurtsni yllaicfiiceps txet eht sselnu( meti gnidnopserroc tuoyerocsehtsihcihweulavlaciremunahtiwkramnoitseuqhcaeecalpertsumuoY.senilediug op sulP” eht ot sdnopserroc trap tsrfi ehT .strap owt era ereht ,noitces “GNIDARG-FLES” eht roF
.noitcurtsni ruoy wollof ot dettimrep ton si redarg eht ,)elfi a gnignahc sa hcus( hs/eh taht gnihtemos egnahc ot redarg eht ksa uoy fi taht dnatsrednu esaelP .deussi si dnammoc dni esaelp ,senilediug gnidarg eht morf tnereffid gnihtemos eb ot ” ” yfidom ot redarg ot t desu eb ot sdnammoc eht htiw ” ” ecalper tsum uoy ,noitces “NUR & DLIUB” eht roF
noitcesderiuqerehtfohcaerofsliatederomemoseraereH.tniop5.0tsaeltaesoldluowuoy,woleb emos htiw decalper ton si taht kram noitseuq a hcae roF .elfi EMDAER etelpmocni na rof stniop 01 ot nrekhcaeroF.etairporppagnihtemoshtiwmehtecalperdnaetalpmetEMDAERehtniskramnoitseuq i aedi cisab eht ,elfi EMDAER eht etelpmoc oT .ceps eht ni etlapmet EMDAER gnidnopserroc eht htiw lper dna elfi EMDAER dedivorp eht ni noitcurtsni eht wollof tsum uoy ,stnemngissa lenrek eht fo hcae htrofstnemeriuqerEMDAERehtotralimiserastnemngissalenrekehtrofstnemeriuqerEMDAERehT
.senilediug ewsiht,.e.i(snoitacfiicepstnemngissalenrekehterastnemeriuqerruO.denrecnocsignidargsaraf ehtylirassecentoneranoitatnemucodehtdnaskcolbtnemmocedocecruosehtnidenoitnems’tahw orB morf emac )FDP ni( fo noitatnemucod dna edoc lenrek enitsirp eht taht eton esaelp ,yllaniF
.noitamrofni octidnaedocdettimbusehthtiwtnetsisnocsititahterusekamotelfiEMDAERdettimbusehtkcehc firev ot puorg ruoy fo rebmem eno etangised ot aedi doog a osla s’tI .noisufnoc diova ot snoissimbus o ylno etangised uoy fi tseb eb dluow tI .noissimbus a ekam ot sdeen puorg ruoy fo rebmem eno ylnO
.nrael ot lliks tnatropmi na s’tI .edoc-oduesp ro edoc ekil kool taht gnihtyna gnisu ucsid level-hgih a evah ot woh nrael ot deen uoY .dekover eb lliw puorG elgooG ssalc eht ot egelivirp emngissaruoyfo%05esollliwuoy,)lanoitnetninuebyamtub(gnitaehcderedisnocsisihtecnis,emit oy fI .)edoc fo senil 3 naht erom tol a detsop uoy sselnu( gninraw a teg lliw uoy ,tnedicca yb emit tsrfi ,tnemngissa ralucitrap a roF .puorG elgooG ssalc eht ot tsop a ekam uoy nehw seman noitcnuf erom pro(edocfosenileromro3tsoptontsumuoytahtenoyrevednimerottnawI]1202/72/9dexfi:CB[
.tnemeriuqer skcehc-FLES eht gniyfsitas fo yaw derreferp eht si siht set lanoitidda gnitirw tuohtiw noitces “skcehc-FLES” eht rof tiderc lluf teg lliw uoy ,eurt s’ti fI .ton sfikcehclliwredargehT”.desicrexeerashtapedoclla,senilediuggnidargehtfosnoitcesevoba nur yB” :etirw ylpmis nac uoy ,elpmaxe roF .elfi EMDAER ruoy fo noitces “skcehc-FLES” eht ni os cruoylladesicrexeevahuoy,senilediuggnidargehtfosnoitcesrehtonistsetehtllagninnurybfI
stnemngissAlenreKrofstnemeriuqeREMDAER
.eurtsyawlasi fidohtemderreferpehtsievobaehT
renaelc dna( tnelaviuqe eb dluow edoc wollof eht neht ,eurt syawla si ecnis ,elpmaxe siht nI
:htap edoc ” ” eht tuo tnemmoc ot si yaw tsrfi ehT !siht od ot syaw noitiddaetirwotevaht’nowuoy,yawsihT!htapedoc” “ehtevomerylpmisotsiyawdn2ehT

(Comments?)
yes no
no
dbg()
dbg()
(GRADING#S X.Y)\n
dbg()
dbg_print()
DBG_PRINT
S X.Y
1.a a 1
X.Y
(GRADING#S X)\n
(GRADING#S)\n
(GRADING#A)\n
X.Y
dbg()
X
dbg()
dbg()
S
dbg( d
#
b
noc”anehwtahtdnatsrednuesaelP.”llac gnimrofnoc”gnidnopserrocehtroftiderceviecer erehtnahtnoitamrofnieromsniatnoctnemugradnocesehtfirostnemugralanoitiddaevahuoyfI.3
.)evoba htedulcnitsumuoy,enildnammocllehsaninuryltnednepedniebnactahttsetbusaevahuoyfI
.)ereh ytiugibma on si ereht os h enilediug gnidarg a fo )A( noitces ni TRESSAK yreve ecnis( ” ” ti lebal tsuj nac uoy ‘nod uoy ,.e.i( “llac gnimrofnoc” ralucitrap a hcaer ot lenrek eht pots dna trats ylpmis uoy fI
.” ” esu dna )yletarapes noitcesnistsetbusehtnurotyawonsierehtro(rebmuntsetbusaevaht’noduoyfI
.” acuoy,)yletarapes tsetbusnismetinurotyawonsierehtro(rebmunmetinaevaht’noduoyfI
.)noitatnemucod ruoy dna( gniod era uoy tahw sehctam taht gnihtemos ot ” ” egnahc dluohs itcesrehtoroF.noitatonehtfotrap” “edulcnitsumuoy,enilediuggnidargani)A(noitcesroF
.stniopfotolaesollliwuoyroerehdetcidnisayltcaxeenodebtsum noitisop eht ,”GNIDARG” fo gnilleps eht ,sesehtnerap ehT .)” ” tsetbus fo ” ” meti rof ” ” ,.g.e( rehtnirebmunmetidnatsetbuscfiicepsaotsdnopserroc” “dna,)…,C,B,A,.g.e(senilediug irebmunnoitcesaotsdnopserrocdnaderiuqersyawlasi””,)3ro,2,1,.e.i(rebmuntnemngissa
yawla si ” ” erehw ,” ” ,mrof eht ni laretil gnirts a eb tsum tnemugra dnoces ehT .2
).tiderc yna eviecer ot tnaw uoy fi gnillacottnelaviuqetonsisihttahtdnatsrednuesaelP(. ebtsumtnemugratsrfiehT.1
gnimrofnoc” a rof tnemeriuqer eht si woleB .stnemugra fo rebmun elbairav ekat nac llac A
qer owt eseht dnatsrednu uoy erus ekam esaelP .senilediug gnidarg eht ni tnemeriuqer “kcehc-FLES” oemosevasnacuoynehweesotwolebselpmaxeeesesaelp(“llac gnimrofnoc”gnidnopserroc tsumllac)(TRESSAKderiuqerhcae,esacsihtnI.senilediuggnidargehtfo)A(noitcesnitnemeriuqer ( .edoc ruoy ni “llac gnimrofnoc” a ekam )tsum dna( dluow uoy yhw snosaer owt ylno era erehT
.noitpircsed hcus piks ylisae nac redarg eht os ylraelc ti kram esaelp vahuoytahtos(ottnawuoyfituB.elfiEMDAERruoynicepsehtmorfgnihtynaedulcnitonodesaelP
.ylgnidrocca noitamrofni dedeen edivorp dna ylluferac meht darg eht ni meht ees uoy fI .senilediug gnidarg eht fo hcae ni “)deriuqeR(” txet eht htiw delebal ylraelc ot deriuqer era uoy hcihw rof snoitces cfiiceps-tnemngissa lanoitidda eb yam ereht taht eton esaelP
.”enon” drow eht htiw kram noitseuq ot gnihton s’ereht fI .eruliaf fo epyt ralucitrap a retnuocne ton lliw redarg eht fi senilediug gnidarg iM”ehtninoitcudedategtonyamuoytub,metitahtroforezateglliwuoy,tipiksotredargeht edarg eht fI .)senilediug gnidarg eht fo noitces “stniop suniM” eht ni stniop lanoitidda esol ot uoy m dna( krow t’now yeht taht wonk uoy esuaceb deppiks eb dluohs taht noitces “stniop sulP” eht ni snoitcurtsni htiw kram noitseuq eht ecalper tsum uoy ,noitces “PIKS OT STSET / SGUB” eht roF
.)maet a sa llew krow ton od uoy fi stniop esol dluow rebmem maet enoyreve ,.e.i( htmialcuoyfierocselbissoptsehgihehttegdluowmaetruoynienoyrevetahtrebmemeresaelP atnecrep eht tsil esaelp ,” ” derewsna uoy fi dna ,” ” ro ” ” rehtie htiw ” ” ecalper
)sesserddaliamgesut’nodesaelp(srebmemmaetfosesserddaliam-eCSUdnasemangnitsilyb muoy,traptsrfiehtroF.strapowteraereht,noitces”SREBMEMMORFNOITUBIRTNOC”ehtroF
.noitamrofni etairporppa lp ,noitidda nI .meti gnidnopserroc eht rof teg lliw uoy kniht uoy noitcuded eht si hcihw 0 ot lauqe un a htiw kram noitseuq hcae ecalper tsum uoY .senilediug gnidarg eht fo noitces “stniop suniM”
sllaC gnimrofnoC

#
(GRADING3
dbg(DBG_TEMP, “…\n”, …)
DBG_PRINT
dbg()
DBG=error,test Co
(GRADING1 (GRADING
dbg_print()
dbg()
dbg()
dbg(DBG_PRINT, …) dbg_print() dbg_print()
dbg(DBG_PRINT, “(GRADING1A)\n”);
dbg(DBG_PRINT, “(GRADING1B)\n”);
dbg(DBG_PRINT, “(GRADING1C)\n”);
dbg(DBG_PRINT, “(GRADING1D 1)\n”);
dbg(DBG_PRINT, “(GRADING1D 2)\n”);
dbg(DBG_PRINT, “(GRADING1E)\n”);
dbg(DBG_PRINT, “(GRADING1E 2)\n”);
faber_thread_test()
sunghan_test()
sunghan_deadlock_test()
dbg()
DBG=error,print,test Config.mk dbg()
KASSERT(…);
dbg(DBG_PRINT, “(GRADING1A x.y)\n”); /* nothing between this line and the above KASSE
) \n
/* “…” means whatever that’s required, accordi
itas ot gniwollof eht esu ,
:tnemeriuqer gnillac yb detucexe ylno si ecneuqes edoc a fi
ES eht yfsitas ot gniwollof eht esu ,
gnillac yb detucexe ylno si ecneuqes edoc a fi
t yfsitas ot gniwollof eht esu ,
gnillac yb detucexe ylno si ecneuqes edoc a fi
:od nac uoy ,)y.x.A( meti ni seirtne evitucesnoc dna elpitlum rof tiderc teg ot
:od,2#tsetnworuoygninnurybdetucexeebylnonacecneuqesedocafi
od ,tset eno evah ylno uoy dna tset nwo ruoy gninnur yb detucexe eb ylno nac ecneuqes edoc a fi
cehc-FLES eht yfsitas ot gniwollof eht esu ,llehsk gninnur yb detucexe ylno si ecneuqes edoc a fi
S eht yfsitas ot gniwollof eht esu ,xineew gnippots/gnitrats tsuj yb detucexe si ecneuqes edoc a fi
.senilediug gnidarg evitcepser eht ni srettel noitces tcerroc eht esu dna rebmun tnemngissa eht si ” ” egnahc esaelp ,stnemngissa lenrek rehto roF .ylno 1 tnemngissA lenreK rof nevig era woleb selpmaxE
.stniopfotolaesollliwuoy,taht P .”llac gnimrofnoc” a ni ” ” dna ” ” neewteb txet gniyfitnedi dda ot ekil stneduts emos ,yllaniF
gnisolpudnelliwuoyrodetalergnidarggnihtynarof esutontsumuoY.srebmunenildna seod esuacebtnelaviuqetonera dna tahtetonesaelP
il etarapes a no tuotnirp ecudorp tsum llac hcus yreve taht eton esaelP . ,.e.i(otnoitnettayapotredargehttnawt’noduoytahtflesruoyrofstnemetatsgniggubedevahuoyfI
“ro” “sniatnoctahttuotnirpynatakooltonlliwredargeht,3lenrekgnidargnehW irpynatakooltonlliwredargeht,2lenrekgnidargnehW.stniopfotolagnisolpudneyamuoy,ereh sut’noduoyfi,eroferehT.ylevitcepser,3lenrekdna,2lenrek,1lenrekgnidargnehw” “dna bus eht niatnoc taht senil rof kool lliw redarg eht ,yllacfiicepS ).stset DENNAC-ERP eht sedarg redarg ” ni ” ” taht eton eselP( .lanimret eht ni tuotnirp ” gnimrofnoc” rof kool ylno lliw uggnidargehtfo)A(noitcesgnidargnehw” “ni” “teslliwredargehT
.meti QAF lenrek siht ni denoitnem nosaer eht isihttahtdnatsrednuesaelP.)stniopfotolaesollliwuoy,esoprupsihtrof esuuoyfi( eht htiw llac tnereffid a esu tsum uoy ,evitpircsed gnihtemos dda ot tnaw yllaer yllaer uoy fI
!detucexe si “llac gnimrofnoc” hcihw gnillet ni ytiugibma on si ereht tegot srebmun enil dna eman eludom rieht esauceb rehtona morf “llac gnimrofnoc” eno llet eht ta gnikool yB .tnemugra dn2 eht htiw rehtegot detnirp steg rebmun enil dna eman eludom eht
:od ,)y.x.A( meti rof tiderc teg ot
selpmaxE
.ffo

KASSERT(…);
KASSERT(…);
KASSERT(…);
dbg(DBG_PRINT, “(GRADING1A x.y)\n”); /* nothing between this line and the above KASSE
/* for example, for x.y */
/* also for x.y; nothing between this line and t
/* also for x.y; nothing between this line and t
KASSERT(…); /* for example, for 3.b */
dbg(DBG_PRINT, “(GRADING1A 3.b)\n”) /* nothing between this line and the above KASSE
dbg(DBG_PRINT, “(GRADING1?)\n”); /* specify the correct test for “?”;
nothing between this line and the above confo
KASSERT(…); /* for example, for 6.b */
dbg(DBG_PRINT, “(GRADING1A 6.b)\n”) /* nothing between this line and the above KASSE
dbg(DBG_PRINT, “(GRADING1?)\n”); /* specify the correct test for “?”;
nothing between this line and the above confo
gdb
make clean; make
gdb weenix
gdb
./weenix -n -d gdb -w 10
/usr/bin/qemu-system-i386
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “i686-linux-gnu”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type “help”.
Type “apropos word” to search for commands related to “word”…
Reading symbols from kernel/weenix.dbg…done.
0xc0006bf9 in kmain () at main/kmain.c:143
143 while (gdb_wait) ;
Breakpoint 1 at 0xc000944e: file util/debug.c, line 190.
Breakpoint 2 at 0xc0006c77: file main/kmain.c, line 160.
Breakpoint 3 at 0xc0006c84: file main/kmain.c, line 180.
Breakpoint 3, bootstrap (arg1=0, arg2=0x0) at main/kmain.c:180
180 dbgq(DBG_TEST, “SIGNATURE: …\n”);
(gdb)
gdb
.hctam dluohs srebmun enil eht tuB .sesserdda tnereffid gnitteg era uoy fi enfi yltcefrep s’tI
:)tnedneped noitarugfinoc dna eton esaelp( wodniw lanimret eht fo mottob eht ta gniwollof eht ees dluohs uoy ,llew seog lla fI .lenrek ovnidnammocevobaehT).1foeulavaesunacuoy,enihcamtsafrepusaevahuoyfI.01nahtrellams y,enihcamtsafaevahuoyfI.01nahtregraleulavaesuotevahyamuoy,enihcamwolsaevahuoyfI(
ammoc gniwollof eht gninnur yb trats dna ,)” ” gniod yb( lenrek eht elipmocer sotdeenuoy, htiwlenrekehtgubedoT!noitartsurffotolauoymorfevasnacsihT.sedilsnoitces
edils ees esaelp ,sdnammoc
cisab emos roF !yawa thgir ) ( reggubed eht gnisu trats dluohs uoY
.gnidarg puorg dna noitamrof puorg gnidrager noitamrofni ees esaelP gnidarGdnapuorG
.rotcurtsni eht ksa esaelp ,erus ton era uoy fi sacroF.)sesacelbissopllarevoct’nodyeht,.e.i(selpmaxeemostsujeraevobaehT.ecneuqesedoca edarg eht llet ot deen uoy taht tnemeriuqer on si erehT .)yaw hcihw esoohc ot teg uoy dna( ecneuqes aw eno redarg eht llet ot deen ylno uoy ,ecneuqes edoc a etucexe ot syaw elpitlum era ereht fi ,niagA
htiw gniggubeD
.ycilop etal eht ees esaelP yciloPnoissimbuSetaL
:od ,)b.6.A( rof tiderc teg ot
:od ,)b.3.A( rof tiderc teg ot

gdb
(gdb)
c/cont
190 (gdb)
(gdb) quit
weenix
__asm__ volatile(“cli; hlt”);
weenix
weenix weenix gdb
./weenix -n -d gdb -w 10
gdb
gdb
(gdb) c
Continuing.
Breakpoint 1, dbg_panic_halt () at util/debug.c:190
gdb
weenix
QEMU
gdb
0xc0006bf9 in kmain () at main/kmain.c:143
Config.mk
NOT_YET_IMPLEMENTED(“PROCS: …”);
grep PROCS: kernel/*/*.c
grep PROCS: kernel/*/*/*.c
grep
procs-README.txt
./weenix -n -d gdb -w 10 gdb
Reading symbols from kernel/weenix.dbg
kshell
kernel/main/kmain.c
DRIVERS=
NOT_YE
T
.EMDAERnostnemeriuqerehteesesaelp,sliatederomroF.elfiEMDAERsihtmorf uoY .)noissimbus ruoy rof etairporppa noitamrofni htiw “?” enoladnats lla ecalper dna noitulave ruoy er ,.e.i( noitamrofni noitatnemucod ruoy htiw tuo ti llfi dna )”txt.EMDAER-1k”( etalpmet siht fo tnetnoc uoY .edoc ecruos xineew enitsirp eht htiw gnola elfi ytpme na htiw dedivorp era uoY
.” ” ni edoc esoht tup tsum uoy ,lenrek ruoy esicrexe/tset ot edoc fI .noissimbus dradnats eht fo trap s’taht elfi a otni og tsum dda uoy noitcnuf repleh ynA .)ti rof edoc gnidnopserroc eht tuo tnemmoc ro eteled tsum uoy dna( ecalp-ni segnahc edoc ekam esaelP
.selfi fo hcraes ot esu nac uoy dnammoc eht s’taht esuaceb dnammoc eht htiw railimaf teg ot deen uoY
:dnammoc gniwollof eht retne esaelp ,lebal sa hcus evah taht edoc eht lla dnfi oT
:sa delebal era tnemngissa siht rof tnemelpmi ot deen uoy edoc ehT
tes osla ot deen uoy , gnisu trats uoy nehW .tnemngissa siht od ot redro ni ed:CB[).noitatnemucodemasehtfo,”srevirD”,4retpahCeesoslaesaelp,tnemngissasihtetelpmoc ucod xineew eht fo ,”sdaerhT dna sessecorP” ,3 retpahC ees esaelp ,noitpircsed tnemngissa eht roF
s morf gnihtyreve llatsnier dluohs uoy ,stnemngissa lenrek ruoy od tonnac uoy pu dedne dna “sgnittes domdiduoyfi;xoBlautriVruoyputesuoynehwsgnittes”krowten”nignihtynadefiidomevaht’ndluohs ittes gnidrawroF TAN eht ,tluafed yb( gnidrawroF TAN rof sgnittes xoBlautriV reporpmi ot eud eb yam taht ees t’nod uoy fI .)tcaxe eb ton yam srebmun eht( ” ”
” woleb thgir enil eht ta kool a ekat esaelp ,evoba detartsulli btondluow ,” “nuruoynehwtubyltcerrocgnihtyreveputesevahuoyfI
.sedils noitces dils dna km.gfinoC ni stnemmoc ees esaelP .” ” gninnur yb trats dna nac uoy ro , tuohtiw nur ot evah uoy rehtie ,segassem gniggubed lenrek eht lla ees ot tnaw abeltitehtni”UMEQ”htiwwodniwehteesylnodnawodniwsihteest’noduoyfI.rabeltitehtni”683i a ot og lliw segassem gniggubed lenrek eht lla , htiw gninnur era uoy nehw taht eton esaelP
. tiuq ot ydaer era uoy fi >C+lrtnC< sserp ylno ,oS ereht dna( llik dluow uoy ,>C+lrtnC< sserp uoy dna gniggubed era uoy nehw ,stnemngissa orpresuagniggubedekilnU. fonoitnettaehttegot>C+lrtnCC+lrtC< sserp ,gniggubed fo tuo teg oT :gniwollof p lenrek eht ta tes si reggubed eht fo 1 tniopkaerb ecniS .)"683i-metsys-umeq" wohs dluohs wodniw gubed a ni evoba sa egassem "detnemelpmi tey toN" emas eht ees dna cinap lenrek a teg dluohs uoY :)tpmorp nammoc " " eht taht wonk uoy os ereht tfel s'ti ;" " epyt ot deen t'nod uoy( tpmorp eht ot ydaer era uoy nehW .sedils noitces noissucsid 1 keew eht morf sdnammoc wef a yrt dluohs uoY 1 tnemngissA lenreK make clean make ./weenix -n kernel/main/kmain.c help PROCS DRIVERS 1 C kshell kshell kshell kernel/proc/faber_test.c sunghan_test() sunghan_deadlock_test() kernel/proc/s kshell weenix MTP=0 Config.mk make procs-submit tar cvzf procs-submit.tar.gz \ Config.mk \ o :gniwollof eht od tsuj ,elfi noissimbus ruoy etaerc oT .metsys ortsiB eht gnisu noissimbus rof saeyreveblliwti,)odotdeiuqererauoyhcihw(ecalp-nisegnahcedocruoyllaedamevahuoyfI t ni tnemelpmi ot deen uoy tahw wonk uoy os desu era snoitcnuf tnatropmi emos woh dnatsrednu tsrfi senilediug gnidarg eht ni denoitnem edoc tset eht hguorht gniklaw redisnoc ot tnaw yam uoY ).flestievomtonnaceueuq lraelC( ?)noitidnoc tahw rednu dna( eueuq nur eht ot ti evom lliw ohw ,daerht lenrek hcae roF ).lenrek w ,rebmemeR( ?era yeht erehw ot teg yeht did )noitcnuf hcihw ni dna edoc fo enil hcihw( woH tiaw era sdaerht rehto lla dna UPC eht ni eno ,rebmemeR( ?sdaerht lenrek eht LLA era erehW uqgniwollofehtrewsnaotelbaebdluohsuoy,lenrekruoyfonoitucexeehtniemitnitniopynatA lenrekeritneehthguorhtdaerotelihwhtrowylbaborps'tI?QAFlenrekehttuodekcehcuoyevaH .ssecorp lenrek wen a etaerc tsrfi tsum uoy ,daerht awuoyfi,oS.) ni ,.e.i(ssecorprepsdaerhtelpitlumgnitnemelpmitoneraeW eilpmi siht tahw dna snaem siht tahw tuoba drah knihT .evitpmeerp-non si lenrek ehT .enihcam rekehtgnihtons'erehT.lufrewopyrevyrevsilenrekeht,denrecnocsienihcamehtsarafsA elbuort fo tuo uoy peek ot( tnemngissa siht gniod era uoy nehw dnim ni gniwollof eht peek esaelP .puorG elgooG ssalc eht iht ssucsid nac uoY ."tuptuo tcerroc" eht edivorp ton lliw eW .tcerroc era smargorp eseht lla morf kam ot deen uoY .tcepxe dluohs uoy tuotnirp tahw tuo erugfi dna senituor eseht fo edoc eht daer eseht ssap" ot deen uoy ylno toN .snoitcnuf eseht ekovni ot sdnammoc etarapes 3 edivorp " ni dna dna " " erayehT.noitatnemelpmiruoytsetdnaesicrexeotuoyrofnettirwneebevahsenituorstseteerhT ht taht os hguone llew sdnammoc ruoy tnemucod uoy erus ekaM .edoc ruoy esicrexe ot dna stset ruoy ot sdnammoc dda dluohs uoY .krow ot teg ot woh gnidrager )FDP ni( noitatnemucod itceS ees esaelP . ni sdnammoc hguorht elbissecca meht ekam dna " " dda ot si siht od ot yaw tseb ehT .ylreporp skrow edoc ruoy taht etartsnomed ot deriuqer era uoY .sdnammocllehselbaliavaehtllaeesot epytnacuoy,tpmorpllehsehttA s lenrek gninnur a teg dluohs uoy ,llew seog lla fI .xineew nurer dna elipmocer nehT .QAF llehsk ni b ) sa nwonk( llehs a nur ot si od dluohs uoy gniht txen eht ,melborp a tuohtiw skrow siht fI :od nehT . ot elbairav eht fo seulav gnitide yb ti elbane yllautca nac uoy ,tnemngissa eht fo trap sa uoy ot dedivorp neeb sah edoc et lanoitidda mrofrep ot gniwollof eht yrt tsum uoy ,edoc eht lla htiw enod lla era uoy nehW :nur dluohs dnammoc gniwollof eht dna .gniwollof eht od osla ot detcepxe era uoY setoN lanoitiddA noissimbuS stniH emoS procs-README.txt \ kernel/main/kmain.c \ kernel/proc/kmutex.c \ kernel/proc/kthread.c \ kernel/proc/proc.c \ kernel/proc/sched.c \ kernel/proc/sched_helper.c procs-submit.tar.gz submit.tar.gz Makefile kmain.c kernel/main .tar.gz @usc.edu merlot.usc.edu_80_1557931083_168 Upload Kernel 1 pro Config.mk DRIVERS VFS 1 NOT_YET_IMPLEMENTED("VFS: ..."); :dnammoc gniwollof eht retne esaelp ,lebal sa hcus evah taht edoc eht lla dnfi oT :sa delebal era tnemngissa siht rof tnemelpmi ot deen uoy edoc ehT . ot selbairav dna eht fo seulav eht egnahc dna tide ot tnemucod xineew eht fo ,"metsyS eliF lautriV" ,5 retpahC ees esaelp ,noitpircsed tnemngissa eht roF 2 tnemngissA lenreK t ot togrof ew taht sgniht ro tpircs eht ni sgub revocsid ew fi segnahc ronim ekam yam eW( .desu rehto oN .margorp ruoy edarg ot esu lliw ew erudecorp gnidarg ylno eht si senilediug gnidarg ehT .elbissop sa noos sa wonk rotcurtsni eht tel enilediug eht ni sgub era ereht taht elbissop si tI .elbaliava edam neeb sah senilediug gnidarg ehT senilediuG gnidarG .edargotsudetnawuoygnihtyrevesidettimbusevahuoyyrevetahterusekamotyllacinortcele dettimbusevahuoyretfanoissimbuslenrekruoyyfirevoslauoytahttnatropmiemertxesitI u si ti retfa elfi dettimbus ruoy ni ni eb tsum ,elpmaxe roF .) yrotcerid tcerroc eht ni ton era noissimbus ruoy ni selfi fi stniop 2 esol osla lliw uoY .tnemngissa 'tahw ot lacitnedi erew taht selfi ynam oot sedulcni noissimbus ruoy fi stniop 2 esol lliw uoY .selfi usruoyfistniop2esollliwuoY.deddarodefiidomevahuoytahtedocecruosylnotimbusesaelP .rotcurtsni eht tcatnoc esaelp ,smelborp era ereht fI .revres ortsiB eht y"nehw"dna"tahw"yltcaxewonkotylluferactekcitehtdaeresaelP.sserddaliam-eCSUruoyot ohs( liam-e na ,oslA .elfi gnorw eht timbus yllatnedicca ton did uoy tahw erus ekam ot noissimbus S eht yfirev ot snoitcurtsni tekciT ruoY yfireV eht wollof uoy erus ekaM .)ralimis eb dluohs tamrof w txet lautca eht ,esruoc fo( egap bew noissimbus eht ni nwohs elpmas eht ekil kool dluohs tekcit lpsid dluow ees uoy egap bew txen ehT .revres ortsiB eht ot ti edam noissimbus ruoy "nehw" dna y ot deussi eb lliw tekcit a ,tuo skcehc gnihtyreve fi dna yllufsseccus detucexe si dnammoc eht fI ¼þÎĺÎÈÎÔñѡδ ¼þÎÄÔñÑ¡ :htaP lluF eliF noissimbuS :)ylno-daer( DI tnevE .ude.csu.tolrem no emit tnerruc eht ees ot egap bew siht O51saw)ude.csu.tolrem(revresnoissimbusehttaemiteht,dedaoltsalsawegapbewsihtnehW .sserdda liam NIPruoyevahotetisbewsihttisivesaelp,NIPnoissimbusruoywonkt'noduoyfI.erudecorpeht deen tahw xfi dna ylluferac xobgolaid eht daer esaelp ,egassem rorre na ees uoy fI . t nottub 1 lenreK daolpU eht no kcilc nehT .) ,.e.i( elfi noissimbus ruoy tceles esworBehtnokcilcnehT.wolebNIPnoissimbusruoydnasserddaliam-eCSUruoyretneesaelP .dedragersid ehto(elfignitsixerehtonayfidomotredargehtotsnoitcurtsnieviguoyfI.gnidargerofebdeteled erehtonatimbusuoyfI.selfignitsixerehtoynaegnahcotdettimreptonerauoytahtetonesaelP :NIP noissimbuS :liam-ECSU grep VFS: kernel/*/*.c vfs-README.txt kshell kshell kernel/test/vfstest/vfstest.c faber_fs_thread_test() faber_directory_test() ksh vfstest_mai faber_ kernel/main/kmain.c NOT_YE vfstest.c kshell faber_fs_test.c vfstest.c ramfs pframe_get() S5FS S5FS ramfs ramfs ramfs kernel/fs/ramfs/ramfs.c kernel/libs5fs.a 1 Config.mk weenix S5F make vfs-submit T e f :gniwollof eht od tsuj ,elfi noissimbus ruoy etaerc oT .metsys ortsiB eht gnisu noissimbus rof saeyreveblliwti,)odotdeiuqererauoyhcihw(ecalp-nisegnahcedocruoyllaedamevahuoyfI noissimbuS lenrekeritneehthguorhtdaerotelihwhtrowylbaborps'tI?QAFlenrekehttuodekcehcuoyevaH .detnemelpmi ton si esuaceb eid frep skrow edoc ruoy lla dna ni ot elbairav eht tes uoy fi neve ,oS .3 tnemngissA lliw uoy gniht tsrfi eht ylbaborp si hcihw ,gnissim llits si )yromeM lautriV ot detaler( trap laicurc a eht ," " ni uoy ot dedivorp neeb sah edoc eht hguohtla taht eton esaelP ." " ni edoc fo enil yreve hcum ytterp dnatsrednu usylgnortsdluowI,oS.noitanigamiruoyesuotevahlliwdnaedocecruosehtllaevahtonoduoy w uoy ,tnemngissa siht htiw enod era uoy nehw esuaceb tnatropmi si sihT .desu dna detnemelpmi srednu ot ni edoc eht htiw railimaf teg dluohs uoY .krow ot esoppus si metsys elfi lautca na ni metsys elfi lautca na ni no gniog s'tahw ees ot metsys elfi eht fo edoc eht edisni .metsyselfi ehtotnoitcurtsninarof)FDPni(noitatnemucodxineewehtfo2.5noitcesdaer b-MAR a( metsys elfi eht si tnemngissa siht ni SFV gnitroppus s'taht metsys elfi lautca ehT " ro " " nwo ruoy timbus uoy fI ." nuf evah snoitcnuf owt eseht taht eciton esaelP . dna etarapes owt dda ot deriuqer osla era uoY .ssecorp etarapes a ni " :nur dluohs dnammoc gniwollof eht dna :koobtxet eht fo snoitces gniwollof eht htiw railimaf eb dluohs uoY gnirahs dna selfi gnippam yromem rof troppuS selfi nepo rof serutcurts atad lenreK IPA noitcartsba eliF noitcetorp eliF gniman eliF ).noissimbus ruoy edarg ot eno lanigiro eht esu " dna " " yfidom TON tsum (.ssecorpetarapesanimehtnurtonoddna niyltceridmehtnuresaelp,eroferehT.dnammoc " ni ekovni dluohs ti dna "tsetsfv" si dda tsum uoy dnammoc enO .edoc ruoy esicrexe ot dna ruoy ot sdnammoc dda dluohs uoY .krow ot teg ot woh gnidrager )FDP ni( noitatnemucod noitceS ees esaelP .noitatnemelpmi ruoy ni gninnur ti teg dna elbane ot deriuqer osla era uoY .EMDAERnostnemeriuqerehteesesaelp,sliatederomroF.elfiEMDAERsiht tsum uoY .)noissimbus ruoy rof etairporppa noitamrofni htiw "?" enoladnats lla ecalper dna noitulave a ecalper ,.e.i( noitamrofni noitatnemucod ruoy htiw tuo ti llfi dna )"txt.EMDAER-2k"( etalpmet siht fo m uoY .edoc ecruos xineew enitsirp eht htiw gnola elfi ytpme na htiw dedivorp era uoY ." " ni edoc esoht tup tsum uoy ,lenrek ruoy esicrexe/tset ot edoc fI .noissimbus dradnats eht fo trap s'taht elfi a otni og tsum dda uoy noitcnuf repleh ynA .)ti rof edoc gnidnopserroc eht tuo tnemmoc ro eteled tsum uoy dna( ecalp-ni segnahc edoc ekam esaelP 2.4.1.4 noitceS 5.3.1 noitceS :tuoba si tnemngissa sihT stniH emoS setoN lanoitiddA tar cvzf vfs-submit.tar.gz \ Config.mk \ vfs-README.txt \ kernel/main/kmain.c \ kernel/proc/kmutex.c \ kernel/proc/kthread.c \ kernel/proc/proc.c \ kernel/proc/sched.c \ kernel/proc/sched_helper.c \ kernel/fs/namev.c \ kernel/fs/open.c \ kernel/fs/vfs_syscall.c \ kernel/fs/vnode.c submit.tar.gz vfs-submit.tar.gz @usc.edu merlot.usc.edu_80_1557931083_169 Upload Kernel 2 Makefile vfs tide ot rebmemer esaelP ).noitatnemucod emas eht fo ,"metsyS eliF V metsyS" ,6 retpahC daer osla oitatnemucod xineew eht fo ,"yromeM lautriV" ,7 retpahC ees esaelp ,noitpircsed tnemngissa eht roF t ot togrof ew taht sgniht ro tpircs eht ni sgub revocsid ew fi segnahc ronim ekam yam eW( .desu rehto oN .margorp ruoy edarg ot esu lliw ew erudecorp gnidarg ylno eht si senilediug gnidarg ehT .elbissop sa noos sa wonk rotcurtsni eht tel enilediug eht ni sgub era ereht taht elbissop si tI .elbaliava edam neeb sah senilediug gnidarg ehT senilediuG gnidarG .edargotsudetnawuoygnihtyrevesidettimbusevahuoyyrevetahterusekamotyllacinortcele dettimbusevahuoyretfanoissimbuslenrekruoyyfirevoslauoytahttnatropmiemertxesitI .) s sa( yrotcerid tcerroc eht ni ton era noissimbus ruoy ni selfi fi stniop 2 esol lliw uoY .tnemngissa 'tahw ot lacitnedi erew taht selfi ynam oot sedulcni noissimbus ruoy fi stniop 2 esol lliw uoY .selfi usruoyfistniop2esollliwuoY.deddarodefiidomevahuoytahtedocecruosylnotimbusesaelP .rotcurtsni eht tcatnoc esaelp ,smelborp era ereht fI .revres ortsiB eht y"nehw"dna"tahw"yltcaxewonkotylluferactekcitehtdaeresaelP.sserddaliam-eCSUruoyot ohs( liam-e na ,oslA .elfi gnorw eht timbus yllatnedicca ton did uoy tahw erus ekam ot noissimbus S eht yfirev ot snoitcurtsni tekciT ruoY yfireV eht wollof uoy erus ekaM .)ralimis eb dluohs tamrof w txet lautca eht ,esruoc fo( egap bew noissimbus eht ni nwohs elpmas eht ekil kool dluohs tekcit lpsid dluow ees uoy egap bew txen ehT .revres ortsiB eht ot ti edam noissimbus ruoy "nehw" dna y ot deussi eb lliw tekcit a ,tuo skcehc gnihtyreve fi dna yllufsseccus detucexe si dnammoc eht fI ¼þÎĺÎÈÎÔñѡδ ¼þÎÄÔñÑ¡ :htaP lluF eliF noissimbuS :)ylno-daer( DI tnevE .ude.csu.tolrem no emit tnerruc eht ees ot egap bew siht O51saw)ude.csu.tolrem(revresnoissimbusehttaemiteht,dedaoltsalsawegapbewsihtnehW .sserdda liam NIPruoyevahotetisbewsihttisivesaelp,NIPnoissimbusruoywonkt'noduoyfI.erudecorpeht deen tahw xfi dna ylluferac xobgolaid eht daer esaelp ,egassem rorre na ees uoy fI . ot nottub 2 lenreK daolpU eht no kcilc nehT .) ,.e.i( elfi noissimbus ruoy tceles esworBehtnokcilcnehT.wolebNIPnoissimbusruoydnasserddaliam-eCSUruoyretneesaelP .dedragersid ehto(elfignitsixerehtonayfidomotredargehtotsnoitcurtsnieviguoyfI.gnidargerofebdeteled erehtonatimbusuoyfI.selfignitsixerehtoynaegnahcotdettimreptonerauoytahtetonesaelP :NIP noissimbuS :liam-ECSU 3 tnemngissA lenreK DRIVERS VFS S5FS VM 1 DYNAMIC=1 NOT_YET_IMPLEMENTED("VM: ..."); grep VM: kernel/*/*.c kernel/fs/s5fs/s5fs.c kernel/libdrivers.a zero_mmap() kernel/drivers/memdevs.c s5fs_ kernel/libs5fs.a vm-README.txt DYNAMIC=1 kernel/main/kmain.c NOT_YE weenix vfstest kshell vfstest /sbin/init kernel_execve() char *argv[] = { "/sbin/init", NULL }; char *envp[] = { NULL }; kernel_execve("/sbin/init", argv, envp); kernel_execve() /bin/uname /usr/bin/fork-and-wait S5FS=1 Config.mk VM=0 pframe_unpin() kernel/mm/ /usr/bin/test/vfstest kernel_e /usr/bin/hell print DBG Config.mk VM=1 mmap() pframe_get() pframe_get() pframe_pin() mmap() weenix w /sbin/init s5fs_check_refcounts() T x o .dne eht ni egassem "ylnaelc detlah :xineew" gnol sa elbatpecca yltcefrep si ti ,gninraw a tsuj si siht ecniS ). ni gafl eht ni " " ees oT( .noitpurroc tnuocknil tuoba gninraw a dna YLLUFSSECCUSNU detelpmoc saw metsyselfi ehttahtgninialpmoc, morfsegassemwefaeesyamuoy,2lenrekekilnu ssem "ylnaelc detlah :xineew" eht ees dluohs uoy ,lenrek eht nwodtuhs uoy nehw taht eton esaelP ." " gnitpmetta erofeb yltcefrep ecaps resu ni nur smargorp dednemmocer ylhgih si tI .lenrek eht morf yltcerid ,.cte ," " sa hcus ,smargorp ecaps resu rehto ekovni ot " ," " esu osla nac uoY ekovni nac uoy ,daetsnI " eht etucexe dna llacdluohsuoytahtdenoitnemti,)FDPni(noitatnemucodxineewehtfo1.8.7noitcesnI :yaw gniwollof eht ni stnemugra dr3 dna dn2 eht sa LLUN ssap ton dluohs uoY .margorp " .3 lenrek fo tser eht htiw deecorp dna tes dna daeha og nac uoy ni " " gninnur sa emas eht ton si sihT .lenrek eht ni gninnur era uoy elP( .yltcerroc enod saw 2 lenrek ruoy taht ecnedfinoc ruoy esaercni ot niaga ) aiv( orp gnikrow era snoitcnuf eseht taht kniht uoy nehW .krow semarf egap lacisyhp woh dnatsrednu " ni dna , , gnitnemelpmi tsrfi yb tnemngissa dednemmocer ylgnorts si tI .detnemelpmi ton si esuaceb eid lliw lenrek ruoy , na ) peek( ni tes tsuj uoy fI .tcefrep saw noissimbus 2 lenrek ruoy gnimussA esuaceb ni tnemelpmi ot deen uoy tahw sa emas eht yltcaxe ton si siht taht eton esaelP erdda eht otni margorp resu a fo stnemges atad dna txet eht ni pam ot( margorp resu a setucexe aerc eb ot sdeen sgnippam ralimis ,lenrek eht nI .)yromem otni elfi a pam ot ,elpmaxe rof( tseuqer etaercotllacmetsysasi sihttahtetonesaelP.ecapssserddalautrivehtnignippamwen tfognidnatsrednucisabategot40.61utnubUno fosegapnamehtdaerosladluohsuoY .)FDP ni( noitatnemucod ht fo snoitces gniwollof eht htiw railimaf eb ot deen uoy ,noitpircsed tnemngissa eht ot noitidda nI .EMDAERnostnemeriuqerehteesesaelp,sliatederomroF.elfiEMDAERsiht tsum uoY .)noissimbus ruoy rof etairporppa noitamrofni htiw "?" enoladnats lla ecalper dna noitulave a ecalper ,.e.i( noitamrofni noitatnemucod ruoy htiw tuo ti llfi dna )"txt.EMDAER-3k"( etalpmet siht fo m uoY .edoc ecruos xineew enitsirp eht htiw gnola elfi ytpme na htiw dedivorp era uoY ." " ni edoc esoht tup tsum uoy ,lenrek ruoy esicrexe/tset ot edoc fI .noissimbus dradnats eht fo trap s'taht elfi a otni og tsum dda uoy noitcnuf repleh ynA .)ti rof edoc gnidnopserroc eht tuo tnemmoc ro eteled tsum uoy dna( ecalp-ni segnahc edoc ekam esaelP ." " dna " " ni ekil kool t'nseod ti hguohtla( ydaerla uoy rof detnemelpmi erew yeht esuaceb " " dna" "ni tnemelpmiotdeentonoduoytahtetonesaelP :dnammoc gniwollof eht retne esaelp ,lebal sa hcus evah taht edoc eht lla dnfi oT :sa delebal era tnemngissa siht rof tnemelpmi ot deen uoy edoc ehT . nehwgnihtynagubedottpmettaottontsebs'tI).gnikroweb artxe rof dne eht sdrawot esu ylnO( . ot selbairav dna , , , eht fo seulav 3.6 noitceS setoN lanoitiddA main() objdump make vm-submit /usr/bin/hello hello tar cvzf vm-submit.tar.gz \ Config.mk \ vm-README.txt \ kernel/main/kmain.c \ kernel/proc/kmutex.c \ kernel/proc/kthread.c \ kernel/proc/proc.c \ kernel/proc/sched.c \ kernel/proc/sched_helper.c \ kernel/fs/namev.c \ kernel/fs/open.c \ kernel/fs/vfs_syscall.c \ kernel/fs/vnode.c \ kernel/api/access.c \ kernel/api/syscall.c \ kernel/mm/pframe.c \ kernel/proc/fork.c \ kernel/vm/anon.c \ kernel/vm/brk.c \ kernel/vm/mmap.c \ kernel/vm/pagefault.c \ kernel/vm/shadow.c \ kernel/vm/vmmap.c mmob hel /u j .dedragersid ehto(elfignitsixerehtonayfidomotredargehtotsnoitcurtsnieviguoyfI.gnidargerofebdeteled erehtonatimbusuoyfI.selfignitsixerehtoynaegnahcotdettimreptonerauoytahtetonesaelP :gniwollof eht od tsuj ,elfi noissimbus ruoy etaerc oT .metsys ortsiB eht gnisu noissimbus rof saeyreveblliwti,)odotdeiuqererauoyhcihw(ecalp-nisegnahcedocruoyllaedamevahuoyfI .snoitcurtsnienihcampets-elgnisotevahyamuoY.ton s noitacol yromem a hcus gnicnerefer rehtehw wonk dna decnerefer si tnemges atad ro kcats eht essa/enihcam eht daer ot deen uoY .snoitcurtsni enihcam thgir eht gnitucexe eb lliw dna snrettap rp resu eht taht yfirev dna ))FDP ni( noitatnemucod xineew eht ni elpmaxe na ees , gnisu( " fo tnemges txet eht taht wonk ot deen uoY .ees ot esoppus si ti tahw "gniees" ton si ssecorp fi dna "ees" dluohs ssecorp resu eht tahw yltcaxe wonk ot deen uoy ,lleW ?siht gubed uoy od woH htemos taht snaem ti ,yletaidemmi niaga stluaf egap ti fI .yletaidemmi sserdda laturiv emas eht ta p resu eht ,ssecorp resu eht ot snruter dna dexfi neeb sah tluaf egap eht taht seralced lenrek eht e ekam ot serutcurts atad lenrek etadpu dna ,egap lacisyhp eht ot egap lautriv gnidnopserroc eht ,)elfi a htiw detaicossa s'ti fi( ksid morf atad htiw )emarf egap eht htiw detaicossa egap lacisyhp emarf egap eht llfi ,)egap lacisyhp a dna( emarf egap a dnfi ot lenrek eht rof si tluaf egap "doog" egap "doog" a si sihT .)yhw dnatsrednu ot deen uoy dna( tluaf egap a tcepxe dluohs uoy ,) ni noitcurtsni enihcam tsrfi yrev eht etucexe uoy nehW .)pam yromem eht ,.e.i( ecaps sserdda uoy ,margorp eht nur ot redro nI .elpmaxe na sa " " ekat s'teL .skrow gnigap obtxet eht fo 3.7 noitces ni stpecnoc eht dnatsrednu uoy taht tnatropmi yrev si ti taht eton esaelP .edoc fo tol a etirw uoy erofeb ylluferac siht tuoba otnehwdnaerasesacesabehttahwtuoerugfiotdeenuoY.tiezylanadluohsuoy,seognoitcnuf i na htiw pu dne lliw uoy ,ylluferac ton era uoy fi ,oS .evisrucer eb yam sllac noitcnuf cihpromylop fo epyt a osla si ereht dna ,stcejbo wodahs ,stcejbo suomynona ,.e.i( secnatsni lautca 3 sah mos gnitnemelpmi eb lliw uoy ,tnemngissa siht nI .noisrucer ton si ereht dna metsys elfi lautca eno drawrof-thgiarts ylriaf saw edoc eht tuB .metsys elfi eht ni msihpromylop rof edoc eht erolpxe ot nI.erehdetacilpmoceromnevetogmsihpromyloptahtsitnemngissasihtninoisufnocrojamenO lenrekeritneehthguorhtdaerotelihwhtrowylbaborps'tI?QAFlenrekehttuodekcehcuoyevaH stniH emoS :nur dluohs dnammoc gniwollof eht dna noissimbuS submit.tar.gz vm-submit.tar.gz @usc.edu merlot.usc.edu_80_1557931083_170 Upload Kernel 3 Makefile /sbin/init kernel_execve() initproc_run() d1 d2 d5 procs-submit.tar.gz procs-submit.tar vm- kern e ruoy yas s'teL .tcefrep si noitatnemucod ruoy taht dna krow ot ti detcepxe uoy yaw b nac dettimbus ev'uoy tahw yfirev dluohs uoy , ,elpmaxe rof ,dettimbus uoy retfA ." ",...," "," " mocllehskesehtemanylbaborpdluowI,ecneinevnocroF.elfiEMDAERruoyfonoitces"REDARG NOITIDDA" eht ni dnammoc llehsk hcus hcae ekovni ot woh yltcaxe tnemucod esaelp ,esac siht nI aht syas senilediug gnidarg eht sselnu( xineew gnitratser tuohtiw ,niaga revo dna revo sdnammoc eb dluohs uoY .tpmorp llehsk eht kcab gnivig erofeb eid ot sessecorp dlihc lla rof tiaw dluohs uoy ehttA.ecapsresunimargorpgnidnopserrocehtnurotdnammocllehsktahtybdetaercssecorp otsretemarapthgirehtgnissapybsenilediuggnidargehtnitsetbusenoylnoekovnidluow sdnammoc llehsk fo hcnub a tnemelpmi dluohs uoy ,esac eht si siht fI .sevlesmeht yb yllufsseccus t fo emos nur nac uoy fi ,elbissop sa tiderc laitrap hcum sa teg ot yrt llits dluohs uoy ,nur ot llehs uoyfi,REVEWOH.3lenreknillatallehskdeentonoduoy,tahtllaodnacuoyfI.llehsecapsresu g eht ni sdnammoc eht lla nur dna ) morf gnillac yb " " s resu eht nur yllufsseccus nac uoy taht semussa senilediug gnidarg 3 lenrek eht taht eton esaelP t ot togrof ew taht sgniht ro tpircs e