操作系统理论细节

分时操作系统具有以下特征: | 实时操作系统基本特征:
1.多路性 | 1.及时性
2.交互性 | 2.可靠性
3.独占性 |
4.及时性 |

执行系统调用的过程是这样的:正在运行的进程先传递系统调用参数,然后由陷入(trap)指令负责将用户态转化为内核态,并将返回地址压入堆栈以备后用,接下来CPU执行相应的内核态服务程序,最后返回用户态

操作系统的五大管理功能:
(1)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等;
(2)文件管理:又称为信息管理;
(3)存储管理:实质是对存储“空间”的管理,主要指对主存的管理;
(4)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收;
(5)进程管理:实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。

老问题了:进程与线程的区别

定义方面:进程是程序在某个数据集合上的一次运行活动;线程是进程中的一个执行路径。
角色方面:在支持线程机制的系统中,进程是系统资源分配的单位,线程是系统调度的单位。
资源共享方面:进程之间不能共享资源,而线程共享所在进程的地址空间和其它资源。同时线程还有自己的栈和栈指针,程序计数器等寄存器。
独立性方面:进程有自己独立的地址空间,而线程没有,线程必须依赖于进程而存在。

导致一个进程创建另一个进程的典型操作有四种:
1 用户登录;系统为用户创建一个进程,并插入就绪队列
2 作业调度
3 提供服务 系统为用户请求创建一个进程
4 应用请求 用户程序自己创建进程

1, spinlock 介绍
spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换(用户态->内核态),但是spinlock使用不当(如临界区执行时间过长)会导致cpu busy飙高。因为pthread_spin_lock 自旋锁,在进入阻塞队列之前会先跑几个循环,然后再去尝试获取锁,直到自旋的次数超过阈值,才进入阻塞队列,此时才切换状态

2 ,使用准则

Spinlock使用准则:临界区尽量简短,控制在100行代码以内,不要有显式或者隐式的系统调用,调用的函数也尽量简短。例如,不要在临界区中调用read,write,open等会产生系统调用的函数,也不要去sleep;strcpy,memcpy等函数慎用,依赖于数据的大小。

虚存: 把辅助存储器作为对主存储器 的扩充, 向用户提供一个比实际主存大得多的的地址空间。即充分利用了辅存的地址空间

分时系统:一个系统可以同时为两个或两个以上的账户服务(现在流行的PC,服务器都是采用这种运行模式)
实时系统:能立即对指令做出反应的操作系统(一般用於单片机上,比如电梯的上下控制中,对于按键等动作要求进行实时处理)

支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境。它主要包括环境数据库、各种接口软件和工具组。著名的软件开发环境有IBM公司的Web Sphere,微软公司的Studio.NET等。
包括一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。

软件系统(Software Systems)是指由 系统软件 、 支撑软件 和 应用软件 组成的 计算机 软件系统,它是 计算机系统 中由 软件 组成的部分。
不十分准确的说,
–系统软件:操作系统,
–支撑软件:软件开发环境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章