操作系统概念

1、系统调用大致可以分为五类:进程管理,文件管理,设备管理,信息维护,通信。

(1)信息维护:获取时间、日期,获取系统信息等。

(2)两种常见的通信模型:消息传递(必须先打开连接)和共享内存。

2、Java通过Java虚拟机(JVM)来实现平台无关的可移植性。

3、将CPU切换到另一个进程需要保存原来进程的状态并装入新进程的保存状态。这一任务称为上下文切换。

(1)、fork()之后,操作系统会创建一个和父进程完全相同的子进程,他们共享代码区,但数据区是互相独立的,子进程的数据区是父进程数据区的拷贝。不同点是,fork()成功后,在父进程中返回新创建进程的id,而在子进程中返回0。

(2)、UNIX:可以通过系统调用exit而终止进程,父进程可以通过系统调用wait以等待子进程的终止。系统调用wait返回了终止子进程的进程标识符,这样父进程就能够知道那个子进程有可能终止了。

(3)、内存结构: 静态数据区、常量数据区、代码区、栈区、堆区

4、进程通信的方式:

(1)、消息传递

(2)、共享内存   (注:大数据量快速交换)

(3)、管道         (注:只适用于父子进程之间的通信。)

(4)、命名管道 (注:可以用于不相关进程间的通信。)

(5)、套接字

5、CPU调度(单处理器调度算法)

(1)先到先服务调度

(2)最短作业优先调度

(3)优先权调度

(4)轮状法调度

(5)多级队列调度

(6)多级反馈队列调度

6、在系统中有一些需要相互合作、协同工作的进程,它们之间的相互联系称为进程的同步。另外一种情况是多个进程因争用临界资源而互斥执行,叫做进程的互斥。

(1)、信号量:公共信号量(实现进程互斥)和私有信号量(实现进程同步)

(2)、管程:(通常操作系统为每个共享资源分配一个管程,管程由共享数据结构和定义在其上的一组过程构成【很像类的定义】。 使用共享资源的进程只能通过调用管程提供的过程(函数)来对共享资源进行操作。

7、死锁:考虑一个系统,具有一台打印机和一台驱动器。假如进程P0占有打印机而P1占有驱动器,如果P0申请驱动器而P1申请打印机,那么就会出现死锁。

(1)、死锁的4个必要条件:资源的互斥使用,不可强占,零散请求,循环等待。

             【破坏资源的“互斥性”比较困难。】

            【破坏“不可强占”:往往要耗费很多时间和存储空间。】

             【破坏“零散请求”:采用静态分配策略。静态分配是指当一个进程得到了它所需要的所有资源后才能执行,这种方法的缺点是资源利用率很低】

              【破换“循环等待”:按序分配资源,对系统资源进行编号。缺点是资源编号有困难。】

 

http://hi.baidu.com/gruceelee/blog/item/9a211b3fa08456e715cecb9a.html

你可能感兴趣的:(操作系统概念)