XINU
Functions
main.c File Reference

XINUシェルを起動する。 More...

#include <xinu.h>
Include dependency graph for main.c:

Go to the source code of this file.

Functions

process main (void)
 XINUシェルを起動する。 More...
 

Detailed Description

XINUシェルを起動する。

Definition in file main.c.

Function Documentation

◆ main()

process main ( void  )

XINUシェルを起動する。

最初に生成されるmainプロセスのextern宣言

Step1. メッセージを全て受信する(ただし、メッセージ内容は確認しない)。
Step2. XINUシェルを作成/起動する。
Step3. XINUシェルが終了した場合は、以下の処理を行う(無限に繰り返す)。
 ・メッセージ到着を待つ。メッセージが来なければ、待ち続ける。
 ・200[ms]スリープする。
 ・XINUシェルを再作成/起動する。

Returns
OKを返す。

Definition at line 18 of file main.c.

References CONSOLE, create(), kprintf(), OK, receive(), recvclr(), resume(), shell(), sleepms(), and TRUE.

Referenced by startup().

19 {
20 
21  /* Run the Xinu shell */
22 
23  recvclr();
24  resume(create(shell, 8192, 50, "shell", 1, CONSOLE));
25 
26  /* Wait for shell to exit and recreate it */
27 
28  while (TRUE)
29  {
30  receive();
31  sleepms(200);
32  kprintf("\n\nMain process recreating shell\n\n");
33  resume(create(shell, 4096, 20, "shell", 1, CONSOLE));
34  }
35  return OK;
36 }
syscall kprintf(char *fmt,...)
ポーリングI/Oを使用して、フォーマットされた文字列をコンソールに出力する。
Definition: kprintf.c:98
process shell(did32)
Definition: shell.c:54
#define CONSOLE
Definition: conf.h:28
#define OK
処理が成功した場合
Definition: kernel.h:77
umsg32 receive(void)
メッセージの受信を待ち、受信後にreceive()の呼び出し者にメッセージを返す。
Definition: receive.c:17
syscall sleepms(int32)
Definition: sleep.c:26
#define TRUE
Boolean True(1)
Definition: kernel.h:65
umsg32 recvclr(void)
受信メッセージをクリアし、待機している場合はメッセージを返す。
Definition: recvclr.c:14
pri16 resume(pid32)
プロセスを休止状態(サスペンド)からREADY状態に遷移させる。
Definition: resume.c:20
pid32 create(void *, uint32, pri16, char *, uint32,...)
関数の実行を開始するプロセスを作成する。
Definition: create.c:55
Here is the call graph for this function:
Here is the caller graph for this function: