面试回答草稿:操作系统篇:1、线程与进程

面试回答草稿:操作系统篇:1、线程与进程:

Q:讲一讲线程与进程吧?

  • 在单道批处理系统中,多个任务被提前存储到磁盘里边,然后由计算机依此来读取执行,单道批处理系统中多个任务是串行执行的,每一时刻只有一个设备在运转,可能是cpu在计算,IO设备空闲等待,或者正在IO,cpu在空闲等待,设备使用率比较低。
  • 多道批处理系统为了提高单道批处理的设备使用率,降低任务处理时延提出,它的实现基础就是进程,一个处于运行状态的程序就是一个进程,进程在运行时,操作系统会为这个系统分配独立的内存空间,进程信息,进程在运行过程中需要通过系统调用来使用计算机硬件设备(如CPU、IO等),它成为了设备调度的单位,这时候就可以一个进程在使用cpu,另一个进程同时在使用IO,设备利用率提高了
  • 但是,操作系统在管理进程时,为了让多个进程同时运行起来,必然要进行进程切换,这样才能保证每个进程都能获得自己需要的设备。进程的切换是一种重量级的切换,切换时不仅要切换新进程的信息,还要保存原进程的信息,确保原进程可以正确的恢复现场,内存页表(虚拟内存的分配)、pcb(进程信息)等
  • 注意到其实很多时候在一个进程中可以执行多个任务,而且4G的虚拟内存并没有并有效利用,有必要将进程进一步细化,出现了线程,线程是一种轻量级进程,它是由进程中创建,在进程中运行,在进程中终止。一个进程可以创建一个或多个线程,一个进程之中的线程共享进程的内存,每个线程有独立的栈内存(Java方法栈和本地方法栈)、程序计数器,进程成为了内存分配的单位,线程则是设备调度的单位,线程通过系统调用的方式来申请设备。线程相对进程,上下文切换更加轻量,只需要切换栈内存和程序计数器。
  • 设备的利用率进一步提高(上下文切换的时间更多),内存利用率提高(4G的虚拟内存利用的更加充分)、程序任务处理能力更强。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值