进程控制块

linux常用命令的整理

老子叫甜甜 提交于 2020-04-07 17:38:15
1. cd命令 命令格式:cd <路径> 意义:cd是change directory 的缩写;cd命令后面跟一个路径,用于切换当前用户所在的路径,其中路径可以是绝对路径也可以是相对路径。 2 ls命令 命令格式:ls <参数> <路径> 意义:ls是list的缩写;ls命令后面可以跟一个路径或参数,也可以不跟,表示列出路径或当前目录下的所有文件信息。最常用的的参数是“-l",也就是“ls -l”命令 3 cat命令 命令格式: cat <文件> 意义:cat是concatenate 的缩写。表示读取文件内容及拼接文件 4 rm命令 命令格式: rm <文件> 或 rm -r <文件夹> 意义:rm是remove 的缩写。用于删除文件或文件夹,常用参数-r -f,-r表示删除目录,也可以用于删除文件,-f表示强制删除,不需要确认。同样的,删除文件前需保证当前用户对当前路径有修改的权限。 5 mkdir命令 命令格式: mkdir 文件夹 意义:mkdir是make directory 的缩写。用于创建文件夹。创建文件夹前需保证当前用户对当前路径有修改的权限 6 cp命令 命令格式: cp <文件><目标文件>或者cp -r<文件夹><目标文件夹> 意义:cp是copy 的缩写。用于复制文件或文件夹。 7 kill命令 命令格式:kill PID码 意义:结束当前进程 举例:

进程,线程和协程

强颜欢笑 提交于 2020-04-06 10:50:27
1,任务调度 要理解进程和线程,必须要先了解一下操作系统的一些相关概念。大部分操作系统(如Windows、Linux)的 任务调度 是采用 时间片轮转的抢占式调度方式 ,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于它的时间片的到来。这样每个任务都能得到执行,由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速地切换,给人的感觉就是多个任务在“同时进行”,这也就是我们所说的并发(别觉得并发有多高深,它的实现很复杂,但它的概念很简单,就是一句话:多个任务同时执行)。多任务运行过程的示意图如下: 操作系统中的任务调度 2,进程 我们都知道计算机的核心是CPU,它承担了所有的计算任务;而操作系统是计算机的管理者,它负责任务的调度、资源的分配和管理,统领整个计算机硬件;应用程序侧是具有某种功能的程序,程序是运行于操作系统之上的。 进程 是一个具有一定独立功能的 程序在一个数据集上的一次动态执行的过程, 是应用程序运行的载体, 操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配的最小单位 。 进程一般由程序、数据集合和进程控制块三部分组成。 程序用于描述进程要完成的功能

应届生经典面试题:说说进程与线程的区别与联系

老子叫甜甜 提交于 2020-03-29 23:05:53
这问题,估计计算机专业的同学在找研发等工作的时候都会遇到过。前几天某老牌软件厂商的电话面试就提到了这一经典问题,今天招聘会上又有不少同学说在面试的时候被问到这点。在这里我就起个头,大家有啥想法意见等都欢迎回帖交流。 要了解二者的区别与联系,首先得对进程与线程有一个宏观上的了解。 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。进程空间的大小 只与处理机的位数有关,一个 16 位长处理机的进程空间大小为 216 ,而 32 位处理机的进程空间大小为 232 。进程至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态。 线程,在网络或多用户环境下,一个服务器通常需要接收大量且不确定数量用户的并发请求,为每一个请求都创建一个进程显然是行不通的,——无论是从系统资源开销方面或是响应用户请求的效率方面来看。因此,操作系统中线程的概念便被引进了。线程,是进程的一部分,一个没有线程的进程可以被看作是单线程的。线程有时又被称为轻权进程或轻量级进程,也是 CPU 调度的一个基本单位。 说到这里,我们对进程与线程都有了一个大体上的印象,现在开始说说二者大致的区别。 进程的执行过程是线状的 ,尽管中间会发生中断或暂停,但该进程所拥有的资源只为该线状执行过程服务

python之进程

