(1)TSS:主要用来保存ring0特权级的ss:esp,且这个ss:esp真好指向了正在运行的进程的进程表。这样在时钟中断产生时,特权级发生切换,正好将eip, cs, eflags, esp, ss保存到进程表中。
(2)进程体本身
(3)进程表: 进程表是一个数组,每个进程都有自己的一个表来保存自己的运行状态。其中还可以包含进程自己的LDT描述符,这样就可以和其他进程分开了;
就绪---->执行 系统调度
执行----->就绪 分配的时间片用完
执行------>等待 等待某个事件发生而睡眠
等待------->就绪 因等待事情发生而唤醒
ps -aux #查看所有运行的进程
# u 以用户为主的格式来显示程序状态;
# x 显示所有程序;
PID:进程唯一的数值,用来区分进程。
PPID:父进程和父进程的ID
UID:启动进程的用户ID
GID:所归属的组
进程状态:状态分为运行R、休眠S、僵尸Z
进程执行的优先级
进程所连接的终端名
进程资源占用(内存、CPU占用量)
find -type -f -size +500M
参考
/bin 二进制可执行命令 (ls,cat,mkdir等)
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/opt 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 超级管理命令,这里存放的是系统管理员使用的管理程序,如ifconfig等。
/tmp 公共的临时文件存储点
/boot 存放用于系统引导时使用的各种文件
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统
/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录
它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议;
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
存在的原因:
(1)可靠地实现TCP全双工连接的终止:假如最后发送的ACK丢失,允许服务端将重发的FIN;
(2)允许老的重复分节在网络中消逝 :确保下一个连接不会受到前一个的影响;
在高并发短连接的TCP服务器上,当服务器处理完请求后立刻主动正常关闭连接。这个场景下会出现大量socket处于TIME_WAIT状态。如果客户端的并发量持续很高,此时部分客户端就会显示连接不上。
高并发可以让服务器在短时间范围内同时占用大量端口;
短连接表示“业务处理+传输数据的时间 远远小于 TIMEWAIT超时的时间”的连接;
解决思路:
服务器能够快速回收和重用那些TIME_WAIT的资源;
(1)不要让用户思考
(2)避免选择恐惧症
(3)立刻给用户它们想要的
(4)要有搜索功能;
(5)了解您的用户;
(6)测试;
(1)自动化一切
(2)监控分布式系统
(3)提供待命(轮班)支持
(4)管理事件:运用额外的专业技能确保一切顺利;
(5)事后调查找出根本原因;
(6)跟踪中断:监控低级优先级事件,这些事件可能不会给消费者带来真正的问题,但是观察长期趋势和时间可以帮助隔离和解决那些似乎找不到原因的烦人bug。
(7)与开发团队合作:提供咨询或故障排除服务;
结论:
SRE将时间花在技术和流程方面的职责上。他们不仅仅是运营或系统管理团队。他们利用自己的工程技能自动化和减少管理任务所需的人工干预。此外,他们还与其他工程团队合作,提供适当的监控、事件响应和管理。
题目
(1)Apache是同步多进程模型,一个连接对应一个进程,Apache超稳定;对PHP支持比较简单;
(2)nginx是异步的,多个连接(万级别)可以对应一个进程;nginx轻量级,抗并发,处理静态文件好;nginx需要配合其他后端用,处理动态请求有优势;
建议使用前端nginx抗并发,后端apache集群,配合起来会更好
nignx的正向代理(发个1个服务器)和反向代理(发个多个服务器)
四大事物特性:
1.原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚;
2.一致性(consistency):数据库总数从一个一致性的状态转换到另一个一致性的状态。
3.隔离性(isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的。
4.持久性(durability):一旦事务提交,则其所做的修改就会永久保存到数据库中
四大隔离级别:
select @@tx_isolation
1.读未提交(read uncommitted): 会出现脏读:指一个事务读取了未提交事务执行过程中的数据;
2.读提交(read committed): 会出现不可重复读:指一个事务执行过程中,另一事务提交并修改了当前事务正在读取的数据;
3.可重复读(repeatable read): 会出现幻读:针对的是一批数据整体(比如数据的个数),读取完后,另一个事件又插入了一条同样的数据;
4.可串行化(serializable);
网关(Gateway)就是一个网络连接到另一个网络的“关口”;
TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。