`
peng_wp
  • 浏览: 42122 次
社区版块
存档分类
最新评论

os-进程线程概念

    博客分类:
  • OS
 
阅读更多
   操作系统中为了提供CPU的利用率,引入了多道编程,于是就有了进程的概念。
   进程模型无疑提高了CPU的利用率,因为多个进程可以“同时”运行在一个CPU上,一个进程被阻塞掉了,另一个进程就可以被调度上CPU继续运行了。这样降低了CPU闲置的时间。
   但是进程模型却存在一个问题。那就是如果一个进程被阻塞掉了,它就必须让出CPU了。同时对于一个任务,如果它是进程实现的(单进程),它实际上是“伪并发”的。因为一个进程内部不能并行运行。
   于是就产生了线程模型,允许一个进程内部存在两个东西,同时运行任务,这样就真正意义上实现了并发。
   有人会问,何必要出现线程模型,直接用多进程编程不是就可以了吗?
   多进程编程会有诸多问题,例如多个进程拥有不同的地址空间,交互起来比较麻烦。
   但是不可否认,引入线程模型后确实也带来了许多问题。

   在现在操作系统中,进程模型扮演的角色更多的像一个资源分配的单元,不论是CPU资源还是IO资源。
   不过对于CPU这样特殊的资源,有产生了线程这个模型来更好地利用这个稀缺资源。
  
   会有一些概念性质的问题,例如OS调度的基本单位是什么?
   这个问题比较难以回答,因为有的系统调度的单位是进程,有的是线程。
   Linux系统调度的基本单位是进程,据说,unix从某些版本后调度单位就是线程了,没有深究,仅供参考。
  
   至于Linux下的内核线程,idle与init,实际上是进程,由于他们没有用户态的地址空间,只在内核态有地址空间,从这个角度,被称为“线程”。
分享到:
评论

相关推荐

    OS学习-进程概念、操作、存储

    OS学习-进程概念、操作、存储 在计算机操作系统中,进程是指运行中的程序,它是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。系统进行资源分配和调度的基本单位,也是操作系统结构的基础。在早期...

    ReactOS-0.3.3源码

    1. **内核(Kernel)**:ReactOS内核是整个操作系统的基石,负责进程管理、内存分配、设备驱动接口等核心功能。它的设计借鉴了Windows NT内核的模型,如KPCR(Kernel Processor Control Region)和IRQL(Interrupt ...

    tsinghua-os-2019-spring.zip

    3. 多线程:介绍线程的概念,多线程的优势和实现,以及线程调度和同步。 4. 存储管理:探讨内存分配、回收、虚拟内存、页面替换算法(如最佳、最坏、LRU)以及段页式存储管理。 5. 文件系统:讲解文件的组织结构、...

    Python库 | os-aio-pod-channel-0.1.7.tar.gz

    然而,"os-aio-pod-channel"并非Python标准库的一部分,而是由第三方开发者创建的一个扩展库,它可能是对"os"模块功能的增强或补充,特别是针对异步I/O(Asynchronous Input/Output)和多进程/线程通讯的优化。...

    OS.rar_VC Os_vc os-ii

    标签"vc_os"表明这是与VC++和操作系统相关的项目,而"vc_os-ii"可能表示这是一个进阶版或者第二部分的课程设计,意味着它可能在基础的操作系统概念之上,探讨更复杂的问题,如多线程编程、同步机制、死锁预防或者...

    02-进程与线程:进程1

    在实际操作系统中,如Linux或Mac OS,我们可以使用工具如`top`或`pstree`来监控和管理进程。`top`命令显示了系统中进程的状态,包括运行、挂起等状态,以及它们的CPU使用率、内存占用等信息。`pstree`则以树状结构...

    os-process.rar_操作系统课件

    这个部分可能涵盖了进程的生命周期、进程状态转换(如就绪、运行、等待)、进程间通信(IPC)以及线程的概念。 此外,文件管理是操作系统不可或缺的一部分。"os-process.ppt"可能包含了文件的创建、读写、删除、...

    cxuan-os-修改第二版.pdf

    * 进程的定义和类型(进程、线程、协程) * 进程的生命周期(创建、执行、等待、结束) * 进程的状态转换(就绪、运行、等待、睡眠) * 进程间通信的方式(信号量、管道、套接字) 四、内存管理 * 内存的分配和...

    os-lab2-代码注释版.raros-lab2-代码注释版.rar

    在本实验中,我们关注的是操作系统(OS)中的并发与同步这一核心概念,这通常是在计算机科学教育中操作系统课程的一部分。"Nachos"是一个小型的操作系统实现,它被设计用来帮助学生理解和实践操作系统的基本原理。在...

    OS-shiyan-four

    例如,通过编写多线程程序来模拟进程的并发执行,理解不同调度算法(如FCFS、SJF、优先级调度等)对系统性能的影响。 2. **内存管理**:内存管理包括内存分配、回收、地址映射等,确保多个进程安全、高效地共享有限...

    JOS-PPT-OS-讲义

    2. 进程管理:lab1可能涵盖了进程的基本概念,包括进程的定义、状态转换、进程控制块(PCB)以及进程间的通信机制,如管道、信号量、消息队列等。理解进程的生命周期和调度策略对于深入理解操作系统至关重要。 3. ...

    os-assignment.rar_assignment

    这是一个在多线程和并发编程中经常遇到的问题,它涉及到如何协调不同进程或线程之间的数据访问,以避免竞争条件和死锁。 消费者-生产者问题是一个典型的资源共享问题,源自并发控制理论。在这个问题中,生产者进程...

    OS-function-display.rar_visual c

    1. 创建进程:使用CreateProcess或CreateThread API创建新的进程或线程,每个代表一个待调度的任务。 2. 实现调度算法:编写函数根据选定的调度算法决定下一个要执行的进程。 3. 上下文切换:在模拟调度时,需要...

    os-homework.rar_visual c

    总的来说,这个"os-homework.rar_visual c"的作业涵盖了操作系统原理中的关键概念,通过Visual C++这个强大的开发工具,学生将有机会实践进程管理、网络通信等核心技能,这对于理解和掌握操作系统的工作原理非常有...

    Symbian-OS-Development-Basics.rar_symbian

    EPOC Runtimes包含了若干服务,如文件系统、内存管理、线程和进程等。 ### 5. 线程与对象 Symbian OS强调多线程编程,每个应用程序通常由多个执行线程组成。开发者必须理解如何创建、管理线程以及正确处理同步问题...

    advanced-mac-os-x-rootkits

    - **线程注入**:向目标进程中注入恶意线程,从而绕过安全检查。 #### 内核模式Mach Rootkits技术 在内核模式下,Rootkits可以更深入地操纵系统,实现更强的隐蔽性和控制能力。这通常涉及到修改内核数据结构或代码...

    操作系统OS-课件.zip

    - **进程与线程**:进程是程序执行的实例,线程是进程中执行的单一顺序控制流。 - **内存管理**:包括虚拟内存、分页、分段等技术,确保程序能高效地使用有限的物理内存。 - **文件系统**:用于组织和管理磁盘上...

    框架->java语言->jvm->os->汇编->硬件

    理解OS意味着掌握进程管理、内存管理、文件系统、设备驱动、网络通信等基本原理,这对于优化Java应用的性能和理解JVM与系统的交互至关重要。 5. **汇编语言**:汇编语言是低级编程语言,与机器指令一一对应,用于...

    操作系统课件

    第四章的课件包括"Os-04-1同步与互斥.doc"、"Os-04-1同步与互斥.ppt"和"Os-04-1进程与线程.ppt",这部分深入探讨了多进程和多线程环境下的并发控制问题。同步与互斥是多线程编程中的基础概念,它们确保了共享资源的...

Global site tag (gtag.js) - Google Analytics