操作系统概念笔记

1.内存与CPU的交互

通过loadstore指令:load将内存中的字移到CPU的寄存器中,store将寄存器的内容移到内存。

2.指令执行周期(冯诺依曼)

首先从内存中获取指令--将指令保存在指令寄存器中--对指令解码--从内存中获取操作数--将操作数存在某个寄存器中--在指令完成对操作数的执行后,其结果可以存回到内存

3.内存(memory)

内存是CPU所能直接寻址和访问的唯一大容量存储器。例如,CPU需要处理磁盘内的数据,那么这些数据必须首先通过CPU生成的I/O调用传送到内存中。同样,如果CPU需要执行指令,那么这些指令必须在内存中。如果一个程序要执行,必须先变换成绝对地址并装入内存,随着程序的执行,进程可以通过产生绝对地址来访问内存中的程序指令和数据,最后程序终止时,其内存空间得以释放,并且下一个程序可以装入并执行。

操作系统复杂下述有关内存管理的活动:

  • 记录内存的哪部分正在被使用及被谁使用
  • 当有内存空间时,绝对哪些进程可以装入内存
  • 根据需要分配和释放内存空间

4.DMA(直接内存访问)

在为I/O设备设置好缓存、指针和计数器后,设备控制器能在本地缓存和内存之间传送一整块数据,而无须CPU干预。每块只产生一个中断,来告知设备驱动程序操作已完成,而不是像低速设备那样每个字节产生一个中断。当设备控制器在执行这些操作时,CPU可去完成其他工作。

5.SMP(symmetric multiprocessing对称多处理)

每个处理器都要完成操作系统中的所有任务。

6.道程序设计

操作系统选择一个位于内存中的作业并开始执行,该作业可能必须等待另一个任务(如I/O操作)的完成。对于非多道程序系统,CPU会空闲。对于多道程序系统,CPU会简单地切换到另一个作业并执行,当该作业需要等待时,再切换到下一个作业。最后,第一个作业完成等待且重新获得CPU。但是它并没有提供与计算机系统直接交互的能力。分时系统(或多任务)是多道程序设计的延伸,它通过调度算法实现作业之间快速的切换,就好像每个作业在同时进行一样。

7.进程(process)

装入内存并执行的程序称为进程。需要强调的是:程序本身不是进程,程序是一个被动的实体,如同储存在磁盘上的文件内容,而进程是一个活动的实体。

单线程进程具有一个程序计数器来明确下一个执行的指令;多线程进程具有多个程序计数器,每一个指向下一个给的线程要执行的指令。

操作系统负责下述与进程管理相关的活动:

  • 创建和删除用户进程和系统进程
  • 挂起和重启进程
  • 提供进程同步机制
  • 提供进程通信机制
  • 提供死锁处理机制

8.拟内存(virtual memory)

虚拟内存允许一个执行的作业不必完全在内存中。主要优点是:可以比物理内存大,它将内存抽象成一个庞大且同意的存储器阵列,将用户所理解的逻辑内存与真正的物理内存区分开来。 

9.trap指令

系统调用通常采用陷阱(或异常)到中断向量的一个指定位置的方式。该陷阱可以由trap指令来执行。它不是特权指令。

Linux的trap指令:用于指定在接收到信号后将要采取的动作。常见的用途是在脚本程序被中断时完成清理工作。不过,这次我遇到它,是因为客户有个需求:从终端访问服务器的用户,其登陆服务器后会自动运行某个命令,例如打开应用(命令写在.bashrc等文件中),最后退出,并断开连接;期间是不能允许其使用Ctrl+C等中断退出应用,而回到Shell环境,否则可能会带来安全问题。
     当然,解决的方式有很多,如在应用中屏蔽中断信号、使用chroot方式访问等。但这些方法都有一些限制,如需要修改应用,让telnet等支持chroot方式(ssh可支持chroot)等。而使用trap也是一种比较好的解决方法。

10.高速缓存一致性(cache coherency)

对于多处理器环境,每个CPU不但有自己的内部寄存器,还有本地高速缓存。对于这种环境A的副本会同时出现在多个高速缓存中。由于多个CPU可并发执行,必须确保在一个高速缓存中对A值的更新必须马上反映到A的所有其他副本所在的高速缓存中。

11.双重模式操作:用户模式和内核模式

两种模式的转换是通过一个称为模式位的位,增加到计算机硬件以表示当前模式:内核模式(0)和用户模式(1)。

多模式操作是为了防止用户干预系统的正常操作。许多指令(如I/O指令和停机指令)具有特权,且只能在内核模式下执行。

12.分布式系统和集群系统

分布式系统:是一组物理上分开的、可能是各个异构的计算机系统通过网络连接在一起,为用户提供系统所维护的各种资源的计算机的集合。允许用户共享地理位置上分散的通过网络连接的计算机资源。

集群系统:将多台同构或异构的计算机连接起来协同完成特定的任务就构成了集群系统。多个机器可以完全驻留在共享存储器上的数据的计算,基本某些集群的子集出错,计算仍可继续。

13.计算机系统组成

 2011052118034554.jpg

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值