操作系统
学战到底
这个作者很懒,什么都没留下…
展开
-
简述操作系统中的作业、进程、线程、管程
作业:用户在一次解题或者一个事务处理过程中要求计算机系统所做工作的集合,它包括用户程序、所需数据及控制命令等,作业是由一系列有序的步骤组成的。进程:一个程序在一个数据集合上的一次运行过程。所以一个程序在不同数据集合上运行,乃至一个程序在相同数据集合上的多次运行都是不同的进程。线程:线程是进城中的一个实体,是被系统独立调度和执行的基本单位。管程:管程实际上是定义了一个数据结构和在该数据结原创 2016-07-27 01:55:53 · 1401 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
转自:堆和栈的区别,保存在此以学习。一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回转载 2016-09-18 11:23:45 · 503 阅读 · 0 评论 -
Windows中的SAM文件
SAM文件即账号密码数据库文件。当我们登录系统的时 候,系统会自动地和Config中的SAM自动校对,如发现此次密码和用户名全与SAM文件中的加密数据符合时,你就会顺利登录;如果错误则无法登录。如果你不用管本来系统卡包含的任意账号,而且有两个操作系统的话,可以使用另外一个能访问NTFS的操作系统启动电脑,或者虽然没有安装两个系统,但可以使用其他工具来访问NTFS。然后删除C:\WINNT\原创 2016-09-04 22:59:47 · 22408 阅读 · 2 评论 -
进程间交互的几种方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共转载 2016-04-11 21:27:30 · 8103 阅读 · 0 评论 -
使用单线程还是多线程的问题
对于处理时间短的服务或者启动频率高的要用单线程,相反用多线程! 不论什么时候只要能用单线程就不用多线程,只有在需要响应时间要求比较高的情况下用多线程某此操作允许并发而且该操作有可能阻塞时, 用多线程. 例如SOCKET, 磁盘操作.使用多线程编程可以给程序员带来很大的灵活性,同时也使原来需要复杂技巧才能解决 的问题变得容易起来。但是,不应该人为地将编写的程序分成一些碎片,让转载 2016-06-01 22:05:26 · 6404 阅读 · 0 评论 -
操作系统死锁
操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解除阻塞状态。根据这样的情况,操作系统中的死锁被定义为系统中两个或者多个进程无限期地等待永远不会发生的条件,系统处于停滞状态,这就是死锁。产生死锁转载 2016-04-12 15:41:00 · 588 阅读 · 0 评论 -
进程间通信如何实现
常用的进程间通信方式有信号、信号量、消息队列、共享内存。所谓进程通信,就是不同进程之间进行一些“接触”。这种接触有简单也有复杂。机制不同复杂度也不同。通信是一个广义的定义,不仅仅指传递一些message。它们使用的方法基本是相同的,所以只要掌握了一种使用方法,然后记住其他的即可。信号和信号量是不同的,它们虽然都可以用来同步和互斥,但是信号是使用信号处理器来进行的,信号量是使用P、V原创 2016-07-27 02:10:41 · 1839 阅读 · 0 评论 -
信号量与PV操作
转自:信号量与PV操作,保存在此以学习。在计算机操作系统中,PV操作是进程管理中的难点。首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号转载 2016-07-27 02:12:39 · 3024 阅读 · 0 评论 -
Windows内存管理的几种方式和优缺点
Windows内存管理方式主要分为:页式管理、段式管理和段页式管理。页式管理的基本原理是将各进程的虚拟空间划分为若干个长度相等的页。把内存空间按页的大小划分为片或者页面,然后把页式虚拟地址与内存地址建立一一对应的页表,并用相应的硬件地址转换机构来解决离散地址变换问题。页式管理采用请求调页和预调页技术来实现内外存存储器的统一管理。优点:没有外碎片,每个内碎片不超过页的大小。缺点:程序全部原创 2016-07-27 11:34:03 · 6231 阅读 · 0 评论 -
进程间通信(IPC (Inter-process communication))
转自:进程间的通讯(IPC)方式,保存在此以学习。为什么要进行进程间的通讯(IPC (Inter-process communication))数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们转载 2016-07-27 02:49:38 · 2950 阅读 · 0 评论 -
进程和线程的差别
进程是程序的一次执行。线程可以理解为进程中执行的一段程序片段。进程间是相互独立的,这表现在内存空间、上下文环境上。线程运行在进程空间中。一般来讲,进程无法突破进程边界存取其他进程内的存储空间。而线程处于进程空间内,同一进程所产生的线程共享同一内存空间。同一进程中的两段代码不能同时执行,除非引入线程。线程是属于进程的,当进程退出时,该进程所产生的线程都会被强制退出并清除。原创 2016-07-27 02:48:04 · 431 阅读 · 0 评论 -
linux中fork()函数详解(原创!!实例讲解)
linux中fork()函数详解(原创!!实例讲解) (转载) 一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给转载 2016-09-06 16:01:14 · 642 阅读 · 0 评论