计算机是如何运行的 -- 下


操作系统
见的最作表现有window系列,Unix等.
那么,什么是操作系统,首先操作系统是一个软件,是一个向下管理
硬件设备,对上对软件提供稳定的运行环境。
操作系统的定位
由于硬件设备种类繁多提供的接口也多,为了能更好的管理,硬件厂商会提供驱动,装了对应驱动才能正确识别,让操作系统更好的使用。而软件可以通过操作系统更好的在计算机上运行.所以操作系统就像工厂的管理员指挥硬件工作,而软件就像是客户,在一定的物限里提供,要求让管理员完成。


进程
一个跑起来的应用程序就叫进程。起来安安静呆在那里的叫程序。
进程是操作系统分配资源的基本单位,通常一个CPU核心上只能跑一个
进程,但有些CPU有多个可以跑多个程序这就叫并行,说到并行就不得不提一提并发。 

并发
是指在CPU运行一个进程时会不断的来回切换,在进程里线程是抢占式运行。由于CPU的主频是以亿为单位在进程切换,所以我们(程序)并不能察觉到。(超线程技术:与操作系统,软件配合让一个核心当两个用)

进程的管理
描述+组织,PCB+双链表。


PCB(进程控制抽象块)
每个PCB都是一个类似结构体的东西,主要是1.Pid(进程的身份
标况符)2.内存指针(指向自己所在的内存)3.文件描述符表(硬盘上的文件等其它资源)
4.进程调度相关的属性 

  1. 进程的状态。就绪,运行,阻塞等 
  2. 优先级 进程进行的优先级 (极为复杂)
  3. 上下文进程切势的中间状态,也可以说是存档(CPU中各个寄存器的值)

保存上下文 : 把寄存器的值存入内存(PCB)中

回复上下文 : 把PCB中对应的值存入寄存器中
4)记账信息:进程的点用时间和指令数目,方便CPU决定下一阶段的调度
其余暂且略;

内存分配 -- 内存管理
程序获取到的地址通常是经MMU映射来的,如果所有程序在获得
地址时都是真实的物理内存地址,很容易使一堆进程连锁崩溃,当MMU检测到有进程出现越界访问了可以只使这一个进程崩溃。
内存(在物理上是个内存条)
随机访问:相当于闪现,在访问任意地址上的数据都极快,
所以取数组下标0与99999的速度都差不多(极快)是O(1);


进程间通信 
那么进程间资源无法共享(隔离性);也无法相互访问,他们是怎么交互的
呢?有很多方法但核心思路是差不多的,都是开辟一块公共空间供他们访问.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值