(一)Linux系统综述

Linux内核overview

内核---->外包公司 

系统调用子系统----->办事大厅----->请求资源的统一入口

进程管理子系统----->项目管理系统---->对执行中的项目进行生命周期的管理

内存管理子系统----->会议室管理系统---->对执行中的项目会议室管理(隔离,分配,回收)

文件子系统----->档案管理系统----->对执行项目使用的文档资料进行管理

设备子系统----->客户对交人员----->对项目的输入输出进行管理

网络子系统----->对外合作部门----->跟其他公司沟通合作

Linux基础命令行

 Linux基础系统调用

进程管理:

立项服务===创建进程===fork===

子进程返回0 父进程返回子进程ID===父进程:继续原来的事情,子进程:请求execve来执行另一个程序===   

程序猿策略:先拷贝,在修改

内存管理:

每个项目独立的会议室===进程内存空间

项目计划书===代码段

会议产生数据图纸===数据段

会议数据存放===栈 堆 (上,下)

 

写时复制:只有真的写入数据的时候,发现没有对应物理内存,才回触发一个中断,现分配物理内存

brk===分配内存数量比较小的时候,和原来数据连在一起===原来区域旁边搬两把椅子

mmap===会重新划分一整块区域===原来办公场地小,搬到大的

 

文件管理:

档案库管理===一切皆文件

  

 

项目异常处理====信号处理

当项目组收到信号的时候,项目组需要决定如何处理这些异常情况。

忽略  执行默认动作  自定义信号处理函数(sigaction系统调用)

 

项目组间沟通===进程间通信

首先就是发个消息,不需要一段很长的数据,这种方式称为消息队列:

msgget创建新队列----->msgsend将消息发送到队列----->msgrcv消息接收方获取

交互信息比较大的时候,共享内存:

shmget创建一个共享内存块----->shmat映射到自己内存空间读写

但是,两个项目组共同访问一个会议室里的数据,就会存在“竞争”:信号量(灯)

 

公司间沟通===网络通信

不同机器的通过网络相互通信,要遵循相同的网络协议,也即TCP/IP网络协议栈

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值