Linux网络编程(一):Linux内核

Linux内核:进程调度、内存管理、虚拟文件系统、网络接口、进程通信


进程调度:
系统对进程的多种状态之间的转换策略。
  SCHED_OTHER 针对普通进程的时间片轮转调度策略。系统给所有的运行状态的进程分配时间片,在当前进程的时间片用完之后,系统从进程中优先级最高的进程中选择进程运行。
  SCHED_FIFO  针对运行的实时性要求比较高,运行时间短的进程调度策略。系统按照进入队列的先后进行进程的调度,在没有更高优先级进程到来或当前进程没有因为等待资源而阻塞的情况下,会一直运行下去
  SCHED_RR    针对实时性要求比较高,运行时间比较长的进程调度策略。与SCHED_OTHER类似,不过SCHED_RR进程调度的优先级高得多。系统分配给SCHED_RR进程时间片,然后通过轮循运行这些进程,将时间片运行完的进程放入队列的末尾


  1.对于SCHED_OTHER,即普通进程调度策略,它应该是基于CFS, 它的特点是即使是最低优先级,他也能获得一定的时间片。
  2.SCHED_FIFO:高优先级会抢占低优先级,高优先级运行期间,低优先级没法抢占,只能等到高优先级主动退出;对于同等优先级,先运行的进程会一直占据cpu, 只有等到先运行的进程主动退出,后续进程才能得到时间片。 
  3.SCHED_RR: 同上,高优先级会抢占低优先级,高优先级运行期间,低优先级没法抢占,只能等到高优先级主动退出, ;对于同等优先级的进程,各个进程会轮流运行一定的时间片(大约100ms)。


  进程的优先级范围:0-139, 0-99是实时进程,100-139是普通进程


内存管理:多个进程间的内存共享策略。
  虚拟内存可以让进程拥有比实际物理内存更大的内存,可以是实际内存的很多倍,每一个进程的虚拟内存有不同的地址空间,多个进程的虚拟内存不会冲突。
  虚拟内存的分配策略是每个进程都可以公平地使用虚拟内存。虚拟内存的大小通常设置为物理内存的两倍。


虚拟文件系统
  Linux常用的文件系统ext2和ext3,ext2文件系统用于固定文件系统和可活动文件系统。ext3文件系统是在ext2上增加日志功能后的扩展,两者可以互相转换


网络接口:分为网络协议和驱动程序
  网络协议是一种网络传输的通信标准,网络驱动是对硬件设备的驱动程序。


进程间通信:进程之间需要进行数据的交流才能完成控制、协同工作
  通信方式:共享内存、消息队列、信号、管道、套接字、信号量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值