现代操作系统-基础概念
系统调用:system call,为了从操作系统中获得服务。用户程序必须使用系统调用以陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统。
常见的系统调用:fork,execve,open,close,read,write,mkdir,link, mount, chdir, chmod
多线程CPU(也称为超线程CPU):允许CPU保持两个不同的线程状态,然后在纳秒级的时间尺度内来回切换。比如某个进程需要从内存读一个字,可能花费多个时钟周期,CPU可以切换至另一个线程,要注意的是,多线程不提供真正的并行处理,只是一个伪并行。
多核CPU能够保证进行真正的并行处理,而GPU是拥有核心最多的处理器,由上万个微核组成,擅长处理大量并行的简单计算,比如在图像应用中渲染多边形,但是很难对其进行编程。
存储器:在理想情况下,存储器应该极为迅速,充分大,且便宜,但无法同时满足。因此采用分层次的结构:
顶层的是CPU中的寄存器,它们用和CPU一样的材料制成,所以和CPU一样快。
高速缓存:主要由硬件控制,主存被分割为高速缓存行,当程序需要读一个存储字时,高速缓存硬件检查所需要的内容是否在高速缓存中,如果是,则称为高速缓存命中,满足了请求。若未满足,则必须访问内存,会付出大量的时间代价。
在任何缓存系统中,都有若干需要考虑的问题:
1.何时将新内容放入缓存
2.新内容放在缓存的哪一行上
3.在需要时,把哪个内容移走
4。应该把新移走的内容放在较大存储器的何处。
主存:RAM,或者EEPROM还有闪存。
地址空间:通常,每个进程有一些可以使用的地址集合,在最简单的情况下,一个进程拥有的最大地址空间小于主存,这样,进程可以用满其地址空间。
但是在需要32位或者64位地址的计算机中,分别有2^32和2^64字节的地址空间,如果一个进程要比主存还大的地址空间,那么可以使用虚拟内存,操作系统将部分地址空间装入内存,部分留在磁盘,并且在需要时来回交换它们。也就是说,操作系统创建了一个地址空间的抽象,作为进程可以引用地址的集合,地址空间与机器的物理内存解耦,可能大于也可能小于物理空间。
posted on 2018-04-04 22:28 sichenzhao 阅读(123) 评论(0) 编辑 收藏 举报