![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 72
kobexzf
这个作者很懒,什么都没留下…
展开
-
linux中断与下半部
中断:解决cpu和硬件速度差距太大问题,不能让cpu等,也不能让cpu轮询,所以硬件好了给cpu发个信号硬件(控制器)-中断控制器- cpu (中断控制器在中断线激活(未被屏蔽)才发向cpu)中断:不需要与cpu时钟同步,异步,随时可以来异常(缺页,0除):与cpu时钟同步,同步,cpu产生,如系统调用就通过软中断(异常)陷入内核中断请求线(IRQ)/中断线,一般都屏蔽中断线,很少禁止本地...原创 2019-01-23 18:37:55 · 162 阅读 · 0 评论 -
shell-3
SIGINT(2 ctrl+c 终止)SIGKILL(9 无条件终止)SIGTSTP(18 ctrl+z 暂停/停止)SIGCONT (19 恢复停止的进程)session 含login shell (单独作为进程组),最多一个前台进程组(含所有前台进程),0或多个后台进程组 (date|grep aa &, date和grep两进程在同一个后台进程组内)ctrl+c和ctrl+...原创 2019-04-25 17:33:38 · 104 阅读 · 0 评论 -
shell-2
#!/bin/bash 开头指定shell找到脚本:要不给定路径如./test.sh,要不在PATH下echo:默认输出后有换行符,-n 输出后不换行$ {var}: 用于变量定界,比如$HOMEa 改为 ${HOME}aecho “$15” $1未定义,只能输出5,echo “$15” 输出$15,\转义了$() 或`` 表明执行里面的命令,然后可将命令输出赋值给变量输出重定向 &g...原创 2019-04-19 17:59:56 · 136 阅读 · 0 评论 -
shell-1
tty2:虚拟控制台2/etc/passwd:各用户的配置(如登录时用的shell,一般是bash shell)man(带分页),ls(带字符和通配符,?单字符,* 0或多个,[ab]匹配一个a或b)touch(创建文件或更新文件的修改(访问,-a)时间)cp tab ln(-s src new) mv(改名或移动) rm(移除文件,rm -r(f) 可移除非空目录)mkdir(-p 可创建多...原创 2019-04-18 17:15:44 · 274 阅读 · 0 评论 -
计算器组成原理-1
组成:运算器和控制器(cpu内),存储器,输入,输出指令含操作码和地址码,地址码可有多个,如把A处数据移到B处运算器:ALU(算术逻辑单元,用于进行算术逻辑运算),最少三寄存器(ACC累积器,MQ乘商寄存器,X操作数寄存器)控制器:PC(程序计数器,可自动加1形成下一条指令地址),IR(指令寄存器),CU(控制单元,用于解释指令和发出命令来执行指令),计算机在控制器指挥下工作存储器:主存储...原创 2019-04-17 18:05:04 · 4704 阅读 · 0 评论 -
gawk
gawk不同于sed的地方,sed没有修改原样输出,gawk没有命令是不输出的gawk 'BEGIN{print "aa";print "bb"} {print $0;print $1} END{print "end"}' data.txt单引号分隔命令脚本,{}分隔BEGIN,END块(只执行一次),普通块(每行文本执行一次),分号分隔块内命令,双引号给print命令定界,$0代表整个文本...原创 2019-04-26 15:53:15 · 565 阅读 · 0 评论 -
sed
stream editor文件或命令行获取一行文本,进行处理输出,不修改原始文本从命令行读取是输入一行,处理一行,再输入一行(这就是第二行),结束Ctrl+D(发送EOF)行匹配模式: 什么也没有代表匹配所有行 2 //第二行 2,3 //第二行到第三行 2,$ //第二行到最后一行,$代表最后一行 /pattern/ //匹配pattern的行 ...原创 2019-04-26 15:19:28 · 72 阅读 · 0 评论 -
linux页高速缓存
磁盘由于其速度慢和局部性原理(被访问后容易短时间再被访问),我们考虑对磁盘内容进行缓存可以只缓存文件的一部分读:我们考虑先缓存中读,无法命中就磁盘读并加入缓存,以后读相同数据就可以缓存命中了。写:我们考虑写入缓存中,缓存中页面标记为脏,加入脏页链表,由其他进程合适时机写入磁盘(延迟写可以在以后时间合并更多数据和再一次刷新)缓存大小可以动态调整,假设我们进行缓存回收(缩容或者给其他更重要项腾...原创 2019-01-30 21:38:09 · 1167 阅读 · 0 评论 -
linux进程地址空间
进程地址空间:进程可寻址的虚拟内存,平坦(独立且连续),一般每个进程都有唯一一个段地址空间:非独立线性区域,被分段,不大使用。进程可寻址4GB的虚拟内存,能寻址但不一定能访问,可被合法访问的地址区间叫内存区域mm_struct(内存描述符): 含内存区域的链表(高效遍历,按地址增长方向排序)和红黑树(搜索指定区域),最近使用的内存区域(mmap_cache),页全局目录(pgd)等内核线程...原创 2019-01-28 20:41:45 · 227 阅读 · 0 评论 -
概论-2
设备控制器:硬件,控制1到多个设备,接收cpu发来的命令,控制设备工作。与设备的接口(可多个):数据线,状态线,控制线,普通信号线,这三线用于设备和控制器通信与处理机接口:数据线,地址线,控制线,这是总线,数据线连数据寄存器和状态寄存器含寄存器存放命令和参数,含命令译码器,含数据寄存器(数据总线cpu与控制器传数据),含状态寄存器(记设备状态),缓冲器等。I/O通道:硬件,通道程序(io指...原创 2019-02-01 20:54:36 · 157 阅读 · 0 评论 -
概论-1
操作系统:提高资源利用率(保持cpu,io忙碌),提高吞吐量,方便性,可扩充性(新增功能和模块),开放性(网络)用户与硬件的接口,资源管理者,资源抽象(比如无需对物理硬件了解,提供抽象接口),多层抽象(如linux:驱动-文件系统-vfs)单道 多道批处理(多进程,主动放弃cpu) 分时 实时...原创 2019-01-31 18:57:45 · 187 阅读 · 0 评论 -
linux系统调用
系统调用作为用户进程和硬件的中间层,提供了抽象接口(比如读写文件不用管文件系统,磁盘类型)保护系统,对访问进行裁决,避免不正确不安全的访问对比异常/陷入,系统调用是内核唯一的合法入口程序员和api打交道,api可通过0,1,多个系统调用实现功能,当然api可以提供统一接口,在不同操作系统上不同实现系统调用号,分配后不变更,即便删除系统调用,对此号的调用有一默认实现内核代表应用程序在内核...原创 2019-01-21 20:15:46 · 117 阅读 · 0 评论 -
linux进程调度
一般大部分进程都在阻塞中非抢占式只能等进程主动让步,不好,抢占式由调度程序来决定是否抢占,由谁新获得cpu,时间片。我们考虑I/O消耗进程大部分时间阻塞,被唤醒应立即执行(交互性),运行时间短CPU消耗进程运行时间长,但应降低其调度频率普通进程 nice(-20 到+19),越小优先级越大,实时进程 0到99,越大优先级越大,实时进程(deadline)优先级肯定大于普通进程时间片太...原创 2019-01-21 18:38:33 · 115 阅读 · 0 评论 -
linux块I/O层
一个bio可能有很多个bio段,这些bio段可能在内存上不连续(位于不同的页),但他们在磁盘上对应的位置是连续的。https://blog.csdn.net/weibo1230123/article/details/83930007https://blog.csdn.net/weixin_36145588/article/details/72935032...原创 2019-01-25 20:51:26 · 225 阅读 · 0 评论 -
linux虚拟文件系统
虚拟文件系统(VFS):抽象层,提供统一接口,支持各种文件系统,屏蔽各种文件系统和硬件的差异各种文件系统:有的不把目录当做文件,有的没有inode(比如文件控制信息和文件内容放一起),有的没有某个数据(如某些文件系统不记录文件的最后访问时间),当然也有些文件系统提供了一些很强大的功能,这些都不要紧,VFS给定了我们内存中需要的数据结构和对其操作的方法,你(某文件系统)只要能在内存中生成这些结构并...原创 2019-01-25 19:20:40 · 154 阅读 · 0 评论 -
linux内存管理
内核和用户进程在分配内存时不同,内核更复杂,需更小心,不能太奢侈物理页:内存管理基本单位,32位(4k),64位(8k),struct page代表每个物理页struct page含引用计数(页是否空闲,若不空闲:1 进程页表映射 2页高速缓存(address_space)3 内核使用)进程地址空间: 3G到4G为内核空间,内核空间分为ZONE_DMA(虚拟地址3G开始的0-16MB),对...原创 2019-01-24 20:09:53 · 131 阅读 · 0 评论 -
linux时间
系统定时器(硬件)以某频率(节拍率)发出时钟中断,间隔时间叫节拍节拍率:高hz带来更高精度,同时时钟中断处理程序运行更频繁,带来更大系统负担。实时时钟(RTC):持久存放系统时间,在系统关闭后也可计时(微型电池),系统启动时读取RTC初始化墙上(实际)时间时钟中断处理程序:更新系统运行时间:jiffies(系统启动后节拍总数),溢出后回绕为0更新墙上时间(wall time, 即实际时间...原创 2019-01-24 15:37:50 · 144 阅读 · 0 评论 -
linux 进程
进程:运行中的程序(打开的文件,挂起的信号,内存,执行线程等等)线程(pc,寄存器(线程需记录cpu寄存器的值,以挂起后恢复执行),栈),调度对象,在liux里是特殊进程虚拟处理器/内存:让进程觉得自己独占处理器或内存。fork:通过复制来创建(除pid,ppid,某些资源统计量如挂起的信号外其他都复制),内核返回两次(父进程恢复执行,子进程开始执行),fork调用clone写时拷贝:fo...原创 2019-01-18 20:52:09 · 96 阅读 · 0 评论 -
linux io
同步非阻塞io:数据未准备好则轮询,准备好后需阻塞完成拷贝io复用:两段阻塞过程信号驱动io:很少用,aio:唯一的异步io,其余都是同步io(需用户主动发起阻塞的拷贝操作),内核拷贝完成后通知用户netty其实基于同步io(bio和io复用),但我们说netty是异步的,......原创 2019-08-27 15:43:55 · 132 阅读 · 0 评论