Title: ???????????????? ????? ???????????????? ??? ???????????? ??????? L4Ka (Documenting the programmer environment for L4ka)
1???????????????? ????? ???????????????? ???
???????????? ??????? L4Ka(Documenting the
programmer environment for L4ka)
??????????? ??????????????? ???????????
??????????? ???????? ??????????????
?????????? (Khabarovsk State University of
Technology)(Institute of Information
Technologies)
University of SaarlandDepartment of Computer
Science
- Yury Chebiryak
- urriy_at_wjpserver.cs.uni-sb.de
2???? ??????
???????? ???????? ??????? ????????
- ???????????????? ????????? ??????? (system calls)
????? ???????????????? ???????????? ??????? L4Ka
- ???????? ???????????? ??????????? ????????????
- ?????????? ???????????????? ????????? ?????? s0
- ????????? ????????? ????????? ??????????
?????????? (interrupt service routine)
?????? ?????????? ??? ??????? ?????????? ???????
(memory management) ? ?????????????? ?????
?????????? (???) (IPC inter-process
communication)
3?????????? ???????
- ????????? (mapping) ???????? ?????????? ??????
- ?????????/???????????? (unmapping) ? ????????
(granting) ???????? ?????? ????? ???????? (tasks)
4?????????????? ????? ??????????
- ????? ??????????? ????? ???????? (tasks) ?
?????? (threads)
- ????????? ??????? ??? ?????????? ??????????
(interrupt service routine)
- ?????????? ???????????????? ????????? ?????? s0
5???????????? ??????? (??)
?? ??? ?????????, ??????????????? ???
?????????? ????? ????????? ?????????????? ??????
? ????? ?????????????? ??????????? ?????????????
?????????? ?????? ?????????? ??????
????????????? ?? ????????? ???? (kernel)
- ???????????? ??????? ??? ???? (MS-DOS)
- ???????????? ??????? ? ?????-????? (Unix, Windows)
- ???????????? ??????? ? ?????-????? (L4, Mac OS X,
Mach, Nomad OS)
6????? ?? ? ?????-?????
7????? ?? ? ?????-?????
8L4Ka ?? ? ?????-?????
- ???????? ?????????
- ???? (threads) ????????, ??????? ??????
???????????????????? ? ????????????? ??????????? - ??? (IPC) ??????????????? ?????? ??????????????
????? ?????? - ???????? ???????????? (address space)
?????????? ??????????????????? ???????????
??????? ? ?????????? - ???????????? ????????? ??????? (scheduling)
????????-???? ???????? ??? ???????? ?
????????????? ???????????????
????????? ??????
7 ????????? ??????? ??? ????????? ?????????
???????
9???????? ???????????? (??)
?? ??? ????? ?????????????? (translations) ??
??????????? ??????? ? ?????????? ???????? ???
??????? ?????? ????????? ??? ???? ????????.
10???????? ???????????? (2)
map ?????? ??????? ????? ????????
grant ?????? ???????????????? ? ???????????
11???????? ???????????? (3)
?????? ????? ?????, ????????????
???????????????????? ????????? (shared)
- ???? ????????????
- ???????????? ???????? ?????????????
- ?????????? ??????????????? (unique ID)
- ????? ????????? (register set)
- ???????? ?????? (pager page fault handler)
???????? ?????? ????, ??????? ????????????
?????? ??-?? ?????????? ???????? ?????? (page
faults)
s0 ???????? ???????? ??????, ????????? ????
??????? ????? ??????? L4Ka
12???????? ??????
13???????? ???????? ?????? s0
14???????????? ????????? ???????
15???? ?????? OC L4Ka
- ???????? ???? ??????
- ?????????? ????????????? (UID unique ID)
- flex-pages
- ????-??? (timeout)
- ????????? ??? (IPC result status)
- ???????? ???????????? (schedule parameter word)
16?????????? ?????????????
17Flex-pages
- Flex-page ??? ??????????? ??????? ?????????
???????????? - ?????????? ??? ???????? map ? grant
- ?????????? ??? ????? ??? ????????? (IPC messages)
- ????? ?????? 2s (??? ?86 ??????????? s12)
- ??????? ????? b ???????? ?? ???????? 2s
18????-??? (timeout)
????-??? ???????????? ??? ???????? ???. ? 32-?
?????? ???? ?????????? ?????? ????-????.
19????-??? (timeout) (2)
20????????? ??? (IPC result status)
????????? ????? ???????????? ????? ??????
???????????? ? 32?-?????? ????. ???? mwords
??????? ? ????? ???????? 32?-?????? ????. ????
strings ??????? ? ????? ???????? ?????. ???????
?????? ??? ???????????? ??? ??????? (condition
code), ? ??????? ??????????? ??? ?????? ? ???
?????????.
21???????? ???????????? (schedule parameter word)
? L4Ka ??????? ?????? ???? ???????? ???
????????????. ?? ???????? ???? ? ???????
??????????? ????????? ? ????? ?????? ??????? (?
???????????? ?? ????????????? ????-????).
22????????? ????? l4_myself
????????? ????? ?????????? ??????????
???????????????????? ????.
23????????? ????? l4_unmap
?????? ??????, ????????? ??????? ??????????
fpage,????? ?????????? (?????? ?? ?????????
???????????? ????).
24????????? ????? l4_thread_ex_regs
? ??????? ????? ?????????? ?????? ????? ????????
??????????? ???????? EIP ? ESP ?????? ?????????
????. ????? ???????, ????? ??????? ????? ????,
?????? ? ??????????????? ?????????? ???????? ???
EIP, ESP, ?????????? ????????????? ?????????
??????.
25????????? ????? l4_thread_switch
?????????? ???? ??????????? ??????????? ???????
??????????. ??????????? ???????? ????????? ????.
26????????? ????? l4_thread_schedule
????????? ???????? ?????????? ? ????? ??????
??????????? ???????????? ??????????? ???????? ?
???????????????? ????????? ????????? schedule
param word. ????????? ????? ????? ??????????
????? ?????????? ??????????????, ???????????????
?????.
27????????? ????? l4_task_new
???? ????????? ????? ??????? ?/??? ???????
??????. ???????? ?????? ???????? ????????
????????? ?????????????????? ? ???? ??
?????. ?????? ????? ???? ??????? ????????? ???
??????????. ??? ???????? ???????? ??????
????????? ????? ???????????????????? ?????? ?
?????? ??????? ????? (64). ????????? ?????? ?????
?? ????????? ???????? ??????????,?? ????? ??
????????? ????????????, ?? ?????,???????????? ?
??? ??????????. ????????? ?????? ?? ???? ??
?????????? ? ???????????? ????????? ???????????,
????? ??????? ???????? ?????? ??????? ??????????
?????????????.
28????????? ????? l4_ipc_call
- ???????? ????????? ????? ??? ??? ? ?????????????.
- ????? ????????????? ????????? ??????????
??????????????? - l4_ipc_send ??????? ????????? ?????? ????
- l4_ipc_receive ???????? ????????? ?? ?????????
???? - l4_ipc_reply_and_wait ???????? ?? ?????????
????????????? ? ????? ????????? ?? ????????????
???? - l4_ipc_wait ????? ????????? ?? ????????????
???? - ??????????????? ????????? ?????????
???????????????????? ????? ??????????????
(????????, ??????-??????).