• Non ci sono risultati.

 

N/A
N/A
Protected

Academic year: 2021

Condividi " "

Copied!
6
0
0

Testo completo

(1)I<

(2) .  *  

(3) .*. 1. Introduction. tcb_t * allocTcb(void);.    

(4)   

(5)  

(6) 

(7)  

(8)      !"#$%& !'# %   !(#

(9) )*% 

(10) 

(11) 

(12) +&  !,#&*-).

(13) * 

(14) 

(15)    

(16) *&  

(17)  

(18)   

(19)  

(20) /" 

(21) *  

(22) 

(23)   

(24)   %  0 !1#$ . :

(25)  I77  .

(26) 

(27) .  *

(28) 

(29) . 

(30) .. 

(31) 

(32)   

(33) *%  

(34) 

(35) 

(36)  =7 

(37)    ** I77 ;

(38) 8*

(39)  =7

(40) $ 

(41)   

(42)  

(43)    

(44)  =7

(45)   *  

(46) *.

(47) 

(48) . +2%  2+0!3$4#*%& %     

(49) 

(50) .

(51)   

(52)   $              *           

(53)  

(54) .

(55)   

(56) $   

(57)      

(58) 5

(59) .   

(60)   

(61)   ;   $

(62) 

(63) 

(64) 

(65) ? * 

(66)        

(67) ?

(68)   $    .

(69) 5* 

(70)  @  . 6 *.   

(71) 

(72) $      

(73)

(74)  

(75) %H+:&%- 

(76)  =7*  

(77) 

(78)   -).

(79) 5* . 7890 

(80) 

(81) $

(82) 0 0

(83)    

(84) . . 7"9

(85) 

(86) : 

(87) 0 0

(88)    

(89) 9 .

(90) 

(91)   ; . . :<7=<:  

(92). . 7- $>:$0% 2$+%7. 2.2 Resolution of TIDs to pointers to ThreadBLK elements..      $ 

(93)    

(94) <   -  

(95)  

(96)   

(97)  *

(98) $    

(99)

(100)  

(101)  

(102)    

(103)  -  

(104)  *-(<

(105) . .  *'44  -*- 

(106) '43 

(107)  -$-* 

(108)   

(109) 

(110) **  

(111)

(112) $   . 7'96  

(113) 0 "%  

(114) 2 

(115) '*= . 

(116)        

(117) 

(118) )  

(119) 

(120)  

(121)  

(122) $ 

(123)   

(124)    ? 

(125)  =7

(126) 

(127) . . 7,9 0 "= '

(128) 2 

(129) , 3*   

(130)    $  

(131)

(132)     $     $   .  $    

(133) .   

(134) -

(135)  =7 

(136) *  D  @

(137)  

(138) .     

(139) 

(140)  - 

(141)  =7 

(142) * * CD. 

(143)  

(144) *

(145)     "=   

(146)  %  

(147)  =7  *   $

(148) 

(149) '44*

(150) 

(151) 

(152) .

(153)  *. - 

(154)  

(155)  =7 )  *

(156) - %  

(157) )  

(158)  

(159)    *>

(160) 

(161)   9 . void killTcb(tid_t tid);. 739  

(162) 7*,

(163)     

(164)  

(165) <  

(166)   

(167)         

(168) ?  ;     

(169)     

(170)    

(171)    

(172)    * >

(173) 

(174) 

(175) $ 

(176) <

(177) @ $    

(178)   ; . -<   

(179) 

(180)  =7 *- 

(181) *. tcb_t* resolveTid(tid_t tid); :

(182)  

(183) 

(184)  =7 *.  . 

(185)  *  

(186)  =7  *. 749 

(187) .7*   20;0 .

(188)  . 2.3 Thread Queue Maintenance. 

(189)  &

(190)  

(191)  

(192) .$

(193) A-&!B#                

(194) 

(195)  

(196)    ?  

(197)      ?*      

(198)  . 719> *  

(199)      

(200)  

(201)  $

(202)  $$ $   . . 7B9

(203)  . 

(204) ?   D 

(205) 

(206)   

(207) 

(208)  ?    

(209)  

(210) 

(211) *6   

(212) 

(213) 

(214) $.    *    .. 

(215) 

(216)  

