操作系统读书笔记2

进程和线程

1 process和program

   进程是一种活动,它有自己的程序,输入,输出和状态。如果一个程序执行两次,它就会有两个进程。

2 创建新进程

    unix中创建新进程的系统调用是fork。它会创建一个跟调用进程一模一样的新进程,称为子进程。创建成功后,子进程和父进程拥有同样的memory image,同样的environment strings和同样的打开的文件。一般地,子进程会执行execve或者类似的系统调用来改变memory image以运行一个新的程序。新的进程创建后,创建者和新进程拥有不同的地址空间。

3 init进程

   init进程位于unix的boot image中。它是系统运行的第一个进程,当它运行时,它先检查有多少终端,然后为每个终端创建一个新进程。这些进程就一直等待用户登录,一旦登录成功,这些进程就运行shell来等待用户输入命令。这些命令可能又会创建更多的新进程。这样所有的进程其实组成了一颗进程树,init是root。windows中的进程没有这种层次关系,所有的进程都是平等的。

4 进程状态

   有三种状态:running ,指正运行在cpu中;ready,指准备好了,暂时没有运行,因为其他进程占用了cpu;blocked,指不能运行,由于需要等待一些外部特定事件发生。

5 进程表

   操作系统维护着一张表,叫做进程表,每个进程都有一个自己的entry。这些entry含有进程相关信息,包括该进程的程序计数器,堆栈指针,内存分配,打开的文件的状态,accounting和scheduling信息等。当进程从running转向ready和blocked时,这些信息需要保存好,以便再次运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值