美文网首页
操作系统知识点

操作系统知识点

作者: sleep_NULL | 来源:发表于2014-10-19 20:44 被阅读122次

1.进程与线程区别

(1)定义
进程是资源拥有的基本单位,线程是独立调度的基本单位,一个进程中可以有多个线程。
(2)开销
创建与撤销进程要为之分配与回收资源,如内存空间I/O设备等,开销远大于线程。而进程切换的时候涉及当前CPU环境的保存及新进程CPU环境设置,而线程切换仅需保存和设置少量寄存器内容,因此开销很小。
(3)资源
进程地址空间之间相互独立,同一进程的各个进程共享进程地址空间。

2.进程间通信

(1)管道

管道是Linux中进程间通信的一种方式,它把一个程序的输出直接连接到另一个程序的输入(其实我更愿意将管道比喻为农村浇地的管子)。Linux的管道主要包括两种:无名管道和有名管道。这一节主要讲无名管道,首先介绍一下这两个管道。(特点很重要啊!)

1、无名管道

无名管道是Linux中管道通信的一种原始方法,如图一(左)所示,它具有以下特点:

① 它只能用于具有亲缘关系的进程之间的通信(也就是父子进程或者兄弟进程之间);

② 它是一个半双工的通信模式,具有固定的读端和写端;

③ 管道也可以看成是一种特殊的文件,对于它的读写也可以使用普通的 read()、write()等函数。但它不是普通的文件,并不属于其他任何文件系统并且只存在于内存中。

2、有名管道(FIFO)

有名管道是对无名管道的一种改进,如图1(右)所示,它具有以下特点:

① 它可以使互不相关的两个进程间实现彼此通信;

② 该管道可以通过路径名来指出,并且在文件系统中是可见的。在建立了管道之后,两个进程就可以把它当做普通文件一样进行读写操作,使用非常方便;

③ FIFO严格地遵循先进先出规则,对管道及FIFO的读总是从开始处返回数据,对它们的写则是把数据添加到末尾,它们不支持如 lseek()等文件定位操作。

(2)信号(Signal)

信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数)。

(3)报文(Message)队列(消息队列)

消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

(4)共享内存

使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。

(5)信号量(semaphore)

主要作为进程间以及同一进程不同线程之间的同步手段。

(6)套接口(Socket)

更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。

相关文章

  • 操作系统面试重难点总结

    针对操作系统,根据面试重难点总结以及网络上的一些参考,对操作系统面试知识点的总结与学习。 一、操作系统知识点图谱 ...

  • 操作系统面试重难点总结

    针对操作系统,根据面试重难点总结以及网络上的一些参考,对操作系统面试知识点的总结与学习。 一、操作系统知识点图谱 ...

  • 操作系统期末复习提纲2019-06-30

    《操作系统》期末复习提纲 重磅资料,ppt集大成者 【知识点】一、 课件第1章 操作系统引论 操作系统类型(单/...

  • 操作系统知识点

    1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...

  • 操作系统知识点

    操作系统 IPC 共享内存 管道 socket RPC romote procesure calls 同步机制 ...

  • 操作系统知识点

    1.进程与线程区别 (1)定义进程是资源拥有的基本单位,线程是独立调度的基本单位,一个进程中可以有多个线程。(2)...

  • 操作系统知识点

    1、操作系统的四大特性: 并发性(进程并发)、虚拟性(虚拟内存 空分复用技术、虚拟处理器 时分复用技术)、异步性、...

  • 操作系统知识点

    进程调度全局队列调度:操作系统维护一个全局的任务等待队列,当系统中有一个空闲的CPU时,操作系统就会从全局任务队列...

  • 【Linux】2. 操作系统,Linux背景知识和Ubuntu操

    这篇笔记记录了以下几个知识点:1.目前常见的操作系统及分类,虚拟机2.Linux操作系统背景知识,Windows和...

  • ThinkSystem服务器通过LXPM自动安装Windows

    知识点分析:ThinkSystem服务器通过LXPM自动安装Windows Server 2016操作系统 原有引...

网友评论

      本文标题:操作系统知识点

      本文链接:https://www.haomeiwen.com/subject/henptttx.html