上篇博客介绍了存储器管理的相关知识——我的操作系统复习——存储器管理,本篇讲设备管理中的I/O控制方式和操作系统中的系统调用. 一.I/O控制方式 I/O就是输入输出,I/O设备指的是输入输出设备和存储设备.I/O控制方式值得就是CPU对内存资源与I/O设备之间输入输出的控制.I/O的控制方式按照发展有下面几种: (1).程序I/O方式. 这个最原始的方式的特点是I/O过程中,CPU全程阻塞.CPU向I/O控制器发送指令,要求读取一个字节,IO控制器取一个字节,存入自身的数据寄存器中,存入完毕后…
正在学习MIT的6.S081,把做的实验写一写吧. 实验的代码放在了Github上. 第一个实验是Lab util,算是一个热身的实验,没有涉及到系统的底层,就是使用系统调用来完成几个用户模式的小程序. Boot xv6 (easy) 启动XV6,按照文档执行就ok了. $ git clone git://g.csail.mit.edu/xv6-labs-2020 $ cd xv6-labs-2020 $ git checkout util $ make qemu 在XV6中没有ps命令,而是使…
操作系统复习(updating) 1.进程和线程的区别是什么? 1)调度:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位 2)拥有资源:不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有系统资源,但是线程可以访问其隶属的进程的系统资源. 3)并发性:在引入线程的操作系统中,不仅进程可以并发执行,线程也可以并发执行 4)系统开销:由于创建和撤销进程的时候,系统都要为之分配或回收资源,因此操作系统所付出的开销要远大于撤销或创建线程的开销 5)…
1. 如何查看一个进程的详细信息,如何追踪一个进程的执行过程 通过pstree命令(根据pid)进行查询进程内部当前运行了多少线程:# pstree -p 19135(进程号) 使用top命令查看(可以查看到线程情况)# top -Hp 19135 2. 跟踪某个应用程序的运行过程 跟踪已运行的进程:strace -p pid 3. 在 Linux 系统下查看 CPU.内存.磁盘.IO.网卡情况: # cat /proc/cpuinfo      # 查看CPU信息 # ps -ef      …
install.packages(c("repr", "IRdisplay", "evaluate", "crayon", "pbdZMQ", "devtools", "uuid", "digest")) devtools::install_github('IRkernel/IRkernel') IRkernel::installspec(user…
一.进程管理 进程管理包括进程控制,进程调度,进程同步与通信,死锁控制四个内容. (一)进程控制 进程是操作系统中运行的基本单位,包括程序段,数据段和进程控制段.操作系统通过进程控制块(PCB)管理进程.每一个PCB唯一标示一个进程.它存储进程的PID,UID,当前状态等信息,以及进程执行某一时刻的寄存器值,并且指向进程的数据段和程序段.OS把所有PCB链接为一个链表. 进程在刚刚被创建时出于new状态.OS负责申请一块存储空间作为该进程的PCB,在其中填上进程的信息,标示为ready,链接到P…
管理CPU ,先要使用CPU… CPU 的工作原理 CPU上电以后发生了什么? 自动的取指 — 执行 CPU 怎么工作? CPU怎么管理? 管理CPU 的最直观方法 设好PC 初值就完事! 看看这样做有没有问题? 提出问题 怎么解决? 现在变成了这个样子 多道程序.交替执行,好东西啊!   单道程序 多道程序 CPU 利用率 40/80=50% 40/45=89% DEV1 利用率 15/80=18.75% 15/45=33% DEV2 利用率 25/80=31.25% 25/45=56% 一个…
java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时默认是扩展为1.5倍 + 1个 ArrayList,LinkedList,Vector 区别 Vector内存扩展和ArrayList一样,不过Vector是默认扩展为2倍 Vector支持线程的同步,因此牺牲了访问性能 ArrayList,Vector都是使用数组实现,插入删除效率低 Linked…
一.进程的组成 进程通常由程序.数据和进程控制块(Process Control Block,PCB)组成. 二. 进程的状态以及状态切换 进程执行时的间断性决定了进程可能具有多种状态,最基本的三种状态如下 ① 就绪状态,当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,就可以立即运行,进程这时的状态称为就绪状态.在一个系统中可能多个进程处于就绪状态,通常将它们排成一个队列,称为就绪队列. ② 执行状态,进程已获得CPU,其程序正在执行.在单处理机系统中,只有一个进程处于执行状态,在…
Stream流 全新的Stream概念,用于解决已有集合类库既有的弊端. 传统集合的多步遍历代码 几乎所有的集合(如 Collection 接口或 Map 接口等)都支持直接或间接的遍历操作.而当我们需要对集合中的元 素进行操作的时候,除了必需的添加.删除.获取外,典型的就是集合遍历.例如: List<String> list = new ArrayList<>(); list.add("张无忌"); list.add("周芷若"); lis…