ios的结构主要聚焦在怎样快速和有效地转发包。
现代操作系统的两大功能:硬件控制和资源管理。
同时运行多个程序就是多任务。支持这种的就是多任务操作系统。多个程序中的一个子程序叫做一个线程。
每一个线程都有一个CPU注册值,这个值叫做context=上下文。但是可以共与其他线程享内存地址空间,占有相同地址空间的一组线程叫做进程。
一个进程控制一个子集的操作系统资源。操作系统和CPU都支持虚拟内存,每个进程都可能运行在分离的地址空间,用来保护其他进程。
决定运行哪个进程,这叫做预留。预留经常是由一个操作系统的核心来做的,这个叫做内核。
一个操作系统会使用多个手段来预留线程。这也取决于操作系统的可选支持情况。
先进、先出是一个最简单的方式。它所占负载很小。是公平的:即所有的线程都均等,先来,就先服务。FIFO.
FIFO不适合实时的交互处理应用,实时处理需要快速、低CPUzu占用率
一种可能的解决方法是给每个进程机遇应用地绑定优先级,保证实时应用先占用CPU.
预约方式利用争抢来取代运行完整的,这个叫做争适者生存。这种操作系统叫做适者生存的多任务操作系统。
注意:上下文交换发生生在操作系统内核从CPU删除一个线程,且把其他线程填进来的时候。
换言之,上下文交换发生在电脑在当前工作下改变任务的时候上下文交换可以使安静的执行在cpu时间的术语中,因为所有的处理器注册器必须保存给开始拿掉cpu和还原给一开始放入CPU的线程。上下文本质是让争抢线程知道谁离开了,并让正要运行的线程知道上一个进程持续的时间
多任务争抢的好处是:他是周期性的。
他是难以打破的,没有谁可以垄断资源。
缺点是:他不如全运行完的方式有效利用。他加大了软件应用的复杂性。
[1] [2] [3] 下一页
show process Command 详细解释:
CPU utilization for five seconds: 98%/65%; one minute: 87%; five minutes: 49%
PID QTy PC Runtime (ms) Invoked uSecs Stacks TTY Process
1 Csp 602F5488 4 472 8 2624/3000 0 Load Meter
2 ME 60542634 3192 4261 749 7756/9000 0 OSPF Hello