1.什么是程序?
程序就是编译好的二进制文件。
2.什么是进程?
- 进程就是运行着的程序;
- 从程序员的角度来讲,进程是运行一系列指令的过程;
- 从操作系统的角度来说,进程是分配系统资源(CPU和内存)的基本单位,我们从网上下载的游戏啦、文件啦等等这些程序,不运行的时候是不占内存和CPU的,他们会放在磁盘上,如果运行的时候,就是一个进程,会占用内存和CPU,所以只有在打游戏的时候电脑才会卡;
3.程序和进程的区别
- 程序占用磁盘,不占用系统资源,而内存占用系统资源;
- 一个程序可以对应多个进程,而一个进程只能对应一个程序,比如说我们在电脑上安装一个QQ软件,可以同时登录多个账号;
- 程序没有生命周期,进程有生命周期;
4.单道与多道程序设计
- 单道程序设计:DOS,一个进程运行完了才能运行下一个进程;
- 多道程序设计:为每个进程划分时间片,这个时间片很小,远远小于人眼的分辨能力,各个进程之间不停的切换,所以看起来像是多个进程在同时运行,也就是说宏观上并行,微观上还是串行的;
5.进程状态转换
其中,运行态到就绪态和运行态到挂起态都是失去CPU,但二者是有区别的:
- 运行态→挂起态:因为缺少当前运行所需要的资源或数据而主动释放CPU转入挂起状态,比如在读数据时,如果缓冲区没有数据,当前进程无法读取数据也就无法继续工作,如果继续持有CPU的话会造成资源浪费,所以主动释放CPU转入挂起状态,等待缓冲区数据;
- 运行态→就绪态:被迫失去CPU,当前进程拥有运行所需要的所有资源,但是时间片到了,不得不失去CPU转入就绪态,等待下一个时间片的到来;
6.MMU的作用
- 虚拟地址和物理地址之间的映射,用户空间映射到物理内存是独立的(提高安全性),而内核空间是映射到同一个物理空间(方便进程间通信);
- 设置内存访问级别;
7.进程控制块PCB
每个进程在内核中都有一个进程控制块PCB来维护进程相关信息,在Linux内核中的进程控制块是task_struct结构体形式的,结构体定义可以在
/usr/src/kernels/2.6.32-696.el6.x86_64/incoude/linux/sched.h
文件中查看(我是CentOS系统),也可以直接搜索,在shell下输入命令
grep -rn "struct task\_struct{" /usr/
这个结构体总共1719-1345=374行(VI命令模式下,在结构体第一个{处键入%可以转到匹配的}处,也就是结构体末尾)。其中主要信息有:
- 进程ID,系统中每个进程有唯一的ID,在C语言中用pid_t类型标识,实际上是一个非负整数;
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
https://bbs.youkuaiyun.com/topics/618542503)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!