喜夏-厌秋 提交于 2020-03-28 20:19:10
进程 : 正在执行的一个过程,是对正在运行程序的一个抽象 进程的特征: 1.动态性 2.并发行 3.独立性 4.异步性 5.结构特征: 进程由程序,数据和进程控制块三部分组成 操作系统:推荐阅读《操作系统原理》 《现代操作系统》 IO操作(input, sleep, 文件输入输出, recv, accept等) 进程调度 :多个进程交替运行,操作系统必须对这些进程进行调度,这个调度也不是随即进行的,而是需要遵循一定的法则。 先来先服务调度法 短作业优先调度法 时间片论转法 多级反馈队列 并发与并行 ***多道程序系统(程序之间的切换运行,保存状态叫做 并发 (伪并行)) 并行是理想状态,源于多个cpu运行(多核技术) 同步异步(任务的提交方式,异步:多个任务同时提交出去,同时执行) 同步/异步 与 阻塞(遇到I/O)和非阻塞 同步阻塞形式(效率低,排队) 异步阻塞形式 (异步操作是可以被阻塞的,只不过它不是在处理消息时阻塞的) 同步非阻塞形式(开线程) 异步非阻塞形式(效率最高)*** 空间复用/时间复用(充分利用内存,提高代码运行效率) 硬件上内存隔离解决程序切换的不安全 分时系统: 常用(每个程序执行一点时间)不一定能提高效率,只是让程序看起来在同时运行 实时系统:高进度行业,不切换 进程的创建: 系统初始化 一个进程在运行过程中开启了子进程(常用) 用户的交互式请求

操作系统

↘锁芯ラ 提交于 2020-03-28 04:11:37
一:操作系统概念 操作系统定义:操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。 操作系统的内核的定义:操作系统的内核是一个管理和控制程序,负责管理计算机的所有物理资源,其中包括:文件系统、内存管理、设备管理和进程管理。 二:操作系统历史 1.真空管与穿孔卡片(无操作系统) 2.晶体管和批处理系统 3.SPOOLING技术 4.个人计算机 三:进程和线程 1.进程: 进程就是一个程序在一个数据集上的一次动态执行过程。 进程一般由程序、数据集、进程控制块三部分组成。 线程:线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷, 使到进程内并发成为可能。 线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID、程序 计数器、寄存器集合和堆栈共同组成。线程的引入减小了程序并发执行时的开销,提高了操作系统的并发 性能。线程没有自己的系统资源。 1、 一个程序至少有一个进程,一个进程至少有一个线程。 2 、进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 3、线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和 程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 4

操作系统特性

