本篇开始介绍“信号系统”、“IO系统”以及“标准设备”。详细信息请访问SylixOS官网:http://www.sylixos.com。
信号系统
信号是一种异步通信方式,也是POSIX兼容操作系统唯一的异步通信方式(之后章节只要提到异步通信,例如异步I/O都是信号驱动的)。SylixOS支持POSIX标准所定义的信号系统。
信号实际上是一种在软件层次上模拟的中断,其处理流程如下图所示。
所谓异步通信是指:应用程序不用等待事件的发生,当信号发生时应用程序自动陷入到对应的信号处理句柄中,就相当于应用程序被中断了一样。很多重要的系统级应用程序都要处理信号。信号提供了一种处理异步事件的方法。SylixOS共提供64个不同类型的信号,分别对应系统产生的不同类型的异常,例如:定时器到时,异步I/O操作完成,管道断裂,内存非法访问,除0操作,子进程结束等等。
这里需要说明的是SylixOS支持POSIX规定的信号排队功能。
I/O系统
SylixOS兼容标准的POSIX输入输出系统,使用户非常容易上手。SylixOS的I/O概念与UNIX兼容系统相同,认为一切都是文件。这些文件有不同的类型,它们包括:
1. 普通数据文件:最常用的文件类型,内部存放数据集合。
2. 目录文件:这个文件包含了其他文件的名字以及这些文件的指针。
3. 块设备文件:这种文件提供的I/O接口标准符合SylixOS对块设备的定义。
4. 字符设备文件:这是标准的不带缓冲的设备文件,系统中的设备不是块设备就是字符设备。
5. FIFO文件:管道通信文件。它对应了一个命名管道。
6. 套接字(socket)文件:进程间或者主机间的网络通信。
7. 符号链接:该文件指向另一个文件。
SylixOS I/O系统结构如下图所示。