SylixOS进程介绍
进程介绍进程是操作系统中资源的容器,所有程序都必须依附于一个进程运行,进程管理程序的代码、数据、线程、信号量等资源。当一个进程销毁时,所有属于该进程的资源也会被销毁,如:文件句柄、socket套接字、线程等。SylixOS支持进程,就如前面介绍的一样,SylixOS进程管理应用程序资源。与linux、Windows操作系统不一样的是,SylixOS是充分考虑实时系统需求设计的,我们称之为实
进程介绍
进程是操作系统中资源的容器,所有程序都必须依附于一个进程运行,进程管理程序的代码、数据、线程、信号量等资源。当一个进程销毁时,所有属于该进程的资源也会被销毁,如:文件句柄、socket套接字、线程等。
SylixOS支持进程,就如前面介绍的一样,SylixOS进程管理应用程序资源。与linux、Windows操作系统不一样的是,SylixOS是充分考虑实时系统需求设计的,我们称之为实时进程。SylixOS主要从以下两个方面改进进程实时性:
首先、SylixOS进程中的所有线程使用实时调度算法调度。
其次、SylixOS所有进程公用一个地址空间,在任务切换过程中不需要切换页表,进程的存在对任务切换实时性没有任何影响。
在SylixOS Shell中执行一个可执行文件,便会在系统中建立一个进程。使用ps命令可以查看当前运行的进程。如下:
[root@sylixos_station:/]# /apps/app/app&
[root@sylixos_station:/]# app is running
[root@sylixos_station:/]# ps
NAME FATHER PID GRP MEMORY UID GID USER
----------------- ----------------- ----- --------------- ----- ----- ------
kernel <orphan> 0 0 0 0 0 root
app <orphan> 2 2 65536 0 0 root
total vprocess : 2
在命令后添加“&”符号表示进程后台执行。SylixOS系统中进程的用户程序部分从main函数开始执行,main函数所在线程便是进程的主线程,主线程可以通过API创建其它线程。
进程状态机
进程状态反映进程执行过程的变化,这些状态随着进程的执行和外界条件的变化而转换。SylixOS进程存在以下四种状态。
l 初始化态。进程尚在初始化过程中,正在执行程序加载、内存初始化等操作,尚不具备运行条件。
l 运行态。进程正在运行,进程中的线程参与调度。
l 退出态。进程已经结束运行,进程在进入退出态时会发送信号给其父进程,父进程受到信号后回收进程残余资源。如果是僵尸进程,则在进入退出态后立刻回收资源。
l 停止态。部分进程在运行过程中会进入停止态,在停止态下,进程所有线程停止运行,不参与调度。如:在调试进程时,调试器会经常让进程进入停止态进而观察进程数据。
图 1‑1 进程状态机
进程API
除了在SylixOS shell中执行程序创建进程外,SylixOS也提供在程序中创建进程以及设置进程参数的API。当一个进程创建另外一个进程时,本进程成为被创建进程的父进程,被创建进程则成为本进程的子进程。父子进程相互关联,可以利用API相互查找到对方,而在子进程退出时,子进程会发送信号通知父进程,此时父进程可以获取子进程退出码,回收子进程资源。如果一个进程的父进程先于子进程退出,则子进程成为孤儿进程,孤儿进程的资源回收工作在退出时由系统自动完成。
SylixOS提供一套高度POSIX兼容API,POSIX兼容系统程序员可以方便的编写SylixOS程序或移植程序到SylixOS。
SylixOS官网:www.sylixos.com
SylixOS源码下载:git.sylixos.com
SylixOS百科:wiki.sylixos.com
更多推荐
所有评论(0)