岁酱吖の 提交于 2020-03-28 04:05:10
操作系统的基本特性包括–并发,共享,虚拟,异步 ,其中并发是最重要的特性,其他三个是在他的前提下,有的。 1.并发 concurrence 1.并行与并发 并行性是指两个或多个事件在同一时刻发生。 并发性是指两个或多个事件在同一时间间隔内发生。 2.引入进程 进程是指在系统中能独立运行并作为资源分配的基本单位,是一个能独立运行的活动实体,多个进程之间可以并发执行和交换信息。 2.共享 sharing 1.互斥共享:系统中的某些资源虽然可以提供给多个线程(进程)使用,但在规定的时间内,只允许一个进程访问该资源。 2.同时访问:系统中还有另一种资源,允许在一段时间内由多个进程“同时”对他们进行访问。 并发和共享时多用户OS的两个最基本的特性 3.虚拟 virtual 该技术是通过“空分复用”和“时分复用”技术,将一条物理信道变为若干条逻辑信道。 4.异步 asynchronism 先进入内存的作业可能后完成,后进入内存的作业可能先完成。 共享和并发是操作系统的两个最基本的特征,虚拟以并发和共享为前提,异步是并发和共享的必然结果。 关于进程的总结:定义:可并发执行的程序在一个数据集合上的运行过程,每个进程有一个自己的地址空间以及一个单一的控制流程。要解决的问题:为了使程序能并发执行,(要并发执行就要隔离进程,使进程独立,即每个进程有属于自己的数据段、程序段、进程控制块)线程的出现:(1

socket通信原理

China☆狼群 提交于 2020-03-26 16:50:35
1、什么是socket 我们知道进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机网络中我们就学过了tcp/ip协议族,其实使用tcp/ip协议族就能达到我们想要的效果,如下图(图片来源于《tcp/ip协议详解卷一》第一章1.3)           、                            图一 各协议所处层次 当然,这样做固然是可以的,但是,当我们使用不同的协议进行通信时就得使用不同的接口,还得处理不同协议的各种细节,这就增加了开发的难度,软件也不易于扩展。于是UNIX BSD就发明了socket这种东西,socket屏蔽了各个协议的通信细节,使得程序员无需关注协议本身,直接使用socket提供的接口来进行互联的不同主机间的进程的通信。这就好比操作系统给我们提供了使用底层硬件功能的系统调用,通过系统调用我们可以方便的使用磁盘(文件操作),使用内存,而无需自己去进行磁盘读写,内存管理。socket其实也是一样的东西,就是提供了tcp/ip协议的抽象,对外提供了一套接口,同过这个接口就可以统一、方便的使用tcp/ip协议的功能了。百说不如一图,看下面这个图就能明白了。                                         

计算机操作系统基础知识-2

旧街凉风 提交于 2020-03-21 01:22:16
Shell Shell是操作系统与用户交互的界面。表现为通过控制台执行用户命令。本身不执行命令,仅仅是组织和管理命令。 脚本:类似程序的方式执行一系列的逻辑顺序的命令序列完成复杂的功能和人机交互。保存在文件中,是shell命令的集合。 系统调用 定义:操作系统内核为应用程序提供的服务/函数 特点: 一般涉及核心操作和硬件资源 运行于核态 函数具有唯一ID 产生中断,且为自愿中断 进程管理 定义:是程序在某个数据集合上的一次运行活动。程序的一次运行即为一个进程。 特性: 动态性 并发性 异步性 独立性 分类: 按使用资源权限 系统进程:系统内核相关进程 用户进程:运行于用户态的进程 按对CPU依赖性 偏CPU进程:计算型 偏I/O进程: 进程状态 就绪态:获得了除CPU之外所有资源,通常有多个进程处于就绪态,有一个就绪队列。 运行态:获得CPU,正在运行 等待态: 进程控制块 进程由程序、数据、进程控制块组成。 进程控制块是描述和管理进程的一种数据结构,包括以下内容: 进程描述信息 控制和调度信息 资源信息 现场信息 进程互斥和同步 同步:进程通过协作共同完成同一任务而造成的直接制约关系,如生产者-消费者模式 互斥:进程间竞争系统资源而造成的间接制约关系,同一时间内只有一个进程可以访问系统资源。 临界资源和临界区 临界资源:同一时间只能有一个进程访问的资源 临界区

高级操作系统——进程管理

浪尽此生 提交于 2020-03-18 21:29:09
一、进程描述符 进程控制块PCB:是OS控制进程运行用的数据结构,是一个task_struct结构体。 PCB包括:进程标识信息(进程标识符PID等)、执行现场信息(CPU现场,进程切换时需要保存现场信息)、进程映像信息(进程地址空间,即进程在运行时代码、数据、栈放在什么位置,方便OS对地址空间进行管理)(现场与地址空间比较重要)、进程资源信息、信号信息。 对PCB,说其中几个重要的字段: mm_struct:有一个成员mm,标明了进程的地址空间; thread:记录了进程的现场,最后一个字段; thread_info在4.4.6版本中改成了stack,包括内核栈(即进程进入内核工作时需要的栈和用户栈是分开的)和一些需要快速访问的数据。 在4.4.6版本中,stack占用了两个页面,即8k,大部分是放内核栈的,低端约10k存放快速访问的信息。CPU若想访问当前进程的快速访问数据的话,只需要拿到当前的栈指针,即ESP寄存器的值,可以推算出数据所在的位置来,因此在查找他的地址的时候,访问速度可以很快。这部分数据可以看作是进程描述符的一部分,在空间上不是连续的,但相互之间有指针,可以相互找得到。 进程状态转换图,可自行搜索。 在4.4.6中,增加了被跟踪和僵死撤销状态。 进程描述符是管理进程的重要数据结构,故他的组织方式非常重要。0号进程的描述符是由init_task这个变量所存储的

进程-----线程

我的梦境 提交于 2020-03-18 06:01:29
一直来对进程,线程糊里糊涂,今天总结下: from TIPI 进程 进程是什么?进程是正在执行的程序;进程是正在计算机上执行的程序实例;进程是能分配给处理器并由处理器执行的实体。进程一般会包括指令集和系统资源集,这里的指令集是指程序代码,这里的系统资源集是指I/O、CPU、内存等。综合起来,我们也可以理解进程是具有一定独立功能的程序在关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 在进程执行时,进程都可以被唯一的表示,由以下一些元素组成: 进程描述符:进程的唯一标识符,用来和其它进程区分。在Linux中叫进程ID,在系统调用fork期间生成,只是我们通过getpid返回的不是其pid字段,而是其线程组号tgid。 进程状态:我们常说的挂起、运行等状态,其表示的是当前的状态。 优先级:进程间的执行调度相关,相对于其它进程而言。 程序计数器:程序中即将被执行的下一条指令的地址,该地址是内核术中或用户内存空间中的内存地址。 内存指针:包括程序代码和进程相关数据的指针,还有和其它进程共享内存块的指针。 上下文数据:进程执行时处理器的寄存器的数据。 I/O状态信息:包括显式的I/O请求、分配给进程的I/O设备等 记账信息:可能包括处理器时间总和、使用的时钟数总和、时间限制等 以上的这些元素都会放在一个叫做进程控制块的数据结构中