Section 2 - 进程的描述与控制 - PART - 2

2017-01-13  本文已影响0人  孙梦翔

进程的描述与控制

Snip20170113_1.png
        - 管道通信系统
            - 发送进程(写进程)通过一个管道(*管道:连接一个读进程和一个写进程之间实现通信的共享文件*)以字符流形式将大量的数据送入管道,接受进程(读进程)从管道接受数据
Snip20170113_2.png
- 多线程
    - 指OS支持在一个进程中执行多个线程的能力
    - 传统的进程中只有一个线程在执行
        - MS-DOS 是支持单用户进程和单线程的OS
        - UNIX支持多用户进程,但只支持每个进程一个线程(即多进程单线程)
    - 单进程多线程的例子:JAVA运行环境
    - 多进程多线程的例子:Windows 2000
- 多线程OS中*进程*的属性
    -   作为系统资源分配的单位
    -   可包括多个线程。至少包括一个线程,这些线程可并发执行。OS中所有线程都只能属于某一个特定的进程
    -   进程并不是一个可执行的实体了,线程是独立运行的基本单位
- 线程间的同步
    -    互斥锁
        -    比较简单的、用于实现线程间对资源互斥访问的机制
    -    条件变量
        -    为避免互斥锁造成的死锁问题,在创建互斥锁时就联系着一个条件变量
        -    单纯的互斥锁用于短期锁定,用来保证互斥进入CS
        -    条件变量用于线程的长期等待,知道所等资源的可用  
    -    信号量机制
        -    私用信号量
        -    公用信号量
    -    多读、单写锁
-   线程的实现方式
    -  内核支持线程KST(kernel Supported Threads)的实现:如Apple的MAC OS
    -  用户级线程ULT(User Level Threads):一些数据库管理系统
    -  组合方式:把ULT和KST两种方式进行组合,提供了组合方式ULT/KST线程
Snip20170113_4.png Snip20170113_5.png
上一篇 下一篇

猜你喜欢

热点阅读