1 | TOPPERS Confidential
|
---|
2 | TOPPERSããã¸ã§ã¯ã ãã£ã¹ã«ãã·ã§ã³ã¡ã¢
|
---|
3 | ãã¥ã¼ããã¯ã¹æ©è½ã«é¢ããæ¤è¨
|
---|
4 |
|
---|
5 | ä½æè
|
---|
6 | : é«ç°åºç« ï¼åå¤å±å¤§å¦ï¼
|
---|
7 | æçµæ´æ°: 2009å¹´12æ31æ¥
|
---|
8 |
|
---|
9 | âã¡ã¢ã®ä½ç½®ä»ã
|
---|
10 |
|
---|
11 | ãã®ããã¥ã¡ã³ãã¯ï¼TOPPERSæ°ä¸ä»£ã«ã¼ãã«ã«ããããã¥ã¼ããã¯ã¹æ©è½ã®ä»
|
---|
12 | æ§ã¨å®è£
|
---|
13 | ã«ã¤ãã¦æ¤è¨ãããã®ã§ããï¼TOPPERS/ASPã«ã¼ãã«ã®ãã¥ã¼ããã¯ã¹
|
---|
14 | æ©è½æ¡å¼µã«é¢ããè¨è¨ã¡ã¢ãå«ãã§ããï¼
|
---|
15 |
|
---|
16 | âåæã¨ãªãæ¹é
|
---|
17 |
|
---|
18 | TOPPERSæ°ä¸ä»£ã«ã¼ãã«ã«ããã¦ã¯ï¼ç¾æç¹ã§ã¯ï¼Î¼ITRON4.0ä»æ§ã®ãã¥ã¼ãã
|
---|
19 | ã¯ã¹æ©è½ã®åªå
|
---|
20 | 度ç¶æ¿ãããã³ã«ã¯ãµãã¼ãããªãï¼ã¾ãï¼å³å¯ãªåªå
|
---|
21 | 度å¶å¾¡
|
---|
22 | è¦åã®ã¿ããµãã¼ããï¼ç°¡ç¥åããåªå
|
---|
23 | 度å¶å¾¡è¦åã¯ãµãã¼ãããªããã®ã¨ã
|
---|
24 | ãï¼
|
---|
25 |
|
---|
26 | âμITRON4.0ä»æ§ããã³HRPã«ã¼ãã«ä»æ§ã®åé¡ç¹
|
---|
27 |
|
---|
28 | μITRON4.0ä»æ§ããã³HRPã«ã¼ãã«ã«ããããã¥ã¼ããã¯ã¹ã®ä»æ§ã«å¯¾ãã¦ï¼ä»¥
|
---|
29 | ä¸ã®åé¡ãææããã¦ããï¼ãªãï¼åé¡ç¹ã示ãé åºã¯ï¼ããããææã®ãã£
|
---|
30 | ãé åºã§ããï¼åé¡ç¹ã®é大æ§ã示ããã®ã§ã¯ãªãï¼
|
---|
31 |
|
---|
32 | âåé¡ç¹ã®ææï¼ï¼Î¼ITRON4.0ä»æ§ï¼
|
---|
33 | ----------------------------------------
|
---|
34 | ã»ãã¥ã¼ããã¯ã¹æ©è½ã使ç¨ãã¦ããå ´åã®ãchg_priã®åä½ã«ã¤ãã¦
|
---|
35 |
|
---|
36 | ãμITRONä»æ§æ¸ã®"chg_pri"ã®èª¬ææ¬ã«ã以ä¸ã®è¨è¼ããããã¨æãã¾ãï¼
|
---|
37 |
|
---|
38 | ããã»ã»ã»ï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãå®è¡ããçµæã対象ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
39 | 度
|
---|
40 | ãããã¼ã¹åªå
|
---|
41 | 度ã«ä¸è´ãã¦ããå ´åã«ã¯ã次ã®å¦çãè¡ãï¼ã»ã»ã»ã
|
---|
42 |
|
---|
43 | ã対象ã¨ãªãã¿ã¹ã¯ããåªå
|
---|
44 | 度ä¸éãããã¯ç¶æ¿ãããã³ã«ã®ãã¥ã¼ããã¯ã¹
|
---|
45 | ããããã¯ãã¦ããããããã¯è§£é¤å¾
|
---|
46 | ã¡ç¶æ
|
---|
47 | ã®å ´åã§ããä¸è¨æ¡ä»¶ãæºããã¦
|
---|
48 | ããããªãã°ãæå®ãããåªå
|
---|
49 | 度ã®ä¸ã§æä½ã®åªå
|
---|
50 | é ä½ã«å¤æ´ããå¿
|
---|
51 | è¦ããã
|
---|
52 | ãã®ã§ããããï¼
|
---|
53 |
|
---|
54 | ããã®ä»æ§ãé©ç¨ããã®ãæ£ããå ´åãç¹ã«ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ãã
|
---|
55 | ãã¿ã¹ã¯ã«å¯¾ãã¦ãåãåªå
|
---|
56 | 度ã®ä¸ã§ãåªå
|
---|
57 | é ä½ãä¸ãããã¨èªä½ãã
|
---|
58 | ããã¥ã¼ããã¯ã¹æ¬æ¥ã®ä½¿ç¨æå³ã«åãã¦ããããã«æããã®ã§ãããå¦ä½ã§
|
---|
59 | ãããããï¼
|
---|
60 | ----------------------------------------
|
---|
61 |
|
---|
62 | âåé¡ç¹ã®ææï¼ï¼HRPã«ã¼ãã«ï¼
|
---|
63 | ----------------------------------------
|
---|
64 | ä½åªå
|
---|
65 | 度ã¿ã¹ã¯Aããã£ã¹ãããç¦æ¢ããå¾ï¼é«åªå
|
---|
66 | 度ã¿ã¹ã¯Bãã¬ãã£ç¶æ
|
---|
67 | ã«
|
---|
68 | ãªãï¼ãã£ã¹ãããç¦æ¢ãªã®ã§ã¿ã¹ã¯åæãã¯èµ·ãããªãï¼ï¼ãã®å¾ã«ã¿ã¹ã¯
|
---|
69 | Aãåªå
|
---|
70 | 度ä¸éãã¿ã¹ã¯Bã¨åããã¥ã¼ããã¯ã¹ã«å¯¾ãã¦ploc_mtxãçºè¡ãã¦ï¼
|
---|
71 | ã¿ã¹ã¯Bã¨åãåªå
|
---|
72 | 度ã¾ã§ä¸ãã£ãå ´åãèããï¼HRPã«ã¼ãã«ã§ã¯ï¼ã¿ã¹ã¯Aã¯
|
---|
73 | ã¿ã¹ã¯Bãããåªå
|
---|
74 | é ä½ãä½ããªãï¼ãã®å¾ï¼ã¿ã¹ã¯Aããã£ã¹ããã許å¯ãã
|
---|
75 | ã¨ï¼ã¿ã¹ã¯Bã«åãæãããã¨ã«ãªãï¼æä»å¶å¾¡å¯¾è±¡ã®ã¿ã¹ã¯å
|
---|
76 | ¨ä½ã¨æä»ããã
|
---|
77 | ããã§ã¯ãªããªãï¼
|
---|
78 | ----------------------------------------
|
---|
79 |
|
---|
80 | âåé¡ç¹ï¼ï¼Î¼ITRON4.0ä»æ§ï¼
|
---|
81 | ----------------------------------------
|
---|
82 | åãåªå
|
---|
83 | 度ã®ã¿ã¹ã¯Aã¨ã¿ã¹ã¯Bï¼ããããããé«ãä¸éåªå
|
---|
84 | 度ãæã£ãåªå
|
---|
85 | 度
|
---|
86 | ä¸éãã¥ã¼ããã¯ã¹ãããå ´åãèããï¼ã¿ã¹ã¯Aããã¥ã¼ããã¯ã¹ãããã¯ãï¼
|
---|
87 | ã¿ã¹ã¯Bããã¥ã¼ããã¯ã¹ãå¾
|
---|
88 | ã£ã¦ããç¶æ³ã§ï¼ã¿ã¹ã¯Aããã¥ã¼ããã¯ã¹ããã
|
---|
89 | ã¯è§£é¤ããå ´åã«ï¼ã¿ã¹ã¯Bããã¥ã¼ããã¯ã¹ãããã¯ãã¦åªå
|
---|
90 | 度ãä¸ããï¼ã¿
|
---|
91 | ã¹ã¯Bã«åãæãã£ã¦ãã¾ãï¼ã¿ã¹ã¯Aãä¸é£ã§å®è¡ãããªãï¼
|
---|
92 |
|
---|
93 | ãã®åé¡ã¯ï¼ã¿ã¹ã¯Bã®åªå
|
---|
94 | 度ãï¼ã¿ã¹ã¯Aãããä½ãå ´åã«ãèµ·ããï¼
|
---|
95 |
|
---|
96 | â ã¹ã±ã¸ã¥ã¼ãªã³ã°çè«çã«ã¯ï¼åªå
|
---|
97 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦å¾
|
---|
98 | ã¡ç¶æ
|
---|
99 |
|
---|
100 | ã«ãªããã¨ã¯ãªãã®ã§ï¼ããããã±ã¼ã¹ã¯èæ
|
---|
101 | ®ããã¦ããªãï¼
|
---|
102 |
|
---|
103 | â ã¿ã¹ã¯Aãä¸é£ã§å®è¡ãããªãã®ã¯ï¼å¤§ããåé¡ã§ã¯ãªãã¨ããæè¦ãï¼
|
---|
104 |
|
---|
105 | é¡ä¼¼ã ãåªå
|
---|
106 | é ä½ã®æ±ãã«ãã£ã¦ã¯åé¿å¯è½ãªã±ã¼ã¹ï¼
|
---|
107 |
|
---|
108 | (a) é«åªå
|
---|
109 | 度ã®ã¿ã¹ã¯Aã¨ä½åªå
|
---|
110 | 度ã®ã¿ã¹ã¯Bï¼ã¿ã¹ã¯Aã®åªå
|
---|
111 | 度ã¨åãä¸éåªå
|
---|
112 |
|
---|
113 | 度ãæã£ãåªå
|
---|
114 | 度ä¸éãã¥ã¼ããã¯ã¹ãããå ´åãèããï¼ã¿ã¹ã¯Aããã¥ã¼ãã
|
---|
115 | ã¯ã¹ãããã¯ãï¼ã¿ã¹ã¯Bããã¥ã¼ããã¯ã¹ãå¾
|
---|
116 | ã£ã¦ããç¶æ³ã§ï¼ã¿ã¹ã¯Aã
|
---|
117 | ãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããå ´åã«ï¼ã¿ã¹ã¯Bããã¥ã¼ããã¯ã¹ãããã¯ã
|
---|
118 | ã¦åªå
|
---|
119 | 度ãä¸ããï¼åªå
|
---|
120 | é ä½ã®æ±ãã«ãã£ã¦ã¯ï¼ã¿ã¹ã¯Bã«åãæãã£ã¦ãã¾ãï¼
|
---|
121 |
|
---|
122 | (b) åãåªå
|
---|
123 | 度ã®ã¿ã¹ã¯Aã¨ã¿ã¹ã¯Bï¼ãããã¨åãä¸éåªå
|
---|
124 | 度ãæã£ãåªå
|
---|
125 | 度
|
---|
126 | ä¸éãã¥ã¼ããã¯ã¹ãããå ´åãèããï¼ã¿ã¹ã¯Aããã¥ã¼ããã¯ã¹ãããã¯ãï¼
|
---|
127 | ã¿ã¹ã¯Bããã¥ã¼ããã¯ã¹ãå¾
|
---|
128 | ã£ã¦ããç¶æ³ã§ï¼ã¿ã¹ã¯Aããã¥ã¼ããã¯ã¹ããã
|
---|
129 | ã¯è§£é¤ããå ´åã«ï¼åªå
|
---|
130 | é ä½ã®æ±ãã«ãã£ã¦ã¯ï¼ã¿ã¹ã¯Bã«åãæãã£ã¦ãã¾ãï¼
|
---|
131 | ----------------------------------------
|
---|
132 |
|
---|
133 | âåé¡ç¹ï¼ï¼ï¼ï¼Î¼ITRON4.0ä»æ§ããã«ãããã»ããµæ¡å¼µããå ´åï¼
|
---|
134 | ----------------------------------------
|
---|
135 | ãã«ãããã»ããµã«ããã¦ï¼ããã»ããµ1ã«ã¿ã¹ã¯Aï¼ããã»ããµ2ã«åªå
|
---|
136 | 度ã®ä½
|
---|
137 | ãã¿ã¹ã¯B1,B2,B3ã¨åªå
|
---|
138 | 度ã®é«ãã¿ã¹ã¯Cï¼ããããããé«ãä¸éåªå
|
---|
139 | 度ãæã£
|
---|
140 | ãåªå
|
---|
141 | 度ä¸éãã¥ã¼ããã¯ã¹ãããå ´åãèããï¼ã¿ã¹ã¯Aããã¥ã¼ããã¯ã¹ã
|
---|
142 | ããã¯ãï¼ã¿ã¹ã¯B1,B2,B3ããã¥ã¼ããã¯ã¹ãå¾
|
---|
143 | ã£ã¦ããï¼ããã»ããµ2ã§ã¯ã¿
|
---|
144 | ã¹ã¯Cãå®è¡ããã¦ããç¶æ³ã§ï¼ã¿ã¹ã¯Aããã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããå ´
|
---|
145 | åã«ï¼ã¿ã¹ã¯B1ããã¥ã¼ããã¯ã¹ãããã¯ãã¦åªå
|
---|
146 | 度ãä¸ããï¼ã¿ã¹ã¯B1ã«å
|
---|
147 | ãæãã£ã¦ãã¾ãï¼ããã«ï¼ã¿ã¹ã¯B2,B3ãé«ãåªå
|
---|
148 | 度ã§å®è¡ããï¼ã¿ã¹ã¯Cã
|
---|
149 | ã¿ã¹ã¯B1,B2,B3ã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã«å¾
|
---|
150 | ãããã¦ãã¾ãï¼
|
---|
151 | ----------------------------------------
|
---|
152 |
|
---|
153 | âåé¡ç¹ï¼ï¼HRPã«ã¼ãã«ï¼
|
---|
154 | ----------------------------------------
|
---|
155 | HRPã«ã¼ãã«ã§ã¯ï¼åªå
|
---|
156 | 度ç¶æ¿ã«ä¼´ã£ã¦ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
157 | 度ãå¤åããå ´åã«ï¼
|
---|
158 | ååªå
|
---|
159 | 度å
|
---|
160 | ã§ã®åªå
|
---|
161 | é ä½ãæä½ã«ããï¼Î¼ITRON4.0ä»æ§ã§ã¯å®è£
|
---|
162 | ä¾åã¨ãã¦ã
|
---|
163 | ãï¼ï¼ãã®ä»æ§ã«ã¯ï¼æ¬¡ã®ãããªåé¡ãããï¼
|
---|
164 |
|
---|
165 | åãåªå
|
---|
166 | 度ã®ã¿ã¹ã¯Aã¨ã¿ã¹ã¯Bï¼ããããããé«ãä¸éåªå
|
---|
167 | 度ãæã£ãåªå
|
---|
168 | 度
|
---|
169 | ä¸éãã¥ã¼ããã¯ã¹ãããå ´åãèããï¼ã¿ã¹ã¯Aãå®è¡ç¶æ
|
---|
170 | ï¼ã¿ã¹ã¯Bãå®è¡
|
---|
171 | å¯è½ç¶æ
|
---|
172 | ã§ããã¨ããï¼ã¿ã¹ã¯Aããã¥ã¼ããã¯ã¹ãããã¯ãï¼ãã®å¾ããã¯è§£
|
---|
173 | é¤ããã¨ï¼ã¿ã¹ã¯Aã®åªå
|
---|
174 | é ä½ãååªå
|
---|
175 | 度å
|
---|
176 | ã§æä½ã¨ãªãï¼ã¿ã¹ã¯Bã«åãæãã£
|
---|
177 | ã¦ãã¾ãï¼
|
---|
178 |
|
---|
179 | ãã®æ¯èãã¯ï¼ä¸åº¦ã¿ã¹ã¯ã®å®è¡ãéå§ããã¨åªå
|
---|
180 | 度é転ã«ãããªãã¨ããåª
|
---|
181 | å
|
---|
182 | 度ä¸éãããã³ã«ã®æ§è³ªã«åããï¼
|
---|
183 | ----------------------------------------
|
---|
184 |
|
---|
185 | âåé¡ç¹ï¼ã®èå¯ã¨æ¹é
|
---|
186 |
|
---|
187 | åé¡ç¹ï¼ãåé¿ããããã«ã¯ï¼åªå
|
---|
188 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããæ
|
---|
189 | ã«ï¼ããã¯å¾
|
---|
190 | ã¡ç¶æ
|
---|
191 | ã®ã¿ã¹ã¯ã«ããã«ãã¥ã¼ããã¯ã¹ãããã¯ããã¦ã¯ãªããª
|
---|
192 | ããã¨ã«ãªãï¼ããªãã¡ï¼ããã¯å¾
|
---|
193 | ã¡ç¶æ
|
---|
194 | ã®ã¿ã¹ã¯ã®å¾
|
---|
195 | ã¡è§£é¤ã®ã¿ãè¡ãï¼ã
|
---|
196 | ã®ã¿ã¹ã¯ã次ã«ã¹ã±ã¸ã¥ã¼ã«ãããæã«ãã¥ã¼ããã¯ã¹ãããã¯ãï¼åªå
|
---|
197 | 度ã
|
---|
198 | å¤æ´ããå¦çãè¡ãã°ããï¼POSIXã®ãã¥ã¼ããã¯ã¹ã¯ï¼ãã®æ¹éã§å®è£
|
---|
199 | ãã¹ã
|
---|
200 | ãã®ã¨æãããï¼
|
---|
201 |
|
---|
202 | ãã®ããã«ä»æ§å¤æ´ããå ´åï¼rel_waiã®æ±ããï¼ã¿ã¤ã ã¢ã¦ãã®æ±ããåé¡ã«
|
---|
203 | ãªãï¼ã¿ã¤ã ã¢ã¦ãã¯ï¼ãã¥ã¼ããã¯ã¹ã®å¾
|
---|
204 | ã¡è¡åã«ã¤ãªããã¦å¾
|
---|
205 | ã¡ç¶æ
|
---|
206 | ã¨ãªã£
|
---|
207 | ã¦ããæéã ãã§ãªãï¼å¾
|
---|
208 | ã¡è§£é¤ããã¦æ¬¡ã«ã¹ã±ã¸ã¥ã¼ã«ãããã®ãå¾
|
---|
209 | ã£ã¦ã
|
---|
210 | ãæéãå«ãã¦æ±ãã¹ãã§ããï¼ã¾ãï¼ãã®ã¿ã¤ãã³ã°ã§rel_waiãçºè¡ããã
|
---|
211 | å ´åã®æ±ããï¼ã©ã¡ãã«ããã決ãã¦ãããã¨ãå¿
|
---|
212 | è¦ã§ããï¼ã©ã¡ãã®ä»æ§ã§
|
---|
213 | ãæç«ããã¨èããããï¼ï¼ããã¾ã§ã®ITRONä»æ§ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã«
|
---|
214 | ãªãã£ãæ¯èãã§ããï¼ãã¡ãã¡ã«å½±é¿ãåã¶å¯è½æ§ãããï¼
|
---|
215 |
|
---|
216 | ãã®ãããªå¤§è¦æ¨¡ãªä»æ§å¤æ´ãé¿ããããã«ã¯ï¼ããããï¼åªå
|
---|
217 | 度ä¸éãã¥ã¼
|
---|
218 | ããã¯ã¹ãåå¾ããã¿ã¹ã¯ãå¾
|
---|
219 | ã¡ç¶æ
|
---|
220 | ã«ãªããããªä½¿ãæ¹ãæ¨å¥¨ããããã®ã§
|
---|
221 | ã¯ãªãï¼ãã®å ´åã«ã¯æ³å®éãã«ã¯æ¯ãèããªããã¨ãå¶éäºé
|
---|
222 | ã¨ãã以å¤ã«
|
---|
223 | ãªãã¨æãããï¼åªå
|
---|
224 | 度ä¸éãã¥ã¼ããã¯ã¹ãåå¾ããã¿ã¹ã¯ãå¾
|
---|
225 | ã¡ç¶æ
|
---|
226 | ã«ãª
|
---|
227 | ããªã©ã®çç±ã§å®è¡æ¨©ã失ããªããã°ï¼åªå
|
---|
228 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦å¾
|
---|
229 |
|
---|
230 | ã¡ç¶æ
|
---|
231 | ã«ãªãç¶æ³ãèµ·ãããªãï¼ãã«ãããã»ããµã®å ´åãé¤ãï¼ï¼ãã®ããï¼
|
---|
232 | ãã®å¶éäºé
|
---|
233 | ãè¨ããã°ï¼åé¡ç¹ï¼ã®ç¶æ³ã¯èµ·ãããï¼åé¡ã§ã¯ãªããã¨ã«ãª
|
---|
234 | ãï¼
|
---|
235 |
|
---|
236 | ã¦ã¼ã¶ã«å¯¾ãã¦ã¯ï¼åªå
|
---|
237 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ããæã«ã¯ploc_mtxã
|
---|
238 | 使ããã¨ãæ¨å¥¨ããã°ï¼ãã®åé¡ã確å®ã«åé¿ãããã¨ãã§ããï¼
|
---|
239 |
|
---|
240 | ãã«ãããã»ããµã®å ´åã«ã¯ï¼åªå
|
---|
241 | 度ä¸éãã¥ã¼ããã¯ã¹ãåå¾ããã¿ã¹ã¯ã
|
---|
242 | å®è¡æ¨©ã失ããªãã¦ãï¼åªå
|
---|
243 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦å¾
|
---|
244 | ã¡ç¶æ
|
---|
245 | ã«ãªãç¶
|
---|
246 | æ³ãèµ·ããï¼ãã®ããï¼åé¡ç¹ï¼ï¼ï¼ã®ãããªåé¡ãé¿ããããªãï¼
|
---|
247 |
|
---|
248 | ä»ã®ã¨ããï¼ãã«ãããã»ããµã®å ´åã«ããã«å¯¾å¦ããã«ã¯ï¼POSIXã®å®è£
|
---|
249 | æ¹é
|
---|
250 | ãæ¡ç¨ãããããªããã®ã¨æããããï¼POSIXã®å®è£
|
---|
251 | æ¹éã«ã¯ï¼ãã¥ã¼ããã¯ã¹
|
---|
252 | 解æ¾æã«ãã¹ã¦ã®ã¿ã¹ã¯ãåãåºãã¦ãã¾ãããã«ãªã¼ããããã大ããã¨ã
|
---|
253 | ãå¥ã®åé¡ãããï¼
|
---|
254 |
|
---|
255 | çµå±ï¼ãã«ãããã»ããµã®å ´åã®è¯ã解決æ³ããªãã®ãç¾ç¶ã§ããï¼
|
---|
256 |
|
---|
257 | 以ä¸ããï¼ï¼ç¹ã«ãã«ãããã»ããµã®å ´åã«ï¼åé¡ã¯æ®ã£ã¦ãããï¼ç¾æç¹ã§
|
---|
258 | ã¯ï¼ç¾ç¶ã®ä»æ§ã§ãããªãã¨ããï¼
|
---|
259 |
|
---|
260 | âåé¡ç¹ï¼ã®èå¯ã¨æ¹é
|
---|
261 |
|
---|
262 | åé¡ç¹ï¼ã«ã¤ãã¦ã¯ï¼æ³å®ããã使ç¨æ¹æ³ã§çºçããããï¼å¶éäºé
|
---|
263 | ã¨ããã
|
---|
264 | ã¨ã¯ã§ããï¼ä½ããã®ä»æ§ã®è¦ç´ããå¿
|
---|
265 | è¦ã§ããï¼
|
---|
266 |
|
---|
267 | åé¡ç¹ï¼ãåé¿ããã«ã¯ï¼å°ãªãã¨ãï¼æ¬¡ã®å¤æ´ãå¿
|
---|
268 | è¦ã§ããï¼
|
---|
269 |
|
---|
270 | ã»åªå
|
---|
271 | 度ä¸éãã¥ã¼ããã¯ã¹ã解æ¾ãããã¨ã«ããã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
272 | 度ãä½ã
|
---|
273 | ããªãå ´åã«ã¯ï¼ååªå
|
---|
274 | 度å
|
---|
275 | ã§ã®åªå
|
---|
276 | é ä½ãæé«ã«ããï¼
|
---|
277 |
|
---|
278 | ããã¯ï¼åªå
|
---|
279 | 度ä¸éãã¥ã¼ããã¯ã¹ãç²å¾ãã¦å®è¡ãã¦ããã¿ã¹ã¯ã¯ï¼ä½ããªã£
|
---|
280 | ãå¾ã®åªå
|
---|
281 | 度ã¨åãåªå
|
---|
282 | 度ãæã¤ä»ã¿ã¹ã¯ãããå
|
---|
283 | ã«å®è¡å¯è½ã«ãªã£ãã¯ãã§
|
---|
284 | ããï¼ãã®ä¸ã§ã¯æé«åªå
|
---|
285 | é ä½ãæã¤ã¹ãã¨èããããããã§ããï¼
|
---|
286 |
|
---|
287 | åªå
|
---|
288 | 度ä¸éãã¥ã¼ããã¯ã¹ã解æ¾ãããã¨ã«ããã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
289 | 度ãå¤åã
|
---|
290 | ãªãå ´åã«ãåããã¨ãè¨ãããï¼ãã®ç¾å¨åªå
|
---|
291 | 度ã§å®è¡ç¶æ
|
---|
292 | ã§ãã£ãã¨ãã
|
---|
293 | ãã¨ã¯ï¼ååªå
|
---|
294 | 度å
|
---|
295 | ã§ã¯æé«åªå
|
---|
296 | é ä½ãæã£ã¦ãããã¨ã«ãªãï¼ãã£ã¹ããã
|
---|
297 | ä¿çç¶æ
|
---|
298 | ã®å ´åãé¤ãï¼ï¼åªå
|
---|
299 | é ä½ã¯å¤åããªããã®ã¨ãã¦ãåãçµæã¨ãªãï¼
|
---|
300 | ãã ãï¼ãã£ã¹ãããä¿çç¶æ
|
---|
301 | ã®å ´åã®æ¯ãèããè¦å®ããããã«ï¼åªå
|
---|
302 | é ä½
|
---|
303 | ãæé«ã¨ãããå¤æ´ããªãã¨ãããã¯æ±ºãã¦ããå¿
|
---|
304 | è¦ãããï¼
|
---|
305 |
|
---|
306 | ä»æ§ã®åç´ããèããã¨ï¼ç¹æ®ãªç¶æ³ï¼åªå
|
---|
307 | 度ä¸éãã¥ã¼ããã¯ã¹ã解æ¾ãã
|
---|
308 | ãã¨ã«ããã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
309 | 度ãä½ããªãå ´åï¼ã§ã®ã¿æé«åªå
|
---|
310 | é ä½ã¨ããã
|
---|
311 | ãï¼æé«åªå
|
---|
312 | é ä½ã¨ããå ´åãã§ããéãä¸è¬çã«ããæ¹ãããã¨èããããï¼
|
---|
313 | ãã®ãã¨ããï¼æ¬¡ã®ä»æ§ãæåãªæ¡ã¨ãã¦åºã¦ããï¼
|
---|
314 |
|
---|
315 | ã»ãã¥ã¼ããã¯ã¹æ©è½ã«ããã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
316 | 度ãå¤åããå ´åã«ã¯ï¼åãåª
|
---|
317 | ãå
|
---|
318 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
319 | é ä½ã¨ãªãï¼ç¾å¨åªå
|
---|
320 | 度ãå¤åããªãå ´åã«ã¯ï¼
|
---|
321 | ãã¿ã¹ã¯ã®åªå
|
---|
322 | é ä½ã¯å¤æ´ãããªãï¼
|
---|
323 |
|
---|
324 | ããã§ï¼ç¾å¨åªå
|
---|
325 | 度ãå¤åããã¿ã¹ã¯ãå¾
|
---|
326 | ã¡ç¶æ
|
---|
327 | ã®å ´åã®æ¯èããè¦å®ããå¿
|
---|
328 |
|
---|
329 | è¦ãããï¼ä¸ã¨æ´åããããªãï¼ã¿ã¹ã¯ãå¾
|
---|
330 | ã¡ç¶æ
|
---|
331 | ã§ï¼ã¿ã¹ã¯ã®åªå
|
---|
332 | 度é ã®å¾
|
---|
333 |
|
---|
334 | ã¡è¡åã«ã¤ãªããã¦ããå ´åã«ã¯ï¼åãåªå
|
---|
335 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æåã«ããã®ã
|
---|
336 | èªç¶ã§ãããï¼å¾
|
---|
337 | ã¡ç¶æ
|
---|
338 | ã®éã¾ã§åªå
|
---|
339 | é ä½ãä¿æããã®ã¯ããããã¨ãèãã
|
---|
340 | ããï¼ã¾ãï¼ã¿ã¹ã¯ç¶æ
|
---|
341 | ãå¤åããã¨åæã«ï¼åªå
|
---|
342 | 度ãå¤åããå ´åãèãã
|
---|
343 | å¿
|
---|
344 | è¦ãããï¼
|
---|
345 |
|
---|
346 | ããããèæ
|
---|
347 | ®ãã¦ï¼æ¬¡ã®ä»æ§ã¨ããï¼
|
---|
348 |
|
---|
349 | ã»ãã¥ã¼ããã¯ã¹æ©è½ã«ããã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
350 | 度ãå¤åããå ´åã®æ±ãã¯æ¬¡ã®
|
---|
351 | ãéãã¨ããï¼å¯¾è±¡ã¿ã¹ã¯ããµã¼ãã¹ã³ã¼ã«ã®åå¾ã¨ãå®è¡ã§ããç¶æ
|
---|
352 | ã§ãã
|
---|
353 | ãå ´åã«ã¯ï¼åãåªå
|
---|
354 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
355 | é ä½ã¨ãªãï¼ããã§ãªãå ´å
|
---|
356 | ãã«ã¯ï¼åãåªå
|
---|
357 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
358 | é ä½ã¨ãªãï¼ç¾å¨åªå
|
---|
359 | 度ãå¤åã
|
---|
360 | ããªãå ´åã«ã¯ï¼ã¿ã¹ã¯ã®åªå
|
---|
361 | é ä½ã¯å¤æ´ãããªãï¼
|
---|
362 |
|
---|
363 | ï¼å¯¾è±¡ã¿ã¹ã¯ãå¾
|
---|
364 | ã¡ç¶æ
|
---|
365 | ã®å ´åã®æ¯èãã¯ï¼ããå³å¯ã«è¦å®ããå¿
|
---|
366 | è¦ãããï¼
|
---|
367 |
|
---|
368 | ããã«ï¼è¤æ°ã®ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
369 | 度ãåæã«å¤åããå ´åã«ã¯ï¼ã¿ã¹ã¯ã®ç¾å¨
|
---|
370 | åªå
|
---|
371 | 度ãå¤åãããé åºã«ãã£ã¦çµæãç°ãªã£ã¦ããããï¼åªå
|
---|
372 | 度ãå¤åãã
|
---|
373 | ãé åºãæ確åãããã¨ãå¿
|
---|
374 | è¦ã§ããï¼
|
---|
375 |
|
---|
376 | --------------------
|
---|
377 | â
|
---|
378 | ä¸ã®ä»æ§ã§åé¡ããªããã¨ã確èªããããã®æ¤è¨ï¼åªå
|
---|
379 | 度ä¸éãã¥ã¼ããã¯
|
---|
380 | ã¹ã«ããå ´åï¼
|
---|
381 |
|
---|
382 | åªå
|
---|
383 | 度ä¸éãã¥ã¼ããã¯ã¹ãï¼å¾
|
---|
384 | ã¡ç¶æ
|
---|
385 | ã«å
|
---|
386 | ¥ããã¨ãªãï¼ç²å¾ãããã¨ã«ãã
|
---|
387 | ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
388 | 度ãä¸ããå ´åã«ã¯ï¼ããã¾ã§ã®ç¾å¨åªå
|
---|
389 | 度ã§å®è¡ç¶æ
|
---|
390 | ã§ãã£
|
---|
391 | ããã¨ããï¼æ°ããç¾å¨åªå
|
---|
392 | 度ã¨åãåªå
|
---|
393 | 度ãæã¤ã¿ã¹ã¯ã¯ä»ã«ãªããã¨ã«ãª
|
---|
394 | ãï¼ãã£ã¹ãããä¿çç¶æ
|
---|
395 | ã®å ´åãé¤ãï¼ï¼åªå
|
---|
396 | é ä½ãæé«ã¨ãã¦ãæä½ã¨ã
|
---|
397 | ã¦ãåãçµæã¨ãªãï¼
|
---|
398 |
|
---|
399 | åªå
|
---|
400 | 度ä¸éãã¥ã¼ããã¯ã¹ãï¼å¾
|
---|
401 | ã¡ç¶æ
|
---|
402 | ã«å
|
---|
403 | ¥ããã¨ãªãï¼ç²å¾ãããã¨ã«ãã
|
---|
404 | ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
405 | 度ãå¤åããªãå ´åã«ã¯ï¼ããã¾ã§ã®ç¾å¨åªå
|
---|
406 | 度ã§å®è¡ç¶æ
|
---|
407 |
|
---|
408 | ã§ãã£ããã¨ããï¼ååªå
|
---|
409 | 度å
|
---|
410 | ã§ã¯æé«åªå
|
---|
411 | é ä½ãæã£ã¦ãããã¨ã«ãªãï¼ãã£
|
---|
412 | ã¹ãããä¿çç¶æ
|
---|
413 | ã®å ´åãé¤ãï¼ï¼åªå
|
---|
414 | é ä½ãæé«ã¨ãã¦ãå¤åããªããã®ã¨
|
---|
415 | ãã¦ãåãçµæã¨ãªãï¼
|
---|
416 |
|
---|
417 | åªå
|
---|
418 | 度ä¸éãã¥ã¼ããã¯ã¹å¾
|
---|
419 | ã¡ç¶æ
|
---|
420 | ããå¾
|
---|
421 | ã¡è§£é¤ããï¼åªå
|
---|
422 | 度ä¸éãã¥ã¼ãã
|
---|
423 | ã¯ã¹ãç²å¾ããå ´åã¯ï¼å¶éäºé
|
---|
424 | ã¨ãã¦ãããã¨ããï¼ã©ã®ããã«æ±ºãã¦ãã
|
---|
425 | ãï¼
|
---|
426 | --------------------
|
---|
427 |
|
---|
428 | âä»ã®åé¡ç¹ã®èå¯ã¨æ¹é
|
---|
429 |
|
---|
430 | å¶éäºé
|
---|
431 | ãè¨ãããã¨ã§åé¡ç¹ï¼ã¯åé¡ã§ã¯ãªãã¨ããã¨ï¼åé¡ç¹ï¼ã«ã¤ãã¦
|
---|
432 | ãï¼ãã£ã¹ãããç¦æ¢ã¨ä½µç¨ããã¨æ³å®éãã«ã¯æ¯ãèããªãã¨ããã°ããï¼
|
---|
433 | ãã®ä»ã«ï¼rot_rdqã¨ä½µç¨ããå ´åã«ã¯ï¼æããã«å¶éäºé
|
---|
434 | ãè¨ããªããã°ãªã
|
---|
435 | ãªãï¼
|
---|
436 |
|
---|
437 | åé¡ç¹ï¼ã«ã¤ãã¦ãï¼ãã¼ã¹åªå
|
---|
438 | 度ã®å¤æ´ã¨ä½µç¨ããã¨æ³å®éãã«ã¯æ¯ãèã
|
---|
439 | ãªãã¨ããæããããï¼æ¬¡ã®ããã«ä»æ§ãä¿®æ£ããæãããï¼
|
---|
440 |
|
---|
441 | ã»chg_priã§ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
442 | 度ãå¤æ´ããå ´åã®æ±ãã¯æ¬¡ã®éãã¨ããï¼å¯¾
|
---|
443 | ã象ã¿ã¹ã¯ããã¼ã¹åªå
|
---|
444 | 度ãå¤æ´ããå¾ã®ç¶æ
|
---|
445 | ã§ãã¥ã¼ããã¯ã¹çµç±ã§ãã¼ã¹
|
---|
446 | ãåªå
|
---|
447 | 度ã¨åããããããé«ãåªå
|
---|
448 | 度ãç¶æ¿ãã¦ããå ´åã«ã¯ï¼ç¾å¨åªå
|
---|
449 | 度ã
|
---|
450 | ãå¤åãããªãåãåªå
|
---|
451 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
452 | é ä½ã¨ãªãï¼ç¾å¨åªå
|
---|
453 | 度ã
|
---|
454 | ãå¤åããªããªãåªå
|
---|
455 | é ä½ãå¤åããªãï¼ãã以å¤ã®å ´åã«ã¯ï¼åãåªå
|
---|
456 | 度ã®
|
---|
457 | ãã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
458 | é ä½ã¨ãªãï¼
|
---|
459 |
|
---|
460 | ããã§ï¼åªå
|
---|
461 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ããµãã¼ãããªãå ´åã«ã¯ï¼æ¬¡ã®ãã¨ãè¨
|
---|
462 | ããï¼ã¿ã¹ã¯ãããã¯ãããã¨ãã§ããåªå
|
---|
463 | 度ä¸éãã¥ã¼ããã¯ã¹ã®ä¸éåªå
|
---|
464 |
|
---|
465 | 度ã¯ï¼ãã®ã¿ã¹ã¯ã®å¤æ´åå¾ã®ãã¼ã¹åªå
|
---|
466 | 度ã¨åããããããé«ãï¼ãã®ããï¼
|
---|
467 | åªå
|
---|
468 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åã«ã¯ï¼å¿
|
---|
469 | ãï¼ããã¥ã¼ããã¯
|
---|
470 | ã¹çµç±ã§ãã¼ã¹åªå
|
---|
471 | 度ã¨åããããããé«ãåªå
|
---|
472 | 度ãç¶æ¿ãã¦ãããï¼ã¤ã¾ãï¼
|
---|
473 | ããã¥ã¼ããã¯ã¹çµç±ã§ãã¼ã¹åªå
|
---|
474 | 度ã¨åããããããé«ãåªå
|
---|
475 | 度ãç¶æ¿ãã¦
|
---|
476 | ããå ´åãã¯ãåªå
|
---|
477 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åãã¨ä¸è´ããï¼
|
---|
478 | ããã«ï¼åªå
|
---|
479 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åã«ã¯ï¼chg_priã§ã¿ã¹
|
---|
480 | ã¯ã®ãã¼ã¹åªå
|
---|
481 | 度å¤æ´ãã¦ãï¼ãã®ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
482 | 度ãå¤åãããã¨ã¯ãªãï¼
|
---|
483 |
|
---|
484 | 以ä¸ã®ãã¨ããï¼ä¸ã®ä¿®æ£ä»æ§ã¯ï¼æ¬¡ã®éãã«ç°¡ååãããã¨ãã§ããï¼
|
---|
485 |
|
---|
486 | ã»chg_priã§ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
487 | 度ãå¤æ´ããå ´åã®æ±ãã¯æ¬¡ã®éãã¨ããï¼å¯¾
|
---|
488 | ã象ã¿ã¹ã¯ãåªå
|
---|
489 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããªãå ´åï¼åãåªå
|
---|
490 | 度
|
---|
491 | ãã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
492 | é ä½ã¨ãªãï¼ãã以å¤ã®å ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®ç¾
|
---|
493 | ãå¨åªå
|
---|
494 | 度ãå¤æ´ããããã¨ã¯ãªãï¼åªå
|
---|
495 | é ä½ãå¤æ´ãããªãï¼
|
---|
496 |
|
---|
497 | âchg_priã®æ©è½è¨è¿°ï¼é¢é£é¨åã®ã¿ï¼
|
---|
498 |
|
---|
499 | ----------------------------------------------------------------------
|
---|
500 | 対象ã¿ã¹ã¯ãä¼æ¢ç¶æ
|
---|
501 | ã§ãªãå ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
502 | 度ãï¼tskpri
|
---|
503 | ã§æå®ããåªå
|
---|
504 | 度ã«å¤æ´ãããï¼ããã«ä¼´ã£ã¦ï¼å¯¾è±¡ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
505 | 度ãå¤
|
---|
506 | æ´ãããï¼
|
---|
507 |
|
---|
508 | 対象ã¿ã¹ã¯ãï¼åªå
|
---|
509 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããªãå ´åã«ã¯ï¼æ¬¡ã®
|
---|
510 | å¦çãè¡ãããï¼å¯¾è±¡ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
511 | ã®å ´åã«ã¯ï¼åãåªå
|
---|
512 | 度ã®ã¿ã¹
|
---|
513 | ã¯ã®ä¸ã§æä½åªå
|
---|
514 | é ä½ã¨ãªãï¼å¯¾è±¡ã¿ã¹ã¯ãå¾
|
---|
515 | ã¡ç¶æ
|
---|
516 | ã§ï¼ã¿ã¹ã¯ã®åªå
|
---|
517 | 度é ã®
|
---|
518 | å¾
|
---|
519 | ã¡è¡åã«ã¤ãªããã¦ããå ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®å¤æ´å¾ã®ç¾å¨åªå
|
---|
520 | 度ã«å¾ã£
|
---|
521 | ã¦ï¼ãã®å¾
|
---|
522 | ã¡è¡åä¸ã§ã®é åºãå¤æ´ãããï¼å¾
|
---|
523 | ã¡è¡åä¸ã«åãç¾å¨åªå
|
---|
524 | 度ã®ã¿
|
---|
525 | ã¹ã¯ãããå ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®é åºã¯ãããã®ä¸ã§æå¾ã«ãªãï¼
|
---|
526 |
|
---|
527 | 対象ã¿ã¹ã¯ãï¼åªå
|
---|
528 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åã«ã¯ï¼å¯¾è±¡ã¿
|
---|
529 | ã¹ã¯ã®ç¾å¨åªå
|
---|
530 | 度ãå¤æ´ããããã¨ã¯ãªãï¼åªå
|
---|
531 | é ä½ãå¤æ´ãããªãï¼
|
---|
532 | ----------------------------------------------------------------------
|
---|
533 |
|
---|
534 | âASPã«ã¼ãã«ã¸ã®å®è£
|
---|
535 | æ¹é
|
---|
536 |
|
---|
537 | âã¿ã¹ã¯ç®¡çãããã¯ã¨ãã¥ã¼ããã¯ã¹ç®¡çãããã¯
|
---|
538 |
|
---|
539 | ãã¥ã¼ããã¯ã¹æ©è½ãå®ç¾ããããã®ãã¼ã¿æ§é ã¨ãã¦ï¼ãã¥ã¼ããã¯ã¹ã®å¾
|
---|
540 |
|
---|
541 | ã¡è¡åï¼ãã¥ã¼ããã¯ã¹ãå¾
|
---|
542 | ã£ã¦ããã¿ã¹ã¯ã®ãªã¹ãï¼ã«å ãã¦ï¼ã¿ã¹ã¯ã«å¯¾
|
---|
543 | ãã¦ãããããã¯ãã¦ãããã¥ã¼ããã¯ã¹ã®ãªã¹ãã¨ï¼ãã¥ã¼ããã¯ã¹ã«å¯¾ã
|
---|
544 | ã¦ãããä¿æãã¦ããã¿ã¹ã¯ã管çããå¿
|
---|
545 | è¦ãããï¼
|
---|
546 |
|
---|
547 | ããã§ï¼TCBã«ã¯ï¼ããã¯ãã¦ãããã¥ã¼ããã¯ã¹ã®ãã¥ã¼ãããã®ãã£ã¼ã«ã
|
---|
548 | ã追å ããï¼ã¾ãï¼ç¾å¨åªå
|
---|
549 | 度ã«å ãã¦ï¼ãã¼ã¹åªå
|
---|
550 | 度ãä¿æãããã£ã¼ã«ã
|
---|
551 | ã追å ããï¼
|
---|
552 |
|
---|
553 | ----------------------------------------
|
---|
554 | typedef struct task_control_block {
|
---|
555 | ...
|
---|
556 | BIT_FIELD_UINT bpriority : TBIT_TCB_PRIORITY;
|
---|
557 | /* ãã¼ã¹åªå
|
---|
558 | 度ï¼å
|
---|
559 | é¨è¡¨ç¾ï¼*/
|
---|
560 | BIT_FIELD_UINT priority : TBIT_TCB_PRIORITY;
|
---|
561 | /* ç¾å¨åªå
|
---|
562 | 度ï¼å
|
---|
563 | é¨è¡¨ç¾ï¼*/
|
---|
564 | ...
|
---|
565 | QUEUE mutex_queue; /* ããã¯ãã¦ãããã¥ã¼ããã¯ã¹ã®ãã¥ã¼ */
|
---|
566 | ...
|
---|
567 | } TCB;
|
---|
568 | ----------------------------------------
|
---|
569 |
|
---|
570 | bpriorityã¯ï¼ä¼æ¢ç¶æ
|
---|
571 | 以å¤ã§æå¹ãªå¤æ°ã§ããããï¼make_dormantã§åæåã
|
---|
572 | ãï¼
|
---|
573 |
|
---|
574 | mutex_queueã¯ï¼ä¼æ¢ç¶æ
|
---|
575 | 以å¤ã§æå¹ãªå¤æ°ã§ãããï¼ä¼æ¢ç¶æ
|
---|
576 | ã«é·ç§»ããéã«
|
---|
577 | å¿
|
---|
578 | ã空ã«ããã®ã§ï¼ï¼make_dormantã§ã¯ãªãï¼initialize_taskã«ããã¦åæå
|
---|
579 | ããï¼
|
---|
580 |
|
---|
581 | ã¾ãï¼tstatãã£ã¼ã«ãã«å
|
---|
582 | ¥ããã¿ã¹ã¯ç¶æ
|
---|
583 | ã®å
|
---|
584 | é¨è¡¨ç¾ã«ï¼TS_WAIT_MTXï¼ãã¥ã¼
|
---|
585 | ããã¯ã¹ã®ããã¯å¾
|
---|
586 | ã¡ï¼ã追å ããï¼
|
---|
587 |
|
---|
588 | ãã¥ã¼ããã¯ã¹ç®¡çãããã¯ã«ã¯ï¼ãã¥ã¼ããã¯ã¹å¾
|
---|
589 | ã¡ãã¥ã¼ã«å ãã¦ï¼ãã¥ã¼
|
---|
590 | ããã¯ã¹ãããã¯ãã¦ããã¿ã¹ã¯ã®TCBã¸ã®ãã¤ã³ã¿ã¨ï¼ã¿ã¹ã¯ãããã¯ãã¦ã
|
---|
591 | ããã¥ã¼ããã¯ã¹ã®ãã¥ã¼ã«ã¤ãªãããã®ãã£ã¼ã«ããç¨æããï¼
|
---|
592 |
|
---|
593 | ----------------------------------------
|
---|
594 | typedef struct mutex_control_block {
|
---|
595 | QUEUE wait_queue; /* ãã¥ã¼ããã¯ã¹å¾
|
---|
596 | ã¡ãã¥ã¼ */
|
---|
597 | const MTXINIB *p_mtxinib; /* åæåãããã¯ã¸ã®ãã¤ã³ã¿ */
|
---|
598 | TCB *p_loctsk; /* ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããã¿ã¹ã¯ */
|
---|
599 | QUEUE mutex_queue; /* ããã¯ãã¦ãããã¥ã¼ããã¯ã¹ã®ãã¥ã¼ */
|
---|
600 | } MTXCB;
|
---|
601 | ----------------------------------------
|
---|
602 |
|
---|
603 | ãã¥ã¼ããã¯ã¹ãããã¯ããã¦ããªããã¨ã¯ï¼p_loctskãNULLã«è¨å®ãããã¨
|
---|
604 | ã§è¡¨ãï¼ãã¥ã¼ããã¯ã¹ãããã¯ããã¦ããªãæã«ã¯ï¼mutex_queueã¯ç¡å¹ã§
|
---|
605 | ããï¼
|
---|
606 |
|
---|
607 | ãã¥ã¼ããã¯ã¹åæåãããã¯ã«ã¯ï¼ãã¥ã¼ããã¯ã¹å±æ§ã¨ãã¥ã¼ããã¯ã¹ã®
|
---|
608 | ä¸éåªå
|
---|
609 | 度ãä¿æããï¼
|
---|
610 |
|
---|
611 | ----------------------------------------
|
---|
612 | typedef struct mutex_initialization_block {
|
---|
613 | ATR mtxatr; /* ãã¥ã¼ããã¯ã¹å±æ§ */
|
---|
614 | uint_t ceilpri; /* ãã¥ã¼ããã¯ã¹ã®ä¸éåªå
|
---|
615 | 度ï¼å
|
---|
616 | é¨è¡¨ç¾ï¼*/
|
---|
617 | } MTXINIB;
|
---|
618 | ----------------------------------------
|
---|
619 |
|
---|
620 | ã¿ã¹ã¯ãææããã«ï¼ãããããã¯ãã¦ãããã¥ã¼ããã¯ã¹ãæä½ãããã¨ã
|
---|
621 | å¤ãããï¼ãã¥ã¼ããã¯ã¹ç®¡çãããã¯ä¸ã®mutex_queueã¸ã®ãã¤ã³ã¿ããï¼
|
---|
622 | ãã¥ã¼ããã¯ã¹ç®¡çãããã¯ã¸ã®ãã¤ã³ã¿ãåãåºãããã®ãã¯ããç¨æãã¦
|
---|
623 | ããï¼mutex.cï¼ï¼
|
---|
624 |
|
---|
625 | ----------------------------------------
|
---|
626 | #define MTXCB_QUEUE(p_queue) \
|
---|
627 | ((MTXCB *)(((char *) p_queue) - offsetof(MTXCB, mutex_queue)))
|
---|
628 | ----------------------------------------
|
---|
629 |
|
---|
630 | âåªå
|
---|
631 | 度å¶å¾¡è¦åã¨ç¾å¨åªå
|
---|
632 | 度ã®è¨ç®
|
---|
633 |
|
---|
634 | TOPPERSæ°ä¸ä»£ã«ã¼ãã«ã§ã¯ï¼Î¼ITRON4.0ä»æ§ã®å³å¯ãªåªå
|
---|
635 | 度å¶å¾¡è¦åã®ã¿ãå®
|
---|
636 | è£
|
---|
637 | ããï¼å³å¯ãªåªå
|
---|
638 | 度å¶å¾¡è¦åã«ããã¦ã¯ï¼ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
639 | 度ãï¼å¸¸ã«ï¼ä»¥
|
---|
640 | ä¸ã®åªå
|
---|
641 | 度ã®æé«å¤ã«ä¸è´ããããã«è¨å®ããï¼
|
---|
642 |
|
---|
643 | (1) ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
644 | 度
|
---|
645 |
|
---|
646 | (2) ã¿ã¹ã¯ãåªå
|
---|
647 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åï¼ãããã®ãã¥ã¼
|
---|
648 | ããã¯ã¹ä¸ã§ï¼æãé«ãä¸éåªå
|
---|
649 | 度ãæã¤ãã¥ã¼ããã¯ã¹ã®ä¸éåªå
|
---|
650 | 度
|
---|
651 |
|
---|
652 | (3) ã¿ã¹ã¯ãåªå
|
---|
653 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åï¼ãããã®ãã¥ã¼
|
---|
654 | ããã¯ã¹ã®ããã¯ãå¾
|
---|
655 | ã£ã¦ããã¿ã¹ã¯ã®ä¸ã§ï¼æãé«ãç¾å¨åªå
|
---|
656 | 度ãæã¤
|
---|
657 | ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
658 | 度
|
---|
659 |
|
---|
660 | ãããã®åªå
|
---|
661 | 度ãï¼ããã§ã¯ï¼ç¾å¨åªå
|
---|
662 | 度ã決å®ããè¦ç´ ã¨ãªãã¨ããæå³ã§ï¼
|
---|
663 | è¦ç´ åªå
|
---|
664 | 度ã¨å¼ã¶ï¼
|
---|
665 |
|
---|
666 | ASPã«ã¼ãã«ã®ãã¥ã¼ããã¯ã¹æ¡å¼µã§ã¯ï¼åªå
|
---|
667 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ã¯ãµãã¼ã
|
---|
668 | ããªãããï¼(3)ã¯èããå¿
|
---|
669 | è¦ããªãï¼
|
---|
670 |
|
---|
671 | ã¾ãã¯ï¼ãã¹ã¦ã®è¦ç´ åªå
|
---|
672 | 度ãã¹ãã£ã³ãï¼ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
673 | 度ãè¨ç®ããé¢
|
---|
674 | æ°ãå®è£
|
---|
675 | ããï¼ãã®é¢æ°ãå¼ã¶ãã¨ã«ããï¼ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
676 | 度ã«è¨å®ãã¹ã
|
---|
677 | å¤ãè¨ç®ãããã¨ãã§ããï¼
|
---|
678 |
|
---|
679 | ----------------------------------------
|
---|
680 | /*
|
---|
681 | * ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
682 | 度ã®è¨ç®
|
---|
683 | */
|
---|
684 | static uint_t
|
---|
685 | mutex_calc_priority(TCB *p_tcb)
|
---|
686 | {
|
---|
687 | uint_t priority;
|
---|
688 | QUEUE *p_queue;
|
---|
689 | MTXCB *p_mtxcb;
|
---|
690 |
|
---|
691 | priority = p_tcb->bpriority;
|
---|
692 | p_queue = p_tcb->mutex_queue.p_next;
|
---|
693 | while (p_queue != &(p_tcb->mutex_queue)) {
|
---|
694 | p_mtxcb = MTXCB_QUEUE(p_queue);
|
---|
695 | if (MTX_CEILING(p_mtxcb) && p_mtxcb->p_mtxinib->ceilpri < priority) {
|
---|
696 | priority = p_mtxcb->p_mtxinib->ceilpri;
|
---|
697 | }
|
---|
698 | p_queue = p_queue->p_next;
|
---|
699 | }
|
---|
700 | return(priority);
|
---|
701 | }
|
---|
702 | ----------------------------------------
|
---|
703 |
|
---|
704 | âç¾å¨åªå
|
---|
705 | 度ã®å¤æ´å¾ã®å¦ç
|
---|
706 |
|
---|
707 | ãã¥ã¼ããã¯ã¹æ©è½ã«ããã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
708 | 度ãå¤æ´ããå ´åã«ã¯ï¼TCBä¸ã®ç¾
|
---|
709 | å¨åªå
|
---|
710 | 度ãæ´æ°ãããã¨ã«å ãã¦ï¼æ¬¡ã®å¦çãè¡ãå¿
|
---|
711 | è¦ããã
|
---|
712 |
|
---|
713 | ----------------------------------------
|
---|
714 | ãã¥ã¼ããã¯ã¹æ©è½ã«ããã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
715 | 度ãå¤åããå ´åã«ã¯ï¼æ¬¡ã®å¦ç
|
---|
716 | ãè¡ãããï¼ç¾å¨åªå
|
---|
717 | 度ãå¤åããããµã¼ãã¹ã³ã¼ã«ã®åå¾ã¨ãï¼å½è©²ã¿ã¹ã¯
|
---|
718 | ãå®è¡ã§ããç¶æ
|
---|
719 | ã§ããå ´åã«ã¯ï¼åãåªå
|
---|
720 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
721 | é ä½ã¨
|
---|
722 | ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ã«ããï¼å½è©²ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
723 | ã«é·ç§»ããå ´
|
---|
724 | åã«ã¯ï¼åãåªå
|
---|
725 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
726 | é ä½ã¨ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«
|
---|
727 | ã®å¾ã§ï¼å½è©²ã¿ã¹ã¯ãå¾
|
---|
728 | ã¡ç¶æ
|
---|
729 | ã§ï¼ã¿ã¹ã¯ã®åªå
|
---|
730 | 度é ã®å¾
|
---|
731 | ã¡è¡åã«ã¤ãªããã¦
|
---|
732 | ããå ´åã«ã¯ï¼å½è©²ã¿ã¹ã¯ã®å¤æ´å¾ã®ç¾å¨åªå
|
---|
733 | 度ã«å¾ã£ã¦ï¼ãã®å¾
|
---|
734 | ã¡è¡åä¸ã§
|
---|
735 | ã®é åºãå¤æ´ãããï¼å¾
|
---|
736 | ã¡è¡åä¸ã«åãç¾å¨åªå
|
---|
737 | 度ã®ã¿ã¹ã¯ãããå ´åã«ã¯ï¼
|
---|
738 | å½è©²ã¿ã¹ã¯ã®é åºã¯ãããã®ä¸ã§æå¾ã«ãªãï¼
|
---|
739 | ----------------------------------------
|
---|
740 |
|
---|
741 | ãã®å¦çãå®ç¾ããããã«ï¼ç¾å¨åªå
|
---|
742 | 度ãå¤æ´ããéã«ï¼åãåªå
|
---|
743 | 度ã®ã¿ã¹ã¯
|
---|
744 | ã®ä¸ã§æé«åªå
|
---|
745 | é ä½ã¨ããé¢æ°ãå¿
|
---|
746 | è¦ã§ããï¼ãã®ãããªé¢æ°ãæ°ãã«ç¨æã
|
---|
747 | ããã¨ãå¯è½ã§ãããï¼å¤ãã®é¨åãchange_priorityã¨å
|
---|
748 | ±éã§ããããï¼
|
---|
749 | change_priorityã«æ°ããªãã©ã¡ã¼ã¿mtxmodeã追å ãï¼mtxmodeãfalseã®æã¯
|
---|
750 | åãåªå
|
---|
751 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
752 | é ä½ï¼mtxmodeãtrueã®æã¯åãåªå
|
---|
753 | 度ã®ã¿
|
---|
754 | ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
755 | é ä½ã¨ããããã«ä¿®æ£ããï¼
|
---|
756 |
|
---|
757 | ----------------------------------------
|
---|
758 | bool_t
|
---|
759 | change_priority(TCB *p_tcb, uint_t newpri, bool_t mtxmode)
|
---|
760 | {
|
---|
761 | uint_t oldpri;
|
---|
762 |
|
---|
763 | oldpri = p_tcb->priority;
|
---|
764 | p_tcb->priority = newpri;
|
---|
765 |
|
---|
766 | if (TSTAT_RUNNABLE(p_tcb->tstat)) {
|
---|
767 | /*
|
---|
768 | * ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
769 | ã®å ´å
|
---|
770 | */
|
---|
771 | queue_delete(&(p_tcb->task_queue));
|
---|
772 | if (queue_empty(&(ready_queue[oldpri]))) {
|
---|
773 | primap_clear(oldpri);
|
---|
774 | }
|
---|
775 | if (mtxmode) {
|
---|
776 | queue_insert_next(&(ready_queue[newpri]), &(p_tcb->task_queue));
|
---|
777 | }
|
---|
778 | else {
|
---|
779 | queue_insert_prev(&(ready_queue[newpri]), &(p_tcb->task_queue));
|
---|
780 | }
|
---|
781 | primap_set(newpri);
|
---|
782 |
|
---|
783 | if (p_schedtsk == p_tcb) {
|
---|
784 | if (newpri >= oldpri) {
|
---|
785 | p_schedtsk = search_schedtsk();
|
---|
786 | return(p_schedtsk != p_tcb && dspflg);
|
---|
787 | }
|
---|
788 | }
|
---|
789 | else {
|
---|
790 | if (mtxmode ? newpri <= p_schedtsk->priority
|
---|
791 | : newpri < p_schedtsk->priority) {
|
---|
792 | p_schedtsk = p_tcb;
|
---|
793 | return(dspflg);
|
---|
794 | }
|
---|
795 | }
|
---|
796 | }
|
---|
797 | else {
|
---|
798 | if (TSTAT_WAIT_WOBJCB(p_tcb->tstat)) {
|
---|
799 | /*
|
---|
800 | * ã¿ã¹ã¯ãï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãããã¯ã®å
|
---|
801 | ±éé¨
|
---|
802 | * åï¼WOBJCBï¼ã®å¾
|
---|
803 | ã¡ãã¥ã¼ã«ã¤ãªããã¦ããå ´å
|
---|
804 | */
|
---|
805 | wobj_change_priority(((WINFO_WOBJ *)(p_tcb->p_winfo))->p_wobjcb,
|
---|
806 | p_tcb);
|
---|
807 | }
|
---|
808 | }
|
---|
809 | return(false);
|
---|
810 | }
|
---|
811 | ----------------------------------------
|
---|
812 |
|
---|
813 | ããã§ï¼åãåªå
|
---|
814 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
815 | é ä½ã¨ãªãã®ã¯ï¼ç¾å¨åªå
|
---|
816 | 度ãå¤
|
---|
817 | åããããµã¼ãã¹ã³ã¼ã«ã®åå¾ã¨ãå½è©²ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
818 | ã§ããå ´åã«
|
---|
819 | éãããããï¼wobj_change_priorityãä¿®æ£ããå¿
|
---|
820 | è¦ã¯ãªãï¼
|
---|
821 |
|
---|
822 | chg_priããchange_priorityãå¼ã¶å ´åã«ã¯ï¼mtxmodeãfalseã«ããï¼
|
---|
823 |
|
---|
824 | ä¸æ¹ï¼ãã¥ã¼ããã¯ã¹æ©è½ã«ããï¼ã¿ã¹ã¯ã®ç¶æ
|
---|
825 | ãå¤åããã«ï¼ã¿ã¹ã¯ã®ç¾å¨
|
---|
826 | åªå
|
---|
827 | 度ãå¤åããæã¯ï¼mtxmodeãtrueã«ãã¦change_priorityãå¼ã¶ï¼ã¿ã¹ã¯
|
---|
828 | ã®ç¶æ
|
---|
829 | ãå¤åããå ´åã«ã¯ï¼å¥éæ¤è¨ããï¼
|
---|
830 |
|
---|
831 | âç¾å¨åªå
|
---|
832 | 度ã®å¶å¾¡å¦ç
|
---|
833 |
|
---|
834 | ç¾å¨åªå
|
---|
835 | 度ã®å¶å¾¡ãè¡ãéã«ï¼ç¾å¨åªå
|
---|
836 | 度ã決å®ããããã®è¦ç´ åªå
|
---|
837 | 度ãä¸ã
|
---|
838 | ãï¼ã¾ãã¯å¢ããï¼å ´åã¨ï¼ä¸ããï¼ã¾ãã¯æ¸ãï¼å ´åã§ã¯å¤§ããéããããï¼
|
---|
839 |
|
---|
840 | è¦ç´ åªå
|
---|
841 | 度ãä¸ããï¼ã¾ãã¯å¢ããï¼å ´åã«ã¯ï¼ä¸ãã£ãå¾ã®è¦ç´ åªå
|
---|
842 | 度ã¨ã¿
|
---|
843 | ã¹ã¯ã®ç¾å¨åªå
|
---|
844 | 度ãæ¯è¼ããã ãã§ï¼ç¾å¨åªå
|
---|
845 | 度ã®å¤æ´ã®å¿
|
---|
846 | è¦æ§ãå¤æã§ããï¼
|
---|
847 | ãã¹ã¦ã®è¦ç´ åªå
|
---|
848 | 度ãã¹ãã£ã³ããå¿
|
---|
849 | è¦ã¯ãªãï¼
|
---|
850 |
|
---|
851 | ããã«å¯¾ãã¦ï¼è¦ç´ åªå
|
---|
852 | 度ãä¸ããï¼ã¾ãã¯æ¸ãï¼å ´åã§ï¼ä¸ããåã®è¦ç´ åª
|
---|
853 | å
|
---|
854 | 度ãã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
855 | 度ã¨ä¸è´ãã¦ããå ´åï¼è¨ãæããã¨ï¼ãã®è¦ç´ åªå
|
---|
856 |
|
---|
857 | 度ãã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
858 | 度ã決å®ãã¦ããå ´åï¼ã«ã¯ï¼ãã¹ã¦ã®è¦ç´ åªå
|
---|
859 | 度ãã¹
|
---|
860 | ãã£ã³ãã¦ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
861 | 度ãè¨ç®ãããã¨ãå¿
|
---|
862 | è¦ã§ããï¼ä¸ããåã®è¦ç´
|
---|
863 | åªå
|
---|
864 | 度ãã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
865 | 度ã¨ä¸è´ãã¦ããªãã£ãå ´åã«ã¯ï¼ç¾å¨åªå
|
---|
866 | 度ãå¤
|
---|
867 | æ´ã«ãªãå¯è½æ§ã¯ãªãï¼ãã®å¦çã¯å¿
|
---|
868 | è¦ãªãï¼
|
---|
869 |
|
---|
870 | è¨ãã¾ã§ããªãï¼è¦ç´ åªå
|
---|
871 | 度ãå¤åããªãå ´åã«ã¯ï¼ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
872 | 度ãå¤
|
---|
873 | åããï¼å¦çã¯å¿
|
---|
874 | è¦ãªãï¼
|
---|
875 |
|
---|
876 | è¦ç´ åªå
|
---|
877 | 度ãä¸ããï¼ã¾ãã¯å¢ããï¼å ´åã®å¦çã¯æ¬¡ã®éãï¼newpriã«ã¯ï¼ä¸
|
---|
878 | ãã£ãå¾ã®ï¼ã¾ãã¯å¢ããï¼è¦ç´ åªå
|
---|
879 | 度ã渡ãï¼
|
---|
880 |
|
---|
881 | ----------------------------------------
|
---|
882 | /*
|
---|
883 | * è¦ç´ åªå
|
---|
884 | 度ãä¸ããï¼ã¾ãã¯å¢ããï¼å ´åã®ç¾å¨åªå
|
---|
885 | 度å¤æ´å¦ç
|
---|
886 | */
|
---|
887 | Inline bool_t
|
---|
888 | mutex_raise_priority(TCB *p_tcb, uint_t newpri)
|
---|
889 | {
|
---|
890 | if (newpri < p_tcb->priority) {
|
---|
891 | return(change_priority(p_tcb, newpri, true));
|
---|
892 | }
|
---|
893 | return(false);
|
---|
894 | }
|
---|
895 | ----------------------------------------
|
---|
896 |
|
---|
897 | è¦ç´ åªå
|
---|
898 | 度ãä¸ããï¼ã¾ãã¯æ¸ãï¼å ´åã®å¦çã¯æ¬¡ã®éãï¼oldpriã«ã¯ï¼ä¸ã
|
---|
899 | ãåã®ï¼ã¾ãã¯æ¸ã£ãï¼è¦ç´ åªå
|
---|
900 | 度ã渡ãï¼
|
---|
901 |
|
---|
902 | ----------------------------------------
|
---|
903 | /*
|
---|
904 | * è¦ç´ åªå
|
---|
905 | 度ãä¸ããï¼ã¾ãã¯æ¸ãï¼å ´åã®ç¾å¨åªå
|
---|
906 | 度å¤æ´å¦ç
|
---|
907 | */
|
---|
908 | Inline bool_t
|
---|
909 | mutex_drop_priority(TCB *p_tcb, uint_t oldpri)
|
---|
910 | {
|
---|
911 | uint_t newpri;
|
---|
912 |
|
---|
913 | if (oldpri == p_tcb->priority) {
|
---|
914 | newpri = mutex_calc_priority(p_tcb);
|
---|
915 | if (newpri != p_tcb->priority) {
|
---|
916 | return(change_priority(p_tcb, newpri, true));
|
---|
917 | }
|
---|
918 | }
|
---|
919 | return(false);
|
---|
920 | }
|
---|
921 | ----------------------------------------
|
---|
922 |
|
---|
923 | ãããã®é¢æ°ãï¼ã¿ã¹ã¯ãã£ã¹ããããå¿
|
---|
924 | è¦ãªå ´åã«trueï¼å¿
|
---|
925 | è¦ãªãå ´åã«
|
---|
926 | falseãè¿ãï¼
|
---|
927 |
|
---|
928 | âåªå
|
---|
929 | 度å¶å¾¡ã®å¿
|
---|
930 | è¦ç®æ
|
---|
931 |
|
---|
932 | åè¿°ã®(1)ããã³(2)ã®åªå
|
---|
933 | 度ãå¤åããå ´åã«ï¼ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
934 | 度ã®å¤æ´ã
|
---|
935 | å¿
|
---|
936 | è¦ã«ãªãå¯è½æ§ãããï¼ããã§ï¼(1)ããã³(2)ã®åªå
|
---|
937 | 度ã®ããããã«ã¤ãã¦ï¼
|
---|
938 | ã©ã®ãããªå ´åã«å¤åããããæ¤è¨ãï¼ããã°ã©ã ä¸ã®ã©ã®ç®æã§ç¾å¨åªå
|
---|
939 | 度
|
---|
940 | ãå¤æ´ãã¹ããæ´ãåºãï¼
|
---|
941 |
|
---|
942 | (1)ãã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
943 | 度ããå¤åããã®ã¯ï¼chg_priã«ãã£ã¦ã¿ã¹ã¯ã®ãã¼
|
---|
944 | ã¹åªå
|
---|
945 | 度ãå¤æ´ããå ´åã®ã¿ã§ããï¼ãã®æã¯ï¼è¦ç´ åªå
|
---|
946 | 度ãä¸ããå ´å
|
---|
947 | ãä¸ããå ´åãããï¼
|
---|
948 |
|
---|
949 | (2)ãã¿ã¹ã¯ãåªå
|
---|
950 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åï¼ãããã®ãã¥ã¼
|
---|
951 | ããã¯ã¹ä¸ã§ï¼æãé«ãä¸éåªå
|
---|
952 | 度ãæã¤ãã¥ã¼ããã¯ã¹ã®ä¸éåªå
|
---|
953 | 度ã
|
---|
954 | ãå¤åããã®ã¯ï¼ä»¥ä¸ã®ããããã®ç¶æ³ã§ããï¼
|
---|
955 |
|
---|
956 | (2-1) åªå
|
---|
957 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ããæï¼ãã®æã¯ï¼è¦ç´ åªå
|
---|
958 | 度ãå¢
|
---|
959 | ããï¼
|
---|
960 |
|
---|
961 | (2-2) åªå
|
---|
962 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããæï¼ãã®æã¯ï¼è¦ç´ åªå
|
---|
963 | 度
|
---|
964 | ãæ¸ãï¼
|
---|
965 |
|
---|
966 | âåªå
|
---|
967 | 度å¶å¾¡ã®å®è£
|
---|
968 |
|
---|
969 |
|
---|
970 | ä¸ã§æ´çããåªå
|
---|
971 | 度å¶å¾¡ã®å¿
|
---|
972 | è¦ç®ææ¯ã«ï¼å®è£
|
---|
973 | æ¹æ³ãæ¤è¨ããï¼(1)ã®chg_pri
|
---|
974 | ã®å¦çã«ã¤ãã¦ã¯å¾ã§ã¾ã¨ãã¦æ¤è¨ãããã¨ã¨ãï¼ããã§ã¯(2-1)ã¨(2-2)ã«ã¤
|
---|
975 | ãã¦æ¤è¨ããï¼
|
---|
976 |
|
---|
977 | (2-1) åªå
|
---|
978 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ããæ
|
---|
979 |
|
---|
980 | ã¿ã¹ã¯ããã¥ã¼ããã¯ã¹ãããã¯ããå¦çã¯ï¼loc_mtxï¼ploc_mtxï¼tloc_mtxã«
|
---|
981 | å ãã¦ï¼unl_mtxï¼ext_tskï¼ter_tskã«ããï¼
|
---|
982 |
|
---|
983 | loc_mtxï¼ploc_mtxï¼tloc_mtxã§ã¿ã¹ã¯ããã¥ã¼ããã¯ã¹ãããã¯ããå ´åã«ã¯ï¼
|
---|
984 | ãã¥ã¼ããã¯ã¹ãããã¯ããã¿ã¹ã¯ãp_loctskï¼ããã¯ãããã¥ã¼ããã¯ã¹ã
|
---|
985 | p_mtxcbã¨ããã¨ï¼æ¬¡ã®å¦çãè¡ãã°ããï¼
|
---|
986 |
|
---|
987 | ----------------------------------------
|
---|
988 | mutex_raise_priority(p_loctsk, p_mtxcb->p_mtxinib->ceilpri);
|
---|
989 | ----------------------------------------
|
---|
990 |
|
---|
991 | ä¸æ¹ï¼unl_mtxï¼ext_tskï¼ter_tskã§ã¿ã¹ã¯ããã¥ã¼ããã¯ã¹ãããã¯ããã®ã¯ï¼
|
---|
992 | ãã¥ã¼ããã¯ã¹å¾
|
---|
993 | ã¡ç¶æ
|
---|
994 | ã®ã¿ã¹ã¯ãå¾
|
---|
995 | ã¡è§£é¤ãããå ´åã§ããï¼ãã®å ´åã«ã¯ï¼
|
---|
996 | ãç¾å¨åªå
|
---|
997 | 度ãå¤åããããµã¼ãã¹ã³ã¼ã«ã®åå¾ã¨ãå½è©²ã¿ã¹ã¯ãå®è¡ã§ãã
|
---|
998 | ç¶æ
|
---|
999 | ã§ããå ´åãã«è©²å½ããªãããï¼å¾
|
---|
1000 | ã¡è§£é¤ãããã¿ã¹ã¯ã¯ï¼åãåªå
|
---|
1001 | 度ã®
|
---|
1002 | ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
1003 | é ä½ã¨ãªãï¼
|
---|
1004 |
|
---|
1005 | ããã§ï¼ãã®å ´åã«ã¯mtxmodeãtrueã«ãã¦change_priorityãå¼ã³åºã
|
---|
1006 | mutex_raise_priorityã使ããã«ï¼æ°ããç¾å¨åªå
|
---|
1007 | 度ãTCBã«è¨å®ããå¾ã«ï¼
|
---|
1008 | make_non_waitãå¼ã³åºãå½¢ã§å®è£
|
---|
1009 | ããï¼å
|
---|
1010 | ·ä½çã«ã¯ï¼å¾
|
---|
1011 | ã¡è§£é¤ããã¦ãã¥ã¼ãã
|
---|
1012 | ã¯ã¹ãããã¯ããã¿ã¹ã¯ãp_tcbï¼ããã¯ãããã¥ã¼ããã¯ã¹ãp_mtxcbã¨ãã
|
---|
1013 | ã¨ï¼æ¬¡ã®å¦çãè¡ãï¼
|
---|
1014 |
|
---|
1015 | ----------------------------------------
|
---|
1016 | if (MTX_CEILING(p_mtxcb)) {
|
---|
1017 | if (p_mtxcb->p_mtxinib->ceilpri < p_tcb->priority) {
|
---|
1018 | p_tcb->priority = p_mtxcb->p_mtxinib->ceilpri;
|
---|
1019 | }
|
---|
1020 | }
|
---|
1021 | make_non_wait(p_tcb);
|
---|
1022 | ----------------------------------------
|
---|
1023 |
|
---|
1024 | ä¸è¨ã®ã³ã¼ãã¯ï¼ãã¥ã¼ããã¯ã¹ã®ããã¯è§£é¤å¦çãè¡ãmutex_releaseã®ä¸ã«
|
---|
1025 | å«ããï¼mutex_releaseã®å®è£
|
---|
1026 | ã¯æ¬¡ã®éãï¼
|
---|
1027 |
|
---|
1028 | ----------------------------------------
|
---|
1029 | static bool_t
|
---|
1030 | mutex_release(MTXCB *p_mtxcb)
|
---|
1031 | {
|
---|
1032 | TCB *p_tcb;
|
---|
1033 |
|
---|
1034 | if (queue_empty(&(p_mtxcb->wait_queue))) {
|
---|
1035 | p_mtxcb->p_loctsk = NULL;
|
---|
1036 | return(false);
|
---|
1037 | }
|
---|
1038 | else {
|
---|
1039 | /*
|
---|
1040 | * ãã¥ã¼ããã¯ã¹å¾
|
---|
1041 | ã¡ãã¥ã¼ã®å
|
---|
1042 | é ã¿ã¹ã¯ï¼p_tcbï¼ã«ï¼ãã¥ã¼ãã
|
---|
1043 | * ã¯ã¹ãããã¯ãããï¼
|
---|
1044 | */
|
---|
1045 | p_tcb = (TCB *) queue_delete_next(&(p_mtxcb->wait_queue));
|
---|
1046 | wait_dequeue_tmevtb(p_tcb);
|
---|
1047 | p_tcb->p_winfo->wercd = E_OK;
|
---|
1048 |
|
---|
1049 | p_mtxcb->p_loctsk = p_tcb;
|
---|
1050 | queue_insert_prev(&(p_tcb->mutex_queue), &(p_mtxcb->mutex_queue));
|
---|
1051 | if (MTX_CEILING(p_mtxcb)) {
|
---|
1052 | if (p_mtxcb->p_mtxinib->ceilpri < p_tcb->priority) {
|
---|
1053 | p_tcb->priority = p_mtxcb->p_mtxinib->ceilpri;
|
---|
1054 | }
|
---|
1055 | }
|
---|
1056 | return(make_non_wait(p_tcb));
|
---|
1057 | }
|
---|
1058 | }
|
---|
1059 | ----------------------------------------
|
---|
1060 |
|
---|
1061 | ãã®é¢æ°ã®å¾åã¯ï¼æ¬¡ã®ããã«å®è£
|
---|
1062 | ãããã¨ãå¯è½ã«æããï¼
|
---|
1063 |
|
---|
1064 | ----------------------------------------
|
---|
1065 | else {
|
---|
1066 | bool_t dspreq = false;
|
---|
1067 |
|
---|
1068 | p_tcb = (TCB *) queue_delete_next(&(p_mtxcb->wait_queue));
|
---|
1069 | if (wait_complete(p_tcb)) {
|
---|
1070 | dspreq = true;
|
---|
1071 | }
|
---|
1072 | if (mutex_acquire(p_tcb, p_mtxcb)) {
|
---|
1073 | dspreq = true;
|
---|
1074 | }
|
---|
1075 | return(dspreq);
|
---|
1076 | }
|
---|
1077 | ----------------------------------------
|
---|
1078 |
|
---|
1079 | ããããã®ã³ã¼ãã«ã¯ï¼ãã¥ã¼ããã¯ã¹ãããã¯ããã¿ã¹ã¯ã®åªå
|
---|
1080 | é ä½ãï¼å
|
---|
1081 | ãåªå
|
---|
1082 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«ã¨ãªã£ã¦ãã¾ãã¨ããåé¡ãããï¼ä»æ§ã«åãã
|
---|
1083 | ãããã«ã¯ï¼mutex_acquireã«å¯¾ãã¦ãã©ã¡ã¼ã¿mtxmodeã追å ãããªã©ã®ä¿®æ£
|
---|
1084 | ãå¿
|
---|
1085 | è¦ã§ããï¼
|
---|
1086 |
|
---|
1087 | ã¾ããã®ã³ã¼ãã¯ï¼wait_compleateã§ã¿ã¹ã¯ãã¬ãã£ãã¥ã¼ã«ã¤ãªãã å¾ï¼
|
---|
1088 | mutex_acquireããå¼ãã mutex_raise_priorityã§ã¬ãã£ãã¥ã¼ããã®åé¤ã¨æ¿
|
---|
1089 | å
|
---|
1090 | ¥ãè¡ãå ´åãããï¼å¹çãæªãï¼
|
---|
1091 |
|
---|
1092 | (2-2) åªå
|
---|
1093 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããæ
|
---|
1094 |
|
---|
1095 | ã¿ã¹ã¯ããã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããå¦çã¯ï¼unl_mtxã«å ãã¦ï¼ext_tskï¼
|
---|
1096 | ter_tskï¼ini_mtxã«ããï¼ãã®å ´åã«ã¯ï¼ãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããã¿
|
---|
1097 | ã¹ã¯ãp_loctskï¼ããã¯è§£é¤ãããã¥ã¼ããã¯ã¹ãp_mtxcbã¨ããã¨ï¼æ¬¡ã®å¦ç
|
---|
1098 | ãè¡ãã°ããï¼
|
---|
1099 |
|
---|
1100 | ----------------------------------------
|
---|
1101 | mutex_drop_priority(p_loctsk, p_mtxcb->p_mtxinib->ceilpri);
|
---|
1102 | ----------------------------------------
|
---|
1103 |
|
---|
1104 | âåå¦çã®å®è£
|
---|
1105 |
|
---|
1106 |
|
---|
1107 | ã»loc_mtxï¼ploc_mtxï¼tloc_mtx
|
---|
1108 |
|
---|
1109 | loc_mtxã®ä¸ã§ã¯ï¼ãã¥ã¼ããã¯ã¹ãããã¯ããå¦çã¨ï¼ãã¥ã¼ããã¯ã¹ã®ãã
|
---|
1110 | ã¯ãå¾
|
---|
1111 | ã¡å§ããå¦çãè¡ãï¼ãã®ããï¼åè¿°ã®åªå
|
---|
1112 | 度å¤æ´ç®æã®(2-1) ã«å¯¾å¿
|
---|
1113 | ããªããã°ãªããªãï¼ãã®å
|
---|
1114 | (2-1)ã®å¦çã¯ï¼mutex_acquireã®ä¸ã§è¡ãï¼
|
---|
1115 |
|
---|
1116 | ã»unl_mtx
|
---|
1117 |
|
---|
1118 | unl_mtxã®ä¸ã§ã¯ï¼ãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããå¦çã¨ï¼å¾
|
---|
1119 | ã¡ç¶æ
|
---|
1120 | ã§ãã£ã
|
---|
1121 | ã¿ã¹ã¯ã«ãã¥ã¼ããã¯ã¹ãããã¯ãããå¦çãè¡ãï¼ãã®ããï¼åè¿°ã®åªå
|
---|
1122 | 度
|
---|
1123 | å¤æ´ç®æã®(2-1)ï¼(2-2)ã«å¯¾å¿ããªããã°ãªããªãï¼ãã®å
|
---|
1124 | (2-1)ã®å¦çã¯ï¼
|
---|
1125 | mutex_releaseã®ä¸ã§è¡ãï¼
|
---|
1126 |
|
---|
1127 | ã»ini_mtx
|
---|
1128 |
|
---|
1129 | ini_mtxã®ä¸ã§ã¯ï¼ãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããå¦çã¨ï¼ãã¥ã¼ããã¯ã¹ã®
|
---|
1130 | ããã¯ãå¾
|
---|
1131 | ã¤ã®ããããå¦çãè¡ãï¼ãã®ããï¼åè¿°ã®åªå
|
---|
1132 | 度å¤æ´ç®æã®
|
---|
1133 | (2-2)ã«å¯¾å¿ããªããã°ãªããªãï¼
|
---|
1134 |
|
---|
1135 | ã»ext_tsk
|
---|
1136 |
|
---|
1137 | ext_tskã®ä¸ã§ã¯ï¼ãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããå¦çã¨ï¼å¾
|
---|
1138 | ã¡ç¶æ
|
---|
1139 | ã§ãã£ã
|
---|
1140 | ã¿ã¹ã¯ã«ãã¥ã¼ããã¯ã¹ãããã¯ãããå¦çãè¡ãï¼ãã®ããï¼åè¿°ã®åªå
|
---|
1141 | 度
|
---|
1142 | å¤æ´ç®æã®(2-1)ï¼(2-2)ã«å¯¾å¿ããªããã°ãªããªãï¼(2-1)ã®å¦çã¯ï¼
|
---|
1143 | mutex_release_allããå¼ã³åºãããmutex_releaseã®ä¸ã§è¡ãï¼
|
---|
1144 |
|
---|
1145 | (2-2)ã®å¦çã«ã¤ãã¦ã¯ï¼æ¬¡ã®çç±ã«ããçç¥ãããã¨ãã§ããï¼ãã®å¦çã¯ï¼
|
---|
1146 | ãã¥ã¼ããã¯ã¹ã®ããã¯è§£é¤ã«ããèªã¿ã¹ã¯ã®åªå
|
---|
1147 | ãå¤æ´ããå¦çã§ãããï¼
|
---|
1148 | èªã¿ã¹ã¯ã¯ãã®ãµã¼ãã¹ã³ã¼ã«ã«ããçµäºããããï¼åªå
|
---|
1149 | 度ãæ´æ°ããå¿
|
---|
1150 | è¦ã¯
|
---|
1151 | ãªãï¼
|
---|
1152 |
|
---|
1153 | ã»ter_tsk
|
---|
1154 |
|
---|
1155 | ter_tskã®ä¸ã§ã¯ï¼ãã¥ã¼ããã¯ã¹ã®ããã¯ãå¾
|
---|
1156 | ã¤ã®ããããå¦çï¼ãã¥ã¼ãã
|
---|
1157 | ã¯ã¹ãããã¯è§£é¤ããå¦çã¨ï¼å¾
|
---|
1158 | ã¡ç¶æ
|
---|
1159 | ã§ãã£ãã¿ã¹ã¯ã«ãã¥ã¼ããã¯ã¹ããã
|
---|
1160 | ã¯ãããå¦çãè¡ãï¼ãã®ããï¼åè¿°ã®åªå
|
---|
1161 | 度å¤æ´ç®æã®(2-1)ï¼(2-2)ã«å¯¾å¿
|
---|
1162 | ããªããã°ãªããªãï¼(2-1)ã®å¦çã¯ï¼mutex_release_allããå¼ã³åºããã
|
---|
1163 | mutex_releaseã®ä¸ã§è¡ãï¼
|
---|
1164 |
|
---|
1165 | (2-2)ã®å¦çã«ã¤ãã¦ã¯ï¼æ¬¡ã®çç±ã«ããçç¥ãããã¨ãã§ããï¼ãã®å¦çã¯ï¼
|
---|
1166 | ãã¥ã¼ããã¯ã¹ã®ããã¯è§£é¤ã«ãã対象ã¿ã¹ã¯ã®åªå
|
---|
1167 | ãå¤æ´ããå¦çã§ãããï¼
|
---|
1168 | 対象ã¿ã¹ã¯ã¯ãã®ãµã¼ãã¹ã³ã¼ã«ã«ããçµäºããããï¼åªå
|
---|
1169 | 度ãæ´æ°ããå¿
|
---|
1170 | è¦
|
---|
1171 | ã¯ãªãï¼
|
---|
1172 |
|
---|
1173 | âchg_priã®ä¿®æ£
|
---|
1174 |
|
---|
1175 | ã¾ãï¼ãã¥ã¼ããã¯ã¹ããµãã¼ããããã¨ã«ããï¼chg_priã«ä»¥ä¸ã®ã¨ã©ã¼ãã§ã
|
---|
1176 | ã¯ã追å ããå¿
|
---|
1177 | è¦ãããï¼
|
---|
1178 |
|
---|
1179 | ----------------------------------------
|
---|
1180 | 対象ã¿ã¹ã¯ãåªå
|
---|
1181 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ãããããã¯ãå¾
|
---|
1182 | ã£ã¦ã
|
---|
1183 | ãå ´åï¼tskpriã¯ï¼ãããã®ãã¥ã¼ããã¯ã¹ã®ä¸éåªå
|
---|
1184 | 度ã¨åããããããä½
|
---|
1185 | ããªããã°ãªããªãï¼
|
---|
1186 | ----------------------------------------
|
---|
1187 |
|
---|
1188 | ãã®ã¨ã©ã¼ãæ¤åºããããã«ï¼chg_priã«ã¯æ¬¡ã®ã³ã¼ãã追å ããï¼
|
---|
1189 |
|
---|
1190 | ----------------------------------------
|
---|
1191 | else if ((!queue_empty(&(p_tcb->mutex_queue))
|
---|
1192 | || TSTAT_WAIT_MTX(p_tcb->tstat))
|
---|
1193 | && !mutex_check_ceilpri(p_tcb, newbpri)) {
|
---|
1194 | ercd = E_ILUSE;
|
---|
1195 | }
|
---|
1196 | ----------------------------------------
|
---|
1197 |
|
---|
1198 | mutex_check_ceilpriã®å®è£
|
---|
1199 | ã¯æ¬¡ã®éãï¼ãã®é¢æ°ã¯ï¼ã¨ã©ã¼ãæ¤åºããå ´å
|
---|
1200 | ã«falseãï¼ããã§ãªãå ´åã«trueãè¿ãï¼
|
---|
1201 |
|
---|
1202 | ----------------------------------------
|
---|
1203 | bool_t
|
---|
1204 | mutex_check_ceilpri(TCB *p_tcb, uint_t bpriority)
|
---|
1205 | {
|
---|
1206 | QUEUE *p_queue;
|
---|
1207 | MTXCB *p_mtxcb;
|
---|
1208 |
|
---|
1209 | /*
|
---|
1210 | * ã¿ã¹ã¯ãããã¯ãã¦ããåªå
|
---|
1211 | 度ä¸éãã¥ã¼ããã¯ã¹ã®ä¸ã§ï¼ä¸éåªå
|
---|
1212 |
|
---|
1213 | * 度ãbpriorityãããä½ããã®ãããã°ï¼falseãè¿ãï¼
|
---|
1214 | */
|
---|
1215 | p_queue = p_tcb->mutex_queue.p_next;
|
---|
1216 | while (p_queue != &(p_tcb->mutex_queue)) {
|
---|
1217 | p_mtxcb = MTXCB_QUEUE(p_queue);
|
---|
1218 | if (MTX_CEILING(p_mtxcb) && bpriority < p_mtxcb->p_mtxinib->ceilpri) {
|
---|
1219 | return(false);
|
---|
1220 | }
|
---|
1221 | p_queue = p_queue->p_next;
|
---|
1222 | }
|
---|
1223 |
|
---|
1224 | /*
|
---|
1225 | * ã¿ã¹ã¯ãåªå
|
---|
1226 | 度ä¸éãã¥ã¼ããã¯ã¹ã®ããã¯ãå¾
|
---|
1227 | ã£ã¦ããå ´åã«ï¼ã
|
---|
1228 | * ã®ä¸éåªå
|
---|
1229 | 度ãbpriorityãããä½ãããã°ï¼falseãè¿ãï¼
|
---|
1230 | */
|
---|
1231 | if (TSTAT_WAIT_MTX(p_tcb->tstat)) {
|
---|
1232 | p_mtxcb = ((WINFO_MTX *)(p_tcb->p_winfo))->p_mtxcb;
|
---|
1233 | if (MTX_CEILING(p_mtxcb) && bpriority < p_mtxcb->p_mtxinib->ceilpri) {
|
---|
1234 | return(false);
|
---|
1235 | }
|
---|
1236 | }
|
---|
1237 |
|
---|
1238 | /*
|
---|
1239 | * ãããã®æ¡ä»¶ã«ãå½ã¦ã¯ã¾ããªããã°trueãè¿ãï¼
|
---|
1240 | */
|
---|
1241 | return(true);
|
---|
1242 | }
|
---|
1243 | ----------------------------------------
|
---|
1244 |
|
---|
1245 | 次ã«ï¼ãã¼ã¹åªå
|
---|
1246 | 度ãå¤æ´ããå¾ï¼æ¬¡ã®å¦çãè¡ãå¿
|
---|
1247 | è¦ãããï¼
|
---|
1248 |
|
---|
1249 | ----------------------------------------
|
---|
1250 | ããã«ä¼´ã£ã¦ï¼å¯¾è±¡ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1251 | 度ãå¤æ´ãããï¼
|
---|
1252 |
|
---|
1253 | 対象ã¿ã¹ã¯ãï¼åªå
|
---|
1254 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããªãå ´åã«ã¯ï¼æ¬¡ã®
|
---|
1255 | å¦çãè¡ãããï¼å¯¾è±¡ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
1256 | ã®å ´åã«ã¯ï¼åãåªå
|
---|
1257 | 度ã®ã¿ã¹
|
---|
1258 | ã¯ã®ä¸ã§æä½åªå
|
---|
1259 | é ä½ã¨ãªãï¼å¯¾è±¡ã¿ã¹ã¯ãå¾
|
---|
1260 | ã¡ç¶æ
|
---|
1261 | ã§ï¼ã¿ã¹ã¯ã®åªå
|
---|
1262 | 度é ã®
|
---|
1263 | å¾
|
---|
1264 | ã¡è¡åã«ã¤ãªããã¦ããå ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®å¤æ´å¾ã®ç¾å¨åªå
|
---|
1265 | 度ã«å¾ã£
|
---|
1266 | ã¦ï¼ãã®å¾
|
---|
1267 | ã¡è¡åä¸ã§ã®é åºãå¤æ´ãããï¼å¾
|
---|
1268 | ã¡è¡åä¸ã«åãç¾å¨åªå
|
---|
1269 | 度ã®ã¿
|
---|
1270 | ã¹ã¯ãããå ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®é åºã¯ãããã®ä¸ã§æå¾ã«ãªãï¼
|
---|
1271 |
|
---|
1272 | 対象ã¿ã¹ã¯ãï¼åªå
|
---|
1273 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åã«ã¯ï¼å¯¾è±¡ã¿
|
---|
1274 | ã¹ã¯ã®ç¾å¨åªå
|
---|
1275 | 度ãå¤æ´ããããã¨ã¯ãªãï¼åªå
|
---|
1276 | é ä½ãå¤æ´ãããªãï¼
|
---|
1277 | ----------------------------------------
|
---|
1278 |
|
---|
1279 | ãããå®ç¾ããããã«ã¯ï¼åªå
|
---|
1280 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããªãå ´å
|
---|
1281 | ã«ã®ã¿change_priorityãå¼ã¶ããã«ä¿®æ£ããã°ããï¼change_priorityã¯ï¼
|
---|
1282 | mtxmodeãfalseã«ãã¦å¼ã¶ï¼ï¼å
|
---|
1283 | ·ä½çã«ã¯ï¼chg_priã®ä¸»è¦é¨åã¯æ¬¡ã®ããã«ãª
|
---|
1284 | ãï¼
|
---|
1285 |
|
---|
1286 | ----------------------------------------
|
---|
1287 | p_tcb->bpriority = newbpri;
|
---|
1288 | if (queue_empty(&(p_tcb->mutex_queue))
|
---|
1289 | || !mutex_scan_ceilmtx(p_tcb)) {
|
---|
1290 | if (change_priority(p_tcb, newbpri, false)) {
|
---|
1291 | dispatch();
|
---|
1292 | }
|
---|
1293 | }
|
---|
1294 | ercd = E_OK;
|
---|
1295 | ----------------------------------------
|
---|
1296 |
|
---|
1297 | ããã§ï¼mutex_scan_ceilmtxã¯ï¼ã¿ã¹ã¯ãåªå
|
---|
1298 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯
|
---|
1299 | ãã¦ããå ´åã«trueãè¿ãé¢æ°ã§ï¼æ¬¡ã®ããã«å®è£
|
---|
1300 | ãããï¼
|
---|
1301 |
|
---|
1302 | ----------------------------------------
|
---|
1303 | bool_t
|
---|
1304 | mutex_scan_ceilmtx(TCB *p_tcb)
|
---|
1305 | {
|
---|
1306 | QUEUE *p_queue;
|
---|
1307 | MTXCB *p_mtxcb;
|
---|
1308 |
|
---|
1309 | p_queue = p_tcb->mutex_queue.p_next;
|
---|
1310 | while (p_queue != &(p_tcb->mutex_queue)) {
|
---|
1311 | p_mtxcb = MTXCB_QUEUE(p_queue);
|
---|
1312 | if (MTX_CEILING(p_mtxcb)) {
|
---|
1313 | return(true);
|
---|
1314 | }
|
---|
1315 | p_queue = p_queue->p_next;
|
---|
1316 | }
|
---|
1317 | return(false);
|
---|
1318 | }
|
---|
1319 | ----------------------------------------
|
---|
1320 |
|
---|
1321 | ârot_rdqã®ä¿®æ£
|
---|
1322 |
|
---|
1323 | rot_rdqã¯ï¼tskpriã«TPRI_SELFãæå®ãããå ´åã«ï¼èªã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
1324 | 度
|
---|
1325 | ã対象åªå
|
---|
1326 | 度ã¨ããï¼ãã¥ã¼ããã¯ã¹ã®å°å
|
---|
1327 | ¥ã«ããï¼ãã¼ã¹åªå
|
---|
1328 | 度ã表ããã£ã¼
|
---|
1329 | ã«ããæ°è¨ãããããï¼ãã®é¨åã®ã³ã¼ããä¿®æ£ããå¿
|
---|
1330 | è¦ãããï¼å
|
---|
1331 | ·ä½çã«ã¯ï¼
|
---|
1332 | rot_rdqä¸ã®
|
---|
1333 |
|
---|
1334 | ----------------------------------------
|
---|
1335 | pri = (tskpri == TPRI_SELF) ? p_runtsk->priority : INT_PRIORITY(tskpri);
|
---|
1336 | ----------------------------------------
|
---|
1337 |
|
---|
1338 | ã®è¡ãï¼æ¬¡ã®ããã«ä¿®æ£ããï¼
|
---|
1339 |
|
---|
1340 | ----------------------------------------
|
---|
1341 | pri = (tskpri == TPRI_SELF) ? p_runtsk->bpriority : INT_PRIORITY(tskpri);
|
---|
1342 | ----------------------------------------
|
---|
1343 |
|
---|
1344 | âref_tskã®ä¿®æ£
|
---|
1345 |
|
---|
1346 | ref_tskã¯ï¼tskbpriã«å¯¾è±¡ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
1347 | 度ãè¿ãï¼ãã¥ã¼ããã¯ã¹ã®å°
|
---|
1348 | å
|
---|
1349 | ¥ã«ããï¼ãã¼ã¹åªå
|
---|
1350 | 度ã表ããã£ã¼ã«ããæ°è¨ãããããï¼ãã®é¨åã®ã³ã¼
|
---|
1351 | ããä¿®æ£ããå¿
|
---|
1352 | è¦ãããï¼å
|
---|
1353 | ·ä½çã«ã¯ï¼ref_tskä¸ã®
|
---|
1354 |
|
---|
1355 | ----------------------------------------
|
---|
1356 | pk_rtsk->tskbpri = EXT_TSKPRI(p_tcb->priority);
|
---|
1357 | ----------------------------------------
|
---|
1358 |
|
---|
1359 | ã®è¡ãï¼æ¬¡ã®ããã«ä¿®æ£ããï¼
|
---|
1360 |
|
---|
1361 | ----------------------------------------
|
---|
1362 | pk_rtsk->tskbpri = EXT_TSKPRI(p_tcb->bpriority);
|
---|
1363 | ----------------------------------------
|
---|
1364 |
|
---|
1365 | âãã¥ã¼ããã¯ã¹æ©è½ããªã³ã¯ããªã工夫
|
---|
1366 |
|
---|
1367 | æå¾ã«ï¼ãã¥ã¼ããã¯ã¹æ©è½ã使ç¨ããªãå ´åã«ï¼ãã¥ã¼ããã¯ã¹é¢é£ã®ã³ã¼
|
---|
1368 | ãããªã³ã¯ããªã工夫ãè¡ãï¼
|
---|
1369 |
|
---|
1370 | ãã¥ã¼ããã¯ã¹ã¢ã¸ã¥ã¼ã«ã®å¤ããå¼ã³åºããã¥ã¼ããã¯ã¹ã¢ã¸ã¥ã¼ã«ã®å
|
---|
1371 | é¨
|
---|
1372 | é¢æ°ã¯æ¬¡ã®éãï¼
|
---|
1373 |
|
---|
1374 | mutex_check_ceilpriï¼chg_priããï¼
|
---|
1375 | mutex_scan_ceilmtxï¼chg_priããï¼
|
---|
1376 | mutex_release_allï¼ext_tskï¼ter_tskããï¼
|
---|
1377 |
|
---|
1378 | ãããã®é¢æ°ã¯ããã¯ã«ã¼ãã³ã§ãããã®ã¨ãï¼å¼ã³åºãéã«ã¯ï¼å¤æ°åç
|
---|
1379 | §ã
|
---|
1380 | ã¯ãããã¨ã«ããï¼ä¾ãã°ãmutex_release_all(p_runtsk)ãã®ä»£ããã«ï¼
|
---|
1381 |
|
---|
1382 | (*mtxhook_release_all)(p_runtsk);
|
---|
1383 |
|
---|
1384 | ã¨è¨è¿°ããï¼mtxhook_release_allã«ã¯ï¼ãã¥ã¼ããã¯ã¹ã¢ã¸ã¥ã¼ã«ããªã³ã¯ã
|
---|
1385 | ããå ´åã«ã¯mutex_release_allã¸ã®ãã¤ã³ã¿ãæ ¼ç´ããï¼å
|
---|
1386 | ·ä½çã«ã¯ï¼
|
---|
1387 | initialize_mutexã«ããã¦è¨å®ããï¼ãã¥ã¼ããã¯ã¹ã¢ã¸ã¥ã¼ã«ããªã³ã¯ãã
|
---|
1388 | ãªãå ´åã«ã¯ï¼mtxhook_release_allãåç
|
---|
1389 | §ãã¦ã¯ãªããªããã®ã¨ããï¼0ãå
|
---|
1390 | ¥
|
---|
1391 | ããã¨ã¯ä»®å®ããªãï¼ï¼
|
---|
1392 |
|
---|
1393 | ä¾ãã°ï¼ext_tskããmutex_release_allãå¼ã¶ç®æã¯æ¬¡ã®ããã«ãªãï¼
|
---|
1394 |
|
---|
1395 | ----------------------------------------
|
---|
1396 | if (!queue_empty(&(p_runtsk->mutex_queue))) {
|
---|
1397 | (void) (*mtxhook_release_all)(p_runtsk);
|
---|
1398 | }
|
---|
1399 | ----------------------------------------
|
---|
1400 |
|
---|
1401 | TCBä¸ã®mutex_queueã空ã§ãªããªãã®ã¯ï¼ã¿ã¹ã¯ããã¥ã¼ããã¯ã¹ãããã¯ã
|
---|
1402 | ã¦ããå ´åã®ã¿ã§ï¼ããã¯ãã¥ã¼ããã¯ã¹ã¢ã¸ã¥ã¼ã«ããªã³ã¯ãããå ´åã«é
|
---|
1403 | ãããï¼ãã®ããä¸ã®ã³ã¼ãã§ï¼ãã¥ã¼ããã¯ã¹ã¢ã¸ã¥ã¼ã«ããªã³ã¯ãããªã
|
---|
1404 | å ´åã«ã¯ï¼mtxhook_release_allãåç
|
---|
1405 | §ããããã¨ã¯ãªãï¼
|
---|
1406 |
|
---|
1407 | ä»ã®2ã¤ã®é¢æ°ã«ã¤ãã¦ãããã¨åæ§ã«æ±ãï¼
|
---|
1408 |
|
---|
1409 | âãã¥ã¼ããã¯ã¹æ©è½æ¡å¼µã®ã³ã¼ã«ã°ã©ã
|
---|
1410 |
|
---|
1411 | chg_pri -- mutex_check_ceilpri
|
---|
1412 | -- change_priority -- wobj_change_priority
|
---|
1413 |
|
---|
1414 | ext_tsk -- mutex_release_all -- mutex_release
|
---|
1415 |
|
---|
1416 | ter_tsk -- mutex_release_all -- mutex_release
|
---|
1417 |
|
---|
1418 | initialize_mutex
|
---|
1419 |
|
---|
1420 | mutex_check_ceilpri
|
---|
1421 |
|
---|
1422 | mutex_calc_priority
|
---|
1423 |
|
---|
1424 | mutex_raise_priority -- change_priority -- wobj_change_priority
|
---|
1425 |
|
---|
1426 | mutex_drop_priority -- mutex_calc_priority
|
---|
1427 | -- change_priority -- wobj_change_priority
|
---|
1428 |
|
---|
1429 | mutex_acquire -- mutex_raise_priority --
|
---|
1430 |
|
---|
1431 | mutex_release_all -- mutex_release
|
---|
1432 |
|
---|
1433 | loc_mtx -- mutex_acquire -- mutex_raise_priority --
|
---|
1434 | ploc_mtx -- mutex_acquire -- mutex_raise_priority --
|
---|
1435 | tloc_mtx -- mutex_acquire -- mutex_raise_priority --
|
---|
1436 |
|
---|
1437 | unl_mtx -- mutex_drop_priority --
|
---|
1438 | -- mutex_release
|
---|
1439 |
|
---|
1440 | ini_mtx -- mutex_drop_priority --
|
---|
1441 |
|
---|
1442 | ref_mtx
|
---|
1443 |
|
---|
1444 | âãã¥ã¼ããã¯ã¹æ©è½ã®ãã¹ã
|
---|
1445 |
|
---|
1446 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(1)
|
---|
1447 |
|
---|
1448 | FIFOé ãã¥ã¼ããã¯ã¹ãï¼ããã¯ããå¦çã¨ããã¯è§£é¤ããå¦çãä¸éããã¹
|
---|
1449 | ãããï¼
|
---|
1450 |
|
---|
1451 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(2)
|
---|
1452 |
|
---|
1453 | åªå
|
---|
1454 | 度é ãã¥ã¼ããã¯ã¹ãï¼ããã¯ããå¦çã¨ããã¯è§£é¤ããå¦çãä¸éãã
|
---|
1455 | ã¹ãããï¼
|
---|
1456 |
|
---|
1457 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(3)
|
---|
1458 |
|
---|
1459 | åªå
|
---|
1460 | 度ä¸éãã¥ã¼ããã¯ã¹ãï¼ããã¯ããå¦çã¨ããã¯è§£é¤ããå¦çãä¸éã
|
---|
1461 | ãã¹ãããï¼ref_tskã«ãããã¼ã¹åªå
|
---|
1462 | 度ã¨ç¾å¨åªå
|
---|
1463 | 度ã®åç
|
---|
1464 | §å¦çã®ãã¹ããå
|
---|
1465 | ¼
|
---|
1466 | ãã¦ããï¼
|
---|
1467 |
|
---|
1468 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(4)
|
---|
1469 |
|
---|
1470 | åªå
|
---|
1471 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦ï¼loc_mtxã¨unl_mtxã«ä¼´ãåªå
|
---|
1472 | 度ã®å¤æ´å¦
|
---|
1473 | çã網ç¾
|
---|
1474 | çã«ãã¹ãããï¼ãã ãï¼change_priorityã¨mutex_calc_priorityã®
|
---|
1475 | å
|
---|
1476 | 容ã«ã¯è¸ã¿è¾¼ã¾ãªãï¼
|
---|
1477 |
|
---|
1478 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(5)
|
---|
1479 |
|
---|
1480 | åªå
|
---|
1481 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦ï¼ãã¥ã¼ããã¯ã¹ã®ååæåå¦çã網ç¾
|
---|
1482 | ç
|
---|
1483 | ã«ãã¹ãããï¼ãã ãï¼change_priorityã¨mutex_calc_priorityã®å
|
---|
1484 | 容ã«ã¯è¸
|
---|
1485 | ã¿è¾¼ã¾ãªãï¼
|
---|
1486 |
|
---|
1487 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(6)
|
---|
1488 |
|
---|
1489 | åªå
|
---|
1490 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦ï¼ã¿ã¹ã¯ã®çµäºæï¼ã¿ã¹ã¯ã®åªå
|
---|
1491 | é ä½ã®å
|
---|
1492 | 転æã®ãã¥ã¼ããã¯ã¹é¢é£ã®å¦çã網ç¾
|
---|
1493 | çã«ãã¹ãããï¼
|
---|
1494 |
|
---|
1495 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(7)
|
---|
1496 |
|
---|
1497 | åªå
|
---|
1498 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦ï¼ã¿ã¹ã¯ã®å¼·å¶çµäºæã®ãã¥ã¼ããã¯ã¹é¢
|
---|
1499 | é£ã®å¦çã網ç¾
|
---|
1500 | çã«ãã¹ãããï¼
|
---|
1501 |
|
---|
1502 | âãã¥ã¼ããã¯ã¹ã®ãã¹ã(8)
|
---|
1503 |
|
---|
1504 | åªå
|
---|
1505 | 度ä¸éãã¥ã¼ããã¯ã¹ã«å¯¾ãã¦ï¼chg_priã«ä¼´ããã¥ã¼ããã¯ã¹é¢é£ã®åªå
|
---|
1506 |
|
---|
1507 | 度å¤æ´å¦çã網ç¾
|
---|
1508 | çã«ãã¹ãããï¼ãã ãï¼change_priorityã¨
|
---|
1509 | mutex_check_ceilpriï¼mutex_scan_ceilmtxã®å
|
---|
1510 | 容ã«ã¯è¸ã¿è¾¼ã¾ãªãï¼
|
---|
1511 |
|
---|
1512 | 以ä¸
|
---|
1513 |
|
---|
1514 | **********************************************************************
|
---|
1515 | æ¡ç¨ãããªãã£ãæ¤è¨
|
---|
1516 | **********************************************************************
|
---|
1517 |
|
---|
1518 | âãã¥ã¼ããã¯ã¹æ©è½ã®ä¿®æ£ä»æ§æ¡
|
---|
1519 |
|
---|
1520 | ãã¥ã¼ããã¯ã¹æ©è½ã®ä»æ§ã«ã¤ãã¦ã¯ï¼Î¼ITRON4.0ä»æ§ã®ãã¥ã¼ããã¯ã¹æ©è½
|
---|
1521 | ããã¼ã¹ã¨ãããï¼æ¬¡ã®ä¿®æ£ãå ããï¼
|
---|
1522 |
|
---|
1523 | ã»ãã¥ã¼ããã¯ã¹æä½ã«ä¼´ãã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1524 | 度ãå¤åããå ´åã«ã¯ï¼åãåª
|
---|
1525 | ãå
|
---|
1526 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
1527 | é ä½ã¨ãªãï¼
|
---|
1528 |
|
---|
1529 | â
|
---|
1530 | ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
1531 | ã®å ´åã«éãã¹ãã
|
---|
1532 | å®è¡ç¶æ
|
---|
1533 | ã«éãã¨ããæ¡ããã â ä¸æ¡ç¨
|
---|
1534 | ãµã¼ãã¹ã³ã¼ã«ã®åå¾ã¨ãå®è¡ã§ããç¶æ
|
---|
1535 | ã§ããå ´åã«éãæ¡ããã â æ¡ç¨
|
---|
1536 | â
|
---|
1537 | ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åã«éããã
|
---|
1538 | ï¼æ°ãã«ããã¯ããå ´åï¼ããã¾ã§ããã¯ãã¦ããå ´åãå«ãï¼
|
---|
1539 |
|
---|
1540 | ã»chg_priã§ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
1541 | 度ãå¤æ´ããå ´åã§ï¼ãã¼ã¹åªå
|
---|
1542 | 度ãå¤æ´ãã
|
---|
1543 | ãå¾ã®ç¶æ
|
---|
1544 | ã§ãã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1545 | 度ãç¶æ¿ãã¦ããªãå ´åã«éãï¼åã
|
---|
1546 | ãåªå
|
---|
1547 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
1548 | é ä½ã¨ãªãï¼ãã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1549 | 度ã
|
---|
1550 | ãç¶æ¿ãã¦ããå ´åã«ã©ããªããã¯è¦æ¤è¨ï¼åªå
|
---|
1551 | 度ãå¤ããæã¯æé«åªå
|
---|
1552 | é ä½ï¼
|
---|
1553 | ãå¤ãããªãå ´åã¯ãã®ã¾ã¾ã¨ããã®ã妥å½ãï¼ï¼
|
---|
1554 |
|
---|
1555 | â
|
---|
1556 | ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
1557 | ã®å ´åã«éãã¹ãã â æ¡ç¨
|
---|
1558 | å®è¡ç¶æ
|
---|
1559 | ã«éãã¨ããæ¡ããã â ä¸æ¡ç¨
|
---|
1560 |
|
---|
1561 | ä¸ã®æ¤è¨ãåãã¦ï¼æ¬¡ã®ããã«è©³ç´°åããï¼
|
---|
1562 |
|
---|
1563 | ã»ãã¥ã¼ããã¯ã¹æä½ã«ä¼´ãã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1564 | 度ãå¤åããå ´åã®æ±ãã¯æ¬¡ã®
|
---|
1565 | ãéãã¨ããï¼å¯¾è±¡ã¿ã¹ã¯ããµã¼ãã¹ã³ã¼ã«ã®åå¾ã¨ãå®è¡ã§ããç¶æ
|
---|
1566 | ã§ãã
|
---|
1567 | ãå ´åã«ã¯ï¼åãåªå
|
---|
1568 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
1569 | é ä½ã¨ãªãï¼ããã§ãªãå ´å
|
---|
1570 | ãã«ã¯ï¼åãåªå
|
---|
1571 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
1572 | é ä½ã¨ãªãï¼
|
---|
1573 |
|
---|
1574 | ã»chg_priã§ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
1575 | 度ãå¤æ´ããå ´åã®æ±ãã¯æ¬¡ã®éãã¨ããï¼å¯¾
|
---|
1576 | ã象ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
1577 | ã§ï¼ãã¼ã¹åªå
|
---|
1578 | 度ãå¤æ´ããå¾ã®ç¶æ
|
---|
1579 | ã§ãã¥ã¼ãã
|
---|
1580 | ãã¯ã¹çµç±ã§ãã¼ã¹åªå
|
---|
1581 | 度ã¨åããããããé«ãåªå
|
---|
1582 | 度ãç¶æ¿ãã¦ããå ´åã«
|
---|
1583 | ãã¯ï¼ç¾å¨åªå
|
---|
1584 | 度ãå¤åãããªãåãåªå
|
---|
1585 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
1586 | é ä½ã¨ãª
|
---|
1587 | ããï¼ç¾å¨åªå
|
---|
1588 | 度ãå¤åããªããªãåªå
|
---|
1589 | é ä½ãå¤åããªãï¼ãã以å¤ã®å ´åã«
|
---|
1590 | ãã¯ï¼åãåªå
|
---|
1591 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
1592 | é ä½ã¨ãªãï¼
|
---|
1593 |
|
---|
1594 | 注ï¼ãã¥ã¼ããã¯ã¹çµç±ã§ãã¼ã¹åªå
|
---|
1595 | 度ãããä½ãåªå
|
---|
1596 | 度ãç¶æ¿ããç¶æ³ã¯ï¼
|
---|
1597 | åªå
|
---|
1598 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ã®ã¿ã§èµ·ããï¼åªå
|
---|
1599 | 度ä¸éãã¥ã¼ããã¯ã¹ã§ã¯
|
---|
1600 | èµ·ãããªãï¼ãã®ããï¼åªå
|
---|
1601 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ããµãã¼ãããªãå ´å
|
---|
1602 | ã«ã¯ï¼ããã¥ã¼ããã¯ã¹çµç±ã§ãã¼ã¹åªå
|
---|
1603 | 度ã¨åããããããé«ãåªå
|
---|
1604 | 度
|
---|
1605 | ãç¶æ¿ãã¦ããå ´åãã¯ãåªå
|
---|
1606 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´
|
---|
1607 | åãã¨ä¸è´ããï¼
|
---|
1608 |
|
---|
1609 | ãåèã
|
---|
1610 |
|
---|
1611 | åªå
|
---|
1612 | 度ç¶æ¿å¦çã¯ï¼æ¬æ¥ã¯ï¼åªå
|
---|
1613 | 度ã§ã¯ãªãåªå
|
---|
1614 | é ä½ãç¶æ¿ãã¹ãã§ããã¹ã
|
---|
1615 | ã¨ããæè¦ããããï¼ç¾ç¶ã®å®è£
|
---|
1616 | ã§ã¯åªå
|
---|
1617 | é ä½ãè¨æ¶ãã¦ããªãããï¼å®ç¾ã
|
---|
1618 | é£ããã¨ããåé¡ãããï¼
|
---|
1619 |
|
---|
1620 | âchg_priã®æ©è½è¨è¿°ï¼é¢é£é¨åã®ã¿ï¼
|
---|
1621 |
|
---|
1622 | ----------------------------------------------------------------------
|
---|
1623 | tskidã§æå®ããã¿ã¹ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ï¼ã®ãã¼ã¹åªå
|
---|
1624 | 度ãï¼tskpriã§æå®ããåª
|
---|
1625 | å
|
---|
1626 | 度ã«å¤æ´ããï¼å
|
---|
1627 | ·ä½çãªæ¯èãã¯ä»¥ä¸ã®éãï¼
|
---|
1628 |
|
---|
1629 | 対象ã¿ã¹ã¯ãä¼æ¢ç¶æ
|
---|
1630 | ã§ãªãå ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
1631 | 度ãï¼tskpri
|
---|
1632 | ã§æå®ããåªå
|
---|
1633 | 度ã«å¤æ´ãããï¼ããã«ä¼´ã£ã¦ï¼å¯¾è±¡ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1634 | 度ãå¤
|
---|
1635 | æ´ãããï¼
|
---|
1636 |
|
---|
1637 | 対象ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
1638 | ã®å ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®åªå
|
---|
1639 | é ä½ã¯æ¬¡ã®éãã¨
|
---|
1640 | ãªãï¼å¤æ´å¾ã®ç¾å¨åªå
|
---|
1641 | 度ããã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1642 | 度ãç¶æ¿ãã¦ããªãå ´
|
---|
1643 | åã«ã¯ï¼åãåªå
|
---|
1644 | 度ã®ã¿ã¹ã¯ã®ä¸ã§æä½åªå
|
---|
1645 | é ä½ã¨ãªãï¼ãã¥ã¼ããã¯ã¹çµç±
|
---|
1646 | ã§åªå
|
---|
1647 | 度ãç¶æ¿ãã¦ããå ´åã«ã¯ï¼ç¾å¨åªå
|
---|
1648 | 度ãå¤åãããªãåãåªå
|
---|
1649 | 度ã®ã¿
|
---|
1650 | ã¹ã¯ã®ä¸ã§æé«åªå
|
---|
1651 | é ä½ã¨ãªãï¼ç¾å¨åªå
|
---|
1652 | 度ãå¤åããªããªãåªå
|
---|
1653 | é ä½ãå¤å
|
---|
1654 | ããªãï¼
|
---|
1655 |
|
---|
1656 | ããã§ï¼ç¾å¨åªå
|
---|
1657 | 度ããã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1658 | 度ãç¶æ¿ãã¦ããã¨ã¯ï¼å¯¾è±¡
|
---|
1659 | ã¿ã¹ã¯ããã¥ã¼ããã¯ã¹ãããã¯ãã¦ãããã¨ã«ããï¼ãã¼ã¹åªå
|
---|
1660 | 度ã¨åãã
|
---|
1661 | ããããé«ãåªå
|
---|
1662 | 度ãç¶æ¿ãã¦ãããã¨ãè¨ãï¼ããªãã¡ï¼æ¬¡ã®ããããï¼ã¾
|
---|
1663 | ãã¯ä¸¡æ¹ï¼ã®æ¡ä»¶ãæºããå ´åã§ããï¼
|
---|
1664 |
|
---|
1665 | ãã»å¯¾è±¡ã¿ã¹ã¯ãããã¯ãã¦ããåªå
|
---|
1666 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ãï¼å¯¾è±¡ã¿ã¹ã¯ã®
|
---|
1667 | ãã¼ã¹åªå
|
---|
1668 | 度ã¨åããããããé«ãåªå
|
---|
1669 | 度ãæã£ãã¿ã¹ã¯ãå¾
|
---|
1670 | ã£ã¦ããï¼
|
---|
1671 | ãã»å¯¾è±¡ã¿ã¹ã¯ãåªå
|
---|
1672 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããï¼ã¿ã¹ã¯ããã
|
---|
1673 | ã¯ãã¦ããåªå
|
---|
1674 | 度ä¸éãã¥ã¼ããã¯ã¹ã®ä¸éåªå
|
---|
1675 | 度ã¯ï¼å¿
|
---|
1676 | ãï¼ãã®ã¿ã¹ã¯
|
---|
1677 | ã®ãã¼ã¹åªå
|
---|
1678 | 度ã¨åããããããé«ãï¼ï¼
|
---|
1679 |
|
---|
1680 | 対象ã¿ã¹ã¯ãå¾
|
---|
1681 | ã¡ç¶æ
|
---|
1682 | ã§ï¼ã¿ã¹ã¯ã®åªå
|
---|
1683 | 度é ã®å¾
|
---|
1684 | ã¡è¡åã«ã¤ãªããã¦ããå ´å
|
---|
1685 | ã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ã®å¤æ´å¾ã®ç¾å¨åªå
|
---|
1686 | 度ã«å¾ã£ã¦ï¼ãã®å¾
|
---|
1687 | ã¡è¡åä¸ã§ã®é åºã
|
---|
1688 | å¤æ´ãããï¼å¾
|
---|
1689 | ã¡è¡åä¸ã«åãç¾å¨åªå
|
---|
1690 | 度ã®ã¿ã¹ã¯ãããå ´åã«ã¯ï¼å¯¾è±¡ã¿ã¹
|
---|
1691 | ã¯ã®é åºã¯ãããã®ä¸ã§æå¾ã«ãªãï¼
|
---|
1692 | ----------------------------------------------------------------------
|
---|
1693 |
|
---|
1694 | âåèï¼Î¼ITRON4.0ä»æ§ï¼4.02.00ï¼ã«ãããchg_pri
|
---|
1695 |
|
---|
1696 | ----------------------------------------------------------------------
|
---|
1697 | ãã®ãµã¼ãã«ã³ã¼ã«ãå®è¡ããçµæï¼å¯¾è±¡ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1698 | 度ãå¤åããå ´å
|
---|
1699 | ããã³ç¾å¨åªå
|
---|
1700 | 度ããã¼ã¹åªå
|
---|
1701 | 度ã«ä¸è´ãã¦ããå ´åï¼ãã¥ã¼ããã¯ã¹æ©è½ã
|
---|
1702 | 使ããªãå ´åã«ã¯ï¼ãã®æ¡ä»¶ã¯å¸¸ã«æãç«ã¤ï¼ã«ã¯ï¼æ¬¡ã®å¦çãè¡ãï¼å¯¾è±¡ã¿
|
---|
1703 | ã¹ã¯ãå®è¡ã§ããç¶æ
|
---|
1704 | ã§ããå ´åï¼ã¿ã¹ã¯ã®åªå
|
---|
1705 | é ä½ãï¼å¤æ´å¾ã®åªå
|
---|
1706 | 度ã«ã
|
---|
1707 | ããã£ã¦å¤åãããï¼å¤æ´å¾ã®åªå
|
---|
1708 | 度ã¨åãåªå
|
---|
1709 | 度ãæã¤ã¿ã¹ã¯ã®éã§ã¯ï¼å¯¾
|
---|
1710 | 象ã¿ã¹ã¯ã®åªå
|
---|
1711 | é ä½ãæä½ã¨ããï¼å¯¾è±¡ã¿ã¹ã¯ãä½ããã®ã¿ã¹ã¯åªå
|
---|
1712 | 度é ã®å¾
|
---|
1713 |
|
---|
1714 | ã¡è¡åã«ã¤ãªããã¦ããå ´åã«ãï¼ãã®å¾
|
---|
1715 | ã¡è¡åã®ä¸ã§ã®é åºãï¼å¤æ´å¾ã®åª
|
---|
1716 | å
|
---|
1717 | 度ã«ãããã£ã¦å¤åãããï¼å¤æ´å¾ã®åªå
|
---|
1718 | 度ã¨åãåªå
|
---|
1719 | 度ãæã¤ã¿ã¹ã¯ã®é
|
---|
1720 | ã§ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ãæå¾ã«ã¤ãªãï¼
|
---|
1721 | ----------------------------------------------------------------------
|
---|
1722 |
|
---|
1723 | âchg_priã«ãããåªå
|
---|
1724 | é ä½å¤åã«é¢ããåæ
|
---|
1725 |
|
---|
1726 | (a) ãã®ãµã¼ãã¹ã³ã¼ã«ãå®è¡ããçµæï¼å¯¾è±¡ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1727 | 度ãå¤åãã
|
---|
1728 | å ´åããã³ç¾å¨åªå
|
---|
1729 | 度ããã¼ã¹åªå
|
---|
1730 | 度ã«ä¸è´ãã¦ããå ´å
|
---|
1731 |
|
---|
1732 | (a1)ãç¾å¨åªå
|
---|
1733 | 度ããã¼ã¹åªå
|
---|
1734 | 度ã«ä¸è´ã
|
---|
1735 | ãã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1736 | 度ãç¶æ¿ãã¦ããªã or
|
---|
1737 | ãã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1738 | 度ãç¶æ¿ãã¦ããåªå
|
---|
1739 | 度ããã¼ã¹åªå
|
---|
1740 | 度ã¨
|
---|
1741 | åããããããä½ã
|
---|
1742 | (a2) 対象ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1743 | 度ãå¤åãã
|
---|
1744 |
|
---|
1745 | (a-) ãã®ãµã¼ãã¹ã³ã¼ã«ãå®è¡ããçµæï¼å¯¾è±¡ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1746 | 度ãå¤åããï¼
|
---|
1747 | ç¾å¨åªå
|
---|
1748 | 度ããã¼ã¹åªå
|
---|
1749 | 度ã«ä¸è´ãã¦ããªãå ´å
|
---|
1750 |
|
---|
1751 | (a1-)ãç¾å¨åªå
|
---|
1752 | 度ããã¼ã¹åªå
|
---|
1753 | 度ã«ä¸è´ãã¦ããªãã
|
---|
1754 | ãã¥ã¼ããã¯ã¹çµç±ã§ï¼ãã¼ã¹åªå
|
---|
1755 | 度ãããé«ãåªå
|
---|
1756 | 度ãç¶æ¿ãã¦ãã
|
---|
1757 | (a2-) 対象ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1758 | 度ãå¤åãã
|
---|
1759 |
|
---|
1760 | ãã¼ã¹åªå
|
---|
1761 | 度ãï¼chg_priã®åå¾ã§ã©ã®ããã«å¤åããããï¼ãã¥ã¼ããã¯ã¹çµ
|
---|
1762 | ç±ã§ç¶æ¿ãã¦ããæé«åªå
|
---|
1763 | 度ã¨ã®æ¯è¼ã§åé¡ããï¼ä¸ã®è¡¨ã§ãé«ããã¨ã¯ï¼ãã¼
|
---|
1764 | ã¹åªå
|
---|
1765 | 度ãï¼ãã¥ã¼ããã¯ã¹çµç±ã§ç¶æ¿ãã¦ããæé«åªå
|
---|
1766 | 度ãããé«ããã¨ã
|
---|
1767 | 示ãï¼ã¾ãï¼ã(å¤åãã)ãã¨ã¯ï¼chg_priã®åå¾ã§ãã¼ã¹åªå
|
---|
1768 | 度ã®å¤ãå¤ãã
|
---|
1769 | ãã¨ã示ãï¼
|
---|
1770 | åªå
|
---|
1771 | é ä½ã®å¤å
|
---|
1772 | chg_priå chg_priå¾ æç«æ¡ä»¶ å®è¡ã§ããç¶æ
|
---|
1773 | å¾
|
---|
1774 | ã¡ç¶æ
|
---|
1775 |
|
---|
1776 | é«ã é«ã(å¤åãã) (a1)(a2)(a) (b) æä½ æä½
|
---|
1777 | é«ã é«ã(å¤åãªã) (a1) (a) (b) æä½ æä½
|
---|
1778 | é«ã åã (a1)(a2)(a) æä½âæé« æä½
|
---|
1779 | é«ã ä½ã (a2)(a) æä½âæé« æä½
|
---|
1780 | åã é«ã (a1)(a2)(a) (b) æä½ æä½
|
---|
1781 | åã åã(å¤åãªã) (a1) (a) æä½âå¤åãªã æä½âï¼
|
---|
1782 | åã ä½ã å¤åãªã å¤åãªã
|
---|
1783 | ä½ã é«ã (a1)(a2)(a) (b) æä½ æä½
|
---|
1784 | ä½ã åã (a1) (a) æä½âå¤åãªã æä½âï¼
|
---|
1785 | ä½ã ä½ã(å¤åãã) å¤åãªã å¤åãªã
|
---|
1786 | ä½ã ä½ã(å¤åãªã) å¤åãªã å¤åãªã
|
---|
1787 |
|
---|
1788 | (b) å¤æ´å¾ã®ç¾å¨åªå
|
---|
1789 | 度ããã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1790 | 度ãç¶æ¿ãã¦ããªãå ´å
|
---|
1791 |
|
---|
1792 | (b-) å¤æ´å¾ã®ç¾å¨åªå
|
---|
1793 | 度ããã¥ã¼ããã¯ã¹çµç±ã§åªå
|
---|
1794 | 度ãç¶æ¿ãã¦ããå ´å
|
---|
1795 |
|
---|
1796 | âæ¤è¨éç¨ã®ã¡ã¢
|
---|
1797 |
|
---|
1798 | âåªå
|
---|
1799 | 度ä¸éã«ãã¼ã£ã¦èãã
|
---|
1800 |
|
---|
1801 | åªå
|
---|
1802 | 度ä¸éã§ã¯ï¼åªå
|
---|
1803 | 度ãå¤åããã®ã¯ï¼ä»¥ä¸ã®ç¶æ³ï¼
|
---|
1804 |
|
---|
1805 | ã»ãã¥ã¼ããã¯ã¹ãããã¯ããã¨ã
|
---|
1806 | åªå
|
---|
1807 | 度ãä¸ããï¼ã¾ãã¯ï¼å¤ãããªãï¼
|
---|
1808 | â ææï¼ã®ç¶æ³ãèããã¨ï¼ååªå
|
---|
1809 | 度å
|
---|
1810 | ã§ã¯æé«åªå
|
---|
1811 | é ä½ã§ããã¹ã
|
---|
1812 |
|
---|
1813 | ã»ãã¥ã¼ããã¯ã¹ãããã¯è§£é¤ããã¨ã
|
---|
1814 | åªå
|
---|
1815 | 度ãä¸ããï¼ã¾ãã¯ï¼å¤ãããªãï¼
|
---|
1816 | â ä»ã®åªå
|
---|
1817 | 度ä¸éãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åã«ã¯ï¼
|
---|
1818 | ååªå
|
---|
1819 | 度å
|
---|
1820 | ã§ã¯æé«åªå
|
---|
1821 | é ä½ã§ããã¹ã
|
---|
1822 | â ããã§ãªãå ´åã«ã¯ï¼ã©ã¡ãã§ãåé¡ãªãã¨æããããï¼
|
---|
1823 | stack resource policy ãå®ç¾ããã«ã¯ï¼æé«åªå
|
---|
1824 | é ä½ã§ããã¹ã
|
---|
1825 |
|
---|
1826 | 課é¡ï¼ããã¿ã¹ã¯ããã¥ã¼ããã¯ã¹ãããã¯è§£é¤ãï¼ä»ã®ã¿ã¹ã¯ãããã¯ããæ
|
---|
1827 | ä¸ã®ï¼ã¤ãåæã«èµ·ãã
|
---|
1828 |
|
---|
1829 | â å¾
|
---|
1830 | ã¡ç¶æ
|
---|
1831 | ããå®è¡å¯è½ç¶æ
|
---|
1832 | ã«ãªãæã¯ï¼æé«åªå
|
---|
1833 | é ä½ã§ããå¿
|
---|
1834 | è¦ããªã
|
---|
1835 | ããã¯ãåå¾ãããä»ã®ã¿ã¹ã¯ãã¯æä½åªå
|
---|
1836 | é ä½ã¨ãã
|
---|
1837 |
|
---|
1838 | è¨ãæããã¨ï¼
|
---|
1839 | ä»ã¿ã¹ã¯ã«ãã¥ã¼ããã¯ã¹ãããã¯ãããæã¯ï¼æä½åªå
|
---|
1840 | é ä½ã¨ãã
|
---|
1841 |
|
---|
1842 | ã»ãã¥ã¼ããã¯ã¹ãåæåãããæ
|
---|
1843 | ããã¯ãã¦ããã¿ã¹ã¯ã®åªå
|
---|
1844 | 度ãä¸ããï¼ã¾ãã¯ï¼å¤ãããªãï¼
|
---|
1845 |
|
---|
1846 | ã»chg_priãçºè¡ãããæ
|
---|
1847 | ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããæ
|
---|
1848 | ãã¼ã¹åªå
|
---|
1849 | 度ãä¸ããæ
|
---|
1850 | ãã¼ã¹åªå
|
---|
1851 | 度ãï¼ããã¯ãã¦ãããã¥ã¼ããã¯ã¹ã®åªå
|
---|
1852 | 度ä¸
|
---|
1853 | éãããé«ããªããã¨ã¯ãªãããï¼ãã¼ã¹åªå
|
---|
1854 | 度ãä¸ããã
|
---|
1855 | ã¨ã§ï¼ç¾å¨åªå
|
---|
1856 | 度ã®å¤æ´ã¯ãªãï¼
|
---|
1857 | ãã¼ã¹åªå
|
---|
1858 | 度ãä¸ããæ
|
---|
1859 | ããã¾ã§ã®ãã¼ã¹åªå
|
---|
1860 | 度ãï¼ããã¯ãã¦ãããã¥ã¼ããã¯ã¹
|
---|
1861 | ã®åªå
|
---|
1862 | 度ä¸éãããé«ããã¨ã¯ãªãããï¼ãã¼ã¹åªå
|
---|
1863 | 度ãä¸
|
---|
1864 | ãããã¨ã§ï¼ç¾å¨åªå
|
---|
1865 | 度ã®å¤æ´ã¯ãªãï¼
|
---|
1866 |
|
---|
1867 | â ããã¯ãã¦ãããã¥ã¼ããã¯ã¹ã®åªå
|
---|
1868 | 度ä¸éã¯ï¼å¤æ´åå¾ã®ãã¼
|
---|
1869 | ã¹åªå
|
---|
1870 | 度ã¨åããããããé«ãããï¼ç¾å¨åªå
|
---|
1871 | 度ã®å¤æ´ã¯ãªãï¼
|
---|
1872 | ãã£ã¦ï¼åªå
|
---|
1873 | é ä½ã¯å¤æ´ããªãã®ãç´ ç´ï¼
|
---|
1874 |
|
---|
1875 | â
|
---|
1876 | åªå
|
---|
1877 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ãããã¨æãç«ããªããªãï¼
|
---|
1878 |
|
---|
1879 | ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããªãæã¯ï¼é常ã®æ¯ãèãã¨ä¸è´ãã¹ã
|
---|
1880 | ã¤ã¾ãï¼æä½åªå
|
---|
1881 | é ä½ã¨ãã
|
---|
1882 |
|
---|
1883 | ã»ã¿ã¹ã¯ãçµäºããæã»å¼·å¶çµäºãããæ
|
---|
1884 | ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããã°ï¼ããã¯è§£é¤ãããã¨ã«ãªããï¼
|
---|
1885 | ã¿ã¹ã¯ãçµäºãã¦ãã¾ãã®ã§ï¼åªå
|
---|
1886 | é ä½ã¯æå³ããªããªã
|
---|
1887 |
|
---|
1888 | âå®è£
|
---|
1889 | ã«åãã¦ã®ä»æ§ã®è©³ç´°æ¤è¨ï¼å¤ãï¼
|
---|
1890 |
|
---|
1891 | μITRON4.0ä»æ§ã®å³å¯ãªåªå
|
---|
1892 | 度å¶å¾¡è¦åã«ããã¦ã¯ï¼ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1893 | 度ãï¼
|
---|
1894 | 常ã«ï¼æ¬¡ã®åªå
|
---|
1895 | 度ã®æé«å¤ã«ä¸è´ããããã«è¨å®ããï¼
|
---|
1896 |
|
---|
1897 | (1) ã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
1898 | 度
|
---|
1899 |
|
---|
1900 | (2) ã¿ã¹ã¯ãTA_INHERITå±æ§ã®ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åï¼ããã
|
---|
1901 | ã®ãã¥ã¼ããã¯ã¹ã®ããã¯ãå¾
|
---|
1902 | ã£ã¦ããã¿ã¹ã¯ã®ä¸ã§ï¼æãé«ãç¾å¨åªå
|
---|
1903 |
|
---|
1904 | 度ãæã¤ã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
1905 | 度
|
---|
1906 |
|
---|
1907 | (3) ã¿ã¹ã¯ãTA_CEILINGå±æ§ã®ãã¥ã¼ããã¯ã¹ãããã¯ãã¦ããå ´åï¼ããã
|
---|
1908 | ã®ãã¥ã¼ããã¯ã¹ä¸ã§ï¼æãé«ãä¸éåªå
|
---|
1909 | 度ãæã¤ãã¥ã¼ããã¯ã¹ã®ä¸é
|
---|
1910 | åªå
|
---|
1911 | 度
|
---|
1912 |
|
---|
1913 | ãããã®åªå
|
---|
1914 | 度ãï¼ããã§ã¯ï¼ç¾å¨åªå
|
---|
1915 | 度ã決å®ããè¦ç´ ã¨ãªãã¨ããæå³ã§ï¼
|
---|
1916 | è¦ç´ åªå
|
---|
1917 | 度ã¨å¼ã¶ï¼
|
---|
1918 |
|
---|
1919 | ä¿®æ£ä»æ§(A)ã«ããï¼(2)ã¨(3)ã®è¦ç´ åªå
|
---|
1920 | 度ã¯ï¼ååªå
|
---|
1921 | 度å
|
---|
1922 | ã®æé«åªå
|
---|
1923 | é ä½ã¨ã¿
|
---|
1924 | ãªããã¨ã«ãªãï¼
|
---|
1925 |
|
---|
1926 | ã¾ã(2)ã«ããã¦ï¼TA_INHERITå±æ§ã®ãã¥ã¼ããã¯ã¹ã®å¾
|
---|
1927 | ã¡ãã¥ã¼ã¯ã¿ã¹ã¯ã®åª
|
---|
1928 | å
|
---|
1929 | 度é ã§ããããï¼æãé«ãç¾å¨åªå
|
---|
1930 | 度ãæã¤ã¿ã¹ã¯ã¯ï¼å¾
|
---|
1931 | ã¡ãã¥ã¼ã®å
|
---|
1932 | é ã®
|
---|
1933 | ã¿ã¹ã¯ã§ããï¼ã¤ã¾ãï¼(2)ã®è¦ç´ åªå
|
---|
1934 | 度ãæ±ããããã«ï¼å¾
|
---|
1935 | ã¡ãã¥ã¼ãã¹ãã£
|
---|
1936 | ã³ããå¿
|
---|
1937 | è¦ã¯ãªãï¼
|
---|
1938 | **********************************************************************
|
---|