进程,线程基础

17 篇文章 0 订阅

操作系统发展史:
(1) 计算机刚刚诞生的时候
    计算机只能接受一些特定的指令,用户输入一个指令,计算机就做一个操作。当用户在思考或者输入数据时,计算机就等待。显然这样效率很低下,因为很多时候,计算机处于等待用户输入的状态。

(2)后来批处理擦操作系统诞生
   把一系列需要的指令预先写下来,形成一个清单,然后一次性交给计算机,计算机不断的去读取指令来进行相应操作,然后交由计算机去读取并逐个的执行这些程序,并将输出结果写到另一个磁带上(这里的磁带相当于现在的磁盘)。
缺点:任务执行只能一个一个执行,CPU效率低。

(3)反思批处理系统的缺点后进程,线程由此诞生
         进程诞生
       早之前: 每个进程对应一定的内存空间,并且只能使用它自己的内存空间,各个进程间互补相干。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体。一个进程在一定时间内只能执行一个任务,并且进程保存了每个时刻的运行状态,这样就为进程切换提供了可能。当进程暂停时,它会保存进程的状态,在下一次重新切换回来时,便根据之前的状态进行恢复,然后继续执行。在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体
       现在
       并行:是指两个或者多个事件在同一时刻发生;而***并发***是指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,两个或多个事件在同一时间间隔发生,一个在任务时其他都停止任务。
我们平时所说***4核8线程指***的是平均1个核上有两个线程(并不一定平均),单个核上的两个线程是并发执行,多个核之间是并行执行。
      在windows下,进程是不活跃的,可以把进程看成是线程的容器活跃的是线程,一个进程可以包含一个或者多个线程
一个进程可以包含多个程序,是指有的进程需要别的进程为它提供服务,这样就对应了多个程序。
一个程序可以对应多个进程,是一个程序多次执行,就对应了多个进程啦。

   线程问题:多线程性能一定比单线程好吗?
答:1:对于单核CPU,如果是CPU密集型任务,如解压文件,多线程的性能反而不如单线程性能。解压文件要一直占用资源,如果用多线程,线程切换的开销反而会让性能下降。
2:多核CPU,多线程肯定优于单线程,多个线程能够充分利用每个核的资源。
3:虽然多线程能够提升性能,但是相对单线程来说,它的编程要复杂的多。要考虑安全问题。因此,在实际编程过程中,要根据实际情况具体选择。

   操作系统设计总结为三点:
1:以多进程的形式,允许多个任务同时进行。
2:以多线程的形式,允许每个任务分成不同的部分去执行。
3:提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值