(217)  *. 2. Phase 1A – Level 2: The Queue Managers 7'     . 

(218)      

(219) 

(220) )    

(221) 

(222)   

(223)   

(224) *      $         

(225)  

(226)   

(227)  $     

(228) 

(229)  

(230) 

(231)  

(232) .

(233)  =7*& 

(234)  

(235) .   

(236)     

(237)  -   

(238)        '44   

(239) *  %        

(240) 

(241)          - 

(242) 

(243)  =7*    CD ;E

(244)   E;.  

(245)    .   

(246) CD ;E

(247)   

(248) E;   

(249) CF C.  

(250)         !"#$%&    '. ;E

(251)  

(252) .E; D. 

(253)  C  D. ;E

(254)   

(255) E; ;E

(256)  5 E;. 

(257)  C

(258) C D;E

(259) 

(260)  E; 

(261) C. . EC$. ;E 

(262) 

(263) 

(264)  ?E;. ED. ;E

(265)     

(266)  E;. ;E

(267)   

(268)   ' E; GCD 

(269)  6  

(270)   

(271) 

(272) 9 . % ;<   

(273)  =7. . : - 

(274) 

(275)  =7. .    

(276)  =7?. 2.1 ThreadBLK Allocation/De-allocation               

(277)     

(278)      %H+:&%-  

(279)

(280)   

(281)  D  

(282) 

(283) ,'**$ 

(284)  %H+:&%- 

(285)  =7  

(286)  <  *% 

(287)   %H+:&%- 

(288)  =7$

(289)  

(290)       .*&   <  

(291)  

(292) 

(293) $  

(294)  

(295)  

(296)  *'*'*. void void);  @ * 

(297)  *. void freeTcb(tcb_t *t);.

(298) :

(299)  =7 C 

(300) 

(301) ? < 

(302)   *I   ?  

(303)  

(304) * 

(305) 

(306) ? 

(307)

(308) 

(309) $

(310) 

(311)  I77D  

(312) $

(313) 

(314) C 

(315) * 9C 

(316)     ?. 3. Phase 1B – Level 3: Bootstrap The 

(317) 

(318)      *  :. tcb_t * headThreadQ(tcb_t *tp);.

(319)   

(320)  @   *

(321) 9. :

(322)   

(323)  

(324) 

(325)  =7

(326) ?   *-

(327) . "* >  :<&  

(328) 7"  *

(329) 

(330) $. 

(331)  =7

(332) ?*:

(333)  I77 ? . 

(334)      

(335)         

(336)  

(337) 9  0

(338) 

(339)   

(340)   0

(341) $. 2.5 Nuts and Bolts.  @     *,*"*. L 2%77;=

(342)  .    L ;= $  7=      7=$    

(343)

(344)    *  

(345)        . 

(346) )     *:

(347)  @ $    

(348) 

(349) <.?$ *C

(350) 

(351)  =7*&   

(352)  

(353)  * *% <

(354)  $

(355) 

(356) 

(357)     . 

(358) 

(359)         

(360)  *     

(361) 

(362)    @                  

(363)   

(364) 

(365) $ 

(366)

(367)  

(368) 

(369)  =7$ 

(370)   

(371) 

(372)  =7   .    

(373)   

(374)  0 '*

(375)    

(376) 0 "=$  

(377) 

(378)  "** '*  @  

(379) 

(380) 

(381)  

(382) 

(383)   *

(384) 

(385) $ 

(386) . *-

(387) 0 '$ 

(388)   ? 

(389) 

(390)      

(391)   *. 

(392)

(393) 

(394)     -

(395)  =7 

(396) *&*9 ,* 2 

(397) **.*0 "=$  . 

(398)  +--& C !%H+:&%- #D. "** .  

(399) 

(400) 

(401)   

(402)    

(403)   

(404) 

(405)  *. 2.5 Testing.     

(406)       .$   

(407)       

(408)      *   

(409) 

(410) $   

(411)  

(412) K$ "*  

(413)  

(414) *L2%   "**L   

(415) K

(416)  *9.      

(417) 

(418) 

(419) *  >

(420)   $      

(421) <

(422)      

(423)      

