系统的概念
2017-07-27 10:34 木偶米 阅读(409) 评论(0) 编辑 收藏 举报进程优先级的含义:
每个进程都有相应的优先级,优先级决定它何时运行和接收多少CPU时间。最终的优先级共32级,是从0到31的数值
称为基本优先级别。系统按照不同的优先级调度进程的运行,其中0-15为普通的优先级进程的优先级可以动态变化
优先级运行按照从高到低来运行(高不运行的时候才调度低优先级进行运行),相同的优先级则按照时间片轮流运行;而16-31的话就是实时优先级,它与普通的优先级最大的区别的就是相同的优先级进程的运行不按照时间片轮流运行,而是先运行的就先控制CPU,如果它不放弃,则相同优先级或者是更低优先级的就无法运行。
(1) 硬中断
由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包的时候,就会发出一个中断。我们通常所说的中断指的是硬中断(hardirq)。
(2) 软中断
为了满足实时系统的要求,中断处理应该是越快越好。Linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成。
(3)进程的上下文切换
进程中断时,把该进程中断之前的状态信息保存下来叫做“上文”,“下文”是即将要恢复调用进程的状态信息,切换是进程的调度,从一个进程调度到另一个进程
队列-含义:
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。
进行插入操作的端称为队尾,进行删除操作的端称为队头。
CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。
指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。
拥塞:
拥塞是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁)
进程拥塞是指待处理进程过多,CPU处理不过来,使得系统性能下降,严重时,甚至导致整个系统停顿;
用户态和内核态的切换:
处理器模式从Ring3向Ring0的切换发生在控制权转移时,有以下两种情况:访问调用门的长转移指令CALL,访问中断门或陷阱门的INT指令。具体的转移细节由于涉及复杂的保护检查和堆栈切换。
保护模式:
保护模式,通过内存页表操作等机制,保证进程间的地址空间不会互相冲突,一个进程的操作不会修改另一个进程的地址空间中的数据。在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令。当CPU处于内核态,可以随意进入用户态;而当CPU处于用户态,只能通过中断的方式进入内核态。一般程序一开始都是运行于用户态,当程序需要使用系统资源时,就必须通过调用软中断进入内核态.
用户态和内核态的定义:
(1)当一个任务(进程)执行系统调用而执行内核代码时,称进程处于内核内核态,此时处理器处于特权级最高的(0级)内核代码中执行,当进程处于内核态时,执行的内核代码会使用当前进程的内核栈,每个进程都有自己的内核栈。当进程执行用户代码时,称其处于用户态,此时处理器在特权级最低的(3级)用户代码中运行。
(2)当正在执行用户程序而突然被中断程序中断时,此时用户程序也可以象征性地称为处于进程的内核态,因为中断处理程序将使用当前进程的内核栈。这与处于内核态的进程的状态有些类似。内核态与用户态是操作系统的两种运行级别,跟intel cpu没有必然的联系,intel cpu提供Ring0-Ring3三种级别的运行模式,Ring0级别最高,Ring3最低。
swap分区的含义与作用:
设置swap分区是为了系统的性能更高效,因为linux是网络、多用户、多任务操作系统,通常是做为搭建服务器,为多个用户提供实时的访问,为避免或减少用户间或进程间的资源不足,设置了swap(虚拟内存)分区,解决物理内存不足时,从硬盘中分部分资源作为内存使用。通常swap建议设置为物理内存的1-1.5倍。
分页保存的意义:
一个军长直接指挥一万名士兵会很低效,而如果他手下分成几个师,师分成团,营,连,排,班就容易管理很多。
计算机系统也一样,很多时候要根据效率,成本等因素进行设计折中。同时可以避免外部碎片。
cache(高速缓冲区)的作用:
每个电脑都有内存条和cpu,内存的速度虽然很快,但还是和CPU不是一个数量级的,这样CPU的效率就浪费了,cache高速缓冲存储器的作用就体现出来了,cache的速度虽然还是比不上CPU的速度,但比内存快很多,可以起到一个缓冲的作用,CPU需要的数据先是Cache从内存中取出,等到CPU要用的时候在传给CPU。这样可以提高不少效率。
buffer(缓冲区)的作用:
用来弥补不同数据处理速率速度差距的存储装置
磁道-概念:
当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿著这样的轨道存放的.相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会产生相互影响,同时也为磁头的读写带来困难.
扇区-概念:
磁盘的每一面被分为很多条磁道,即表面上的一些同心圆,越接近中心,圆就越小。而每一个磁道又按512个字节为单位划分为等分,叫做扇区。
块-概念(存储)
先说说块存储吧,典型代表--SAN。对于用户来说,SAN好比是一块大磁盘,用户可以根据需要随意将SAN格式化成想要的文件系统来使用。SAN在网络中通过iSCSI(IPSAN)协议连接,属block及存储,但可扩展性较差。
inode-概念:
inode 是 UNIX 操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息。
文件系统-概念:
是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。
如何格式化文件系统:mkfs命令(make file system)
mkfs [-t 文件系统格式] 设备文件名
如何挂载文件系统:mount命令
mount [-t 文件系统] [-L Label名] [-o 额外选项]
如何卸载文件系统:umount命令
umount[-fn]设备文件名或挂载点
raid的概念:
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能
raid的作用:
(1)提高传输速率。
(2)通过数据校验提供容错功能。
raid的几种方式:
raid0、1、0+1、3、5
RAID 0又称为Stripe(条带化)或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。
RAID 1又称为Mirror或Mirroring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性。
RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等
RAID 3是把数据分成多个“块”,按照一定的容错算法,存放在N+1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N+1个硬盘上存储的数据是校验容错信息,当这N+1个硬盘中的其中一个硬盘出现故障时,从其它N个硬盘中的数据也可以恢复原始数据,这样,仅使用这N个硬盘也可以带伤继续工作(如采集和回放素材),当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。