Testo completo
(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) . .
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:.. >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