(424) *. mipsel-linux-gcc -ansi -pedantic -Wall -c tcb.c mipsel-linux-gcc -ansi -pedantic -Wall -c tid.c. 3.1 Initialization of the New Areas in the ROM Reserved Frame. mipsel-linux-gcc -ansi -pedantic -Wall -c p1test.c. &

(425) 

(426) 

(427)  

(428)  ** $  *

(429)   

(430)    

(431) 

(432) . )K.

(433)  9.  @ $     

(434)  %

(435)  ::

(436) >

(437) *. mipsel-linux-ld -T $SUPDIR/elf32ltsmip.h.umpscore.x $SUPDIR/crtso.o $SUPDIR/libumps.o tcb.o tid.o p1test.o -o kernel M

(438)   N I0-:     

(439)               0   

(440)   

(441) 

(442)     ,' ** 

(443) *$

(444) *  *

(445) 

(446)  O0 

(447) *       

(448) .     <                   

(449) 

(450)  D  < 

(451)  <  ,' ** 

(452) * 

(453)  ,' ** 

(454) **. >

(455)   

(456) 

(457)  $9. 1. Set the PC to the address of your nucleus function that is to handle exceptions of that type 2. Set the $SP to RAMTOP. Each exception handler will use the last frame of RAM for its stack. 3. Set the Status register to mask all interrupts, turn virtual memory off, and be in kernelmode. %;

(458)  :%

(459)  :%D8'888*"888*. .

(460) 

(461)  K&7>)K 

(462)  

(463) 

(464) 

(465)  O0 * 9.  

(466) 

(467)  :%::

(468) >

(469) $   ,*'*'  *>

(470) 

(471) 

(472) $

(473) 

(474) .

(475) <

(476)  

(477)    

(478)

(479)   .*02 . umps-elf2umps -k kernel. 8'888*"888 N 0$  :%0 <$  . 

(480) K.

(481) *

(482) * . :%0  

(483) 

(484)  

(485)    .*. > $

(486)   O0 *&

(487) 9. umps.  

(488) 

(489)  K.

(490) *

(491) *  * +   

(492)   

(493)   .    $.$  

(494)    

(495)   0   * 

(496) 

(497) 

(498)  

(499) 

(500) 

(501) 

(502)  &: %78*  

(503)    

(504)  

(505) D

(506)

(507)   

(508) 

(509)

(510) 

(511)   .  

(512)   

(513)  *% 

(514) 

(515) $

(516)  

(517)  $0   . t_next.     

(518)    *. tcb_t. t_next. tcb_t. t_next. tcb_t. tail pointer. J  

(519)  

(520) 

(521)  ?$ 

(522)    9. tcb_t * mkEmptyThreadQ(void); I @ 

(523)    

(524)  

(525)  ?D

(526) 

(527)   

(528)      

(529)  ?$** I77. int emptyThreadQ(tcb_t *tp); :

(530) :I& ?    $>%7 &

(531) *. void insertBackThreadQ(tcb_t **tp, tcb_t *t_ptr); 

(532) 

(533)  =7 C 

(534)   . 

(535)  ? < 

(536)    D

(537) 

(538)    

(539)       

(540)  . void insertFrontThreadQ(tcb_t **tp,tcb_t *t_ptr); 

(541) 

(542)  =7 C 

(543)  

(544)  

(545)  ? < 

(546)    D

(547) 

(548)    

(549)       

(550)  . tcb_t * removeThreadQ(tcb_t **tp); : 

(551) ** 

(552) 

(553)  ? < 

(554)   *:

(555)  I77 

(556)  ?   D

(557) 

(558) 

(559)  

(560) 

(561) *I   

(562)  ?  

(563)  

(564) . tcb_t * outThreadQ(tcb_t **tp, tcb_t *t_ptr);.    

(565)  L &+%7&- 

(566)  

(567)  $

(568) &: &70% 2 

(569)   

(570)  *.

(571) 4.1. Bootstrap Revised. 4.3. System Service Interface and Trap Management Threads   

(572) 

(573) . $ 

(574) .  0

(575) )   $    . 

(576)    

(577)   0 "=2 

(578) , 9.   .

(579) $

(580) 

(581) 

(582)  

(583)    $     

(584)    

(585) @     ;   

(586)    $  <.  .    $  

(587)  .  .  @   

(588)   

(589) 

(590) .

(591)  

(592) 

(593)   

(594)  $

(595)  

(596)   

(597)   

(598)     *.    

(599)   

(600) .    

(601)  =7: 6 

(602) 

(603) *. 

(604) 

(605)  

(606)  D 

(607)      . %

(608)       

(609)  =7** $  @

(610) 

(611) . . *.   

(612)  

(613) ?   D 

(614)   $ 

(615)  

(616) ?

(617) .   

(618)  *

(619) 

(620) 

(621)    

(622)

(623)   

(624)   

(625) 

(626) . . 20I  . $   

(627)  

(628) * . 

(629) . $  

(630)    

(631)    $  .

(632) <  $  N 0     :%0  <  >:%& Q& **    . 

(633)  $             

(634) 

(635)     

(636)   *   .   

(637)    .  :%

(638)  

(639)  .$ 02 

(640)  .  

(641)  *.   :02

(642) 

(643)  

(644) 9.       

(645)    **    02    

(646)            *  *  *  P. :I&F

(647)  

(648) ?D  

(649) 

(650) ?D

(651)  

(652) DG.  

(653) . C C

(654) C D

(655)  

(656) $L0& *+    *:

(657) 

(658) .  

(659)   

(660)  

(661) 

(662) 

(663)   9

(664) . C C

(665) C D:

(666)   

(667)  

(668)  $

(669)    02    

(670)  

(671) 

(672) 

(673) R*  *.* *R  L0& *+*+ @ 

(674)  %

(675)     

(676) 

(677)    

(678)  *. 

(679)      .  

(680) 

(681) 9  2

(682)    :?  

(683)    2

(684)    > 9  

(685)    

(686)  *  

(687)   

(688)  :?

(689)  

(690)  > 9

(691)  

(692)  *0:S

(693) 7=

(694)  L 

(695)   

(696) .     

(697)    

(698)    

(699)      > 9             

(700) 

(701)    

(702)    

(703)   

(704)    *S20I0

(705)  20I      

(706)    

(707) ?  

(708)        

(709)  *  >

(710) @      <.  .  >

(711) @

(712) ?  

(713)          <.  .  *  >

(714) @    ;   

(715)      >

(716) @. .    

(717)   

(718)    

(719)  =7: 6*  .

(720) ?

(721)  ; *%

(722)   . 

(723) 

(724) ?    9. ;

(725)    

(726) * 

(727) 

(728)  

(729) .  

(730) * . :?

(731) $  $E

(732)  . 

(733) 

(734)

(735)   $

(736)  

(737)  $.

(738) <$N 0:%0< 'E>:%& Q&**<< :%

(739)  

(740)  .$ 02. 

(741) 

(742)   

(743) 

(744) ?$    

(745)  . 

(746) * :

(747)      

(748) ?

(749)   ?   

(750)   .           

(751) .

(752) ?

(753)  

(754) 

(755) $ 

(756)   

(757)  

(758)  

(759)  

(760) ?

(761) 

(762) * . 

(763)  *. 

(764)    

(765) . $. 

(766)  

(767)  *%$ .   

(768)  0 "=$ . $

(769) 

(770) 

(771) 

(772)   *%   

(773) 

(774) <

(775) 

(776)   D. 

(777)  

(778) ?

(779)  

(780) . $  

(781)  

(782) *M. :?      .   $

(783)   

(784) 9. 

(785)

(786)  *% 

(787) 

(788) 

(789)  

(790) $

(791) 

(792) 

(793) 

(794)   . . SSI requests should be implemented using message passing SYSCALLS.  

(795)

(796) 

(797)  

(798)

(799)    . . -8D

(800) $

(801)   -". 

(802) *. . 

(803) ?  

(804) 

(805) ?

(806) 

(807)  

(808) 

(809) D    

(810)    ;

(811)   

(812)  

(813)    . =. $  .

(814) 

(815) 

(816)   

(817) 

(818)       D   $ 

(819)   

(820)  *. 

(821) 

(822) 

(823)     

(824)        0   '9        

(825)      

(826)       

(827)   

(828)   

(829)    

(830)                 5     *  

(831)     

(832)     

(833)       

(834)   

(835)    $              

(836)     

(837)  

(838)  *&   

(839)    :02

(840) 

(841)  

(842) 9 :I&F

(843)  

(844)   

(845) ?D  

(846) ?D

(847)  

(848)  . 4.2. Scheduling 4. Phase 2 – Level 3: The Rest of the Nucleus 7,   

(849) . 9=     7":<&  

(850) *0

(851)   

(852)  :<&  

(853)         *

(854)   

(855)  

(856)     90

(857) 

(858) 

(859)  0

(860) $ L 2%77;=

(861)  .  L ;= $7=  7=$ 

(862)

(863)  *I   

(864) 

(865) 

(866) 7'2 

(867) '$    L ;=   

(868)

(869)   

(870)  

(871)

(872)  

(873) 

(874) 

(875)  

(876)  

(877) $   $  

(878) 

(879)   

(880)  

(881)  

(882) *    

(883)            

(884)     

(885)       

(886) . L

(887) 

(888) K

(889) 

(890) D?$

(891) 

(892)  

(893)     

(894)  *>

(895)   . 

(896) 

(897)      

(898) <

(899) 

(900)     4*

(901)  

(902) <

(903)  $

(904) 

(905)  

(906)   .  

(907)   

(908)  :*

(909)   

(910) 

(911)    .$   . 

(912) 

(913) 

(914) 

(915)   D**.0% 2 :

(916) ;

(917) *MK 9 . 2

(918)

(919) 

(920)  9

(921)    

(922)

(923) 

(924)  20I. . : 69?  

(925)   

(926)    

(927) 20I

(928) . . 

(929)  29

(930)  

(931)  . .  <=.29

(932)  

(933)   

(934) .   

(935) ;

(936)    

(937) . ? 

(938)  $  . 

(939) 

(940) 

(941) 

(942)   .

(943) 

(944) 20I*>

(945) 

(946) 

(947) $ 

(948) 

(949)    

(950) $  

(951) *7     $    

(952)  

(953)             .      

(954)   

(955) * .  

(956) .

(957) ?. .        

(958)     

(959)  

(960) $    

(961) @      ;  

(962)  0<2.$    

(963)    

(964)    

(965) 

(966)  

(967) *

(968)   

(969) . 

(970)     

(971)  : 6 9.     

(972)   0$  7=    

(973)    L ;=   *    

(974)    

(975)        

(976)      7,$  

(977)  

(978)     

(979) * 

(980) $. .   *AP"

(981) 

(982)

(983)  

(984)   L 2%77$  *A".     

(985)      P  "     .         

(986)        9  

(987) 

(988)   

(989)     $ $ +%7:

(990) .      

(991) 

(992)             

(993)  *     

(994)          

(995)    

(996)    .    . $ 

(997) $ 

(998)  

(999)  @

(1000)   <.@

(1001) 9 

(1002) 

(1003) 

(1004) $ $ 0% 2:

(1005) . * .   

(1006)         <.   

(1007)   

(1008)     @

(1009) $    

(1010)   

(1011)      

(1012)  ;    9

(1013)     $    

(1014) *       

(1015)

(1016)   *.

(1017) 4.4. SYS/Bp Exception Handling %  L 2%77  

(1018)  =

(1019)  .      

(1020)      L 2%77  

(1021)  =:&%  

(1022)  

(1023)   . .   

Riferimenti

Documenti correlati

Lampadario, fungaia, cartoleria, stalliere, alimentari, macelleria, furbata, gelato, colpaccio, fratellastro, sorellina, vicinato, angolino, stanchezza, postaccio,

2 Completa le frasi in modo da ottenere periodi contenenti una subordinata soggettiva9. che non tutti

[r]

L’obiettivo è collegare ogni isola con ponti orizzontali o verticali in modo che abbia un numero di ponti corrispondente al numero dato e si formi un percorso che colleghi

Environments allow to have multiple, distinct, independent installations of Python, each one with its selection of installed packages:.. &gt;conda create -n py2

The open function returns an object to operate on a file, depending on the mode with which it is opened. A mode is a combination of an open mode (r/w/x/a) and a I/O mode (t/b), and

Un sistema omogeneo di 5 equazioni in 3 incognite: a non ha soluzione ; b ha sempre almeno una soluzione; c ha soluzione solo in certi casi; d ha sempre una soluzione

La serie data ha lo stesso comportamento della serie geometrica di ragione 1 / e, dunque