操作系统
文章平均质量分 63
兰亭风雨
在路上
展开
-
【操作系统笔记】进程与线程的区别和联系
进程是程序处于一个执行环境中在一个数据集上的一次运行过程,它是系统进行资源分配和调度的一个独立单位。每个进程都有自己独立的系统资源,一个进程中可以有多个线程。 线程,有时候也称为轻量级进程,是程序执行的最小单元,它是进程的一个实体,是CPU调度和分派的基本单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(程序计数器、一组寄存器和栈),每个线程也都有各自的用户栈、核心栈和控制块等资源,但同一个进程中的各个线程共享该进程所拥有的全部系统资源。原创 2013-12-14 09:51:39 · 4914 阅读 · 4 评论 -
【操作系统笔记】线程的实现与调度(结合Java)
并发不一定要依赖多线程(也可以多进程并发),但是在Java中谈论并发,大多数都与线程脱不开关系。线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的最基本单位)。操作系统线程的实现 实现线程主要有三种方式:使用内核线程实现,使用用户线程实现,使用用户线程加轻量级进程混合实现。 使用内核线程实现 内核线程(Kernel Thread, KLT)就是直接由操作系统内核支持的线程,这种线程由原创 2013-12-19 08:36:25 · 7521 阅读 · 2 评论 -
【操作系统笔记】动态存储管理
操作系统中常用来管理内存的动态分配和回收的方法有边界标识法和伙伴系统。 系统将所有的空闲块链接在一个双重循环链表结构的可利用空间表中。系统的特点在于:在每个内存区的头部和底部两个边界上分别设有标识,以标识该区域是占用块或空闲块,使得在回收用户释放的空闲块时易于判别在物理位置上与其相邻的内存区域是否为空闲块,以便将所有地址连续的空闲块组合成一个更大的可利用的空闲块。采用该方法时,内存分配很简单,采用首次拟合分配、最佳拟合分配、最差拟合分配均可。另外,为了避免修改指针,约定将该节点中的高地址部分分配原创 2014-03-08 08:40:52 · 4647 阅读 · 0 评论 -
【操作系统笔记】同步与互斥的区别和联系
进程(线程)之间的两种关系:同步与互斥。 所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。 所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运原创 2013-12-15 09:16:12 · 20528 阅读 · 4 评论