计算机软件
·
一、 操作系统核心机制
1.进程与线程
- 进程:资源分配的基本单位。物理实体由**程序、数据集合和进程控制块(PCB)**组成
- PCB组织方式:线性表方式(进程少)、索引表方式(按状态建表)、链接表方式(按状态建队列)
- 进程状态流转:
- 三态模型:就绪、运行、阻塞
- 五态模型:创建、就绪、运行、阻塞、终止
- 关键转换:等待的用户输入到达(I/O完成)时,进程从阻塞态唤醒为就绪态,等待CPU调度
- 三级调度
- 高级调度(作业调度):外存调入内存(批处理系统)
- 中级调度:内存与外存之间的换入/换出
- 低级调度(进程调度):就绪队列中选择进程分配CPU
2.进程同步与死锁
- PV操作:P操作(S–)申请资源,S<0则阻塞;V操作(S++)释放资源并唤醒等待程序
- 死锁四个必要条件:互斥、保持与等待、不可剥夺、环路等待
- 死锁预防公式:每个进程最大需求量为K,系统共有N个进程,不发生死锁的最少资源数 M=N∗(K−1)+1M=N*(K-1)+1M=N∗(K−1)+1
3.存储管理
- 地址转换:分页管理中,MMU(Memory Management Unit,内存管理单元)通过页表将逻辑地址转换为物理地址;段页式中,逻辑地址由段号+页号+页内偏移量组成
- 物理地址公式:物理地址=基地址+段内地址
- 空间管理:位示图用二进制位标记磁盘块使用状态
4.文件与I/O管理
- 文件属性:只读(R)、存档(A)、系统(S)、隐藏(H)。其中S属性标识系统运行必须的重要文件
- 硬链接:两个目录表目指向同一个索引结点
- 文件物理结构
- 连续结构:随机访问快,但易产生外部碎片,扩展困难
- 链接结构:支持动态增长,无需连续空间
- 索引结构:通过索引块记录数据块地址,支持动态变化
- 缓冲技术:单缓冲(需等待处理完成)、双缓冲(交替工作提高效率)、 循环缓冲、缓冲池
5.多核和多机系统
- 多核调度:全局队列调度(CPU利用率高);局部队列调度(减少核心间切换,提高Cache命中率,但利用率偏低)
- 多机系统:紧耦合(共享内存,总线互连);松耦合(通信线路/通道互连)
二、 嵌入式与实时操作系统(RTOS)
- 核心特点:微型化、可定制、实时性、可靠性、易移植性
- 任务调度:优先抢占式对实时性支持最好。非实时系统追求平均响应时间和资源利用率;实时系统追求满足时间约束
三、 中间件与分布式架构
1.中间件概述
- 定位:位于操作系统之上,屏蔽底层差异,实现应用互操作
- 核心功能:通信机制、互操作机制、多层架构平台、负载均衡、高可用、交易一致性
- 消息队列(MQ):核心能力是异步化和削峰填谷,避免后端服务被压垮
- Tomcat:Web服务器中间件,用于部署Servlet/JSP等Web应用
2.CORBA(公共对象请求代理)
- 核心组件
- ORB(对象请求代理):分布对象系统中的“软总线”,解释调用、查找对象、传递参数并返回结果,屏蔽底层细节
- 对象适配器(POA):屏蔽ORA内核细节,协调单层传输与对象实现,按需创建子POA并管理伺服对象策略
- 伺服对象(Servant):具体语言实现的实体,负责完成客户端请求
- IOR(可互操作对象引用):包含对象标识、接口类型等,供客户程序查找对象
- 对象标识(Object ID):在POA中唯一标识CORBA对象的字符串
四、J2EE(Java EE)核心组件
1.容器与组件
- 四大容器:Applet、Application、Web、EJB Container
- 核心组件:Applet、Application、JSP/Servlet、EJB
2.EJB(企业级JavaBean)
- 会话Bean:实现业务逻辑(有状态/无状态),客户端请求时分配,可直接访问数据库
- 实体Bean:实现O/R映射,创建/删除/修改实体Bean会同步操作数据库记录
- 消息驱动Bean(MDB):EJB3.0引入,基于JMS消息,本质是一步的无状态会话Bean。客户端调用后立即返回,适合订单处理等一步场景
3.J2EE核心服务API
- RMI-IIOP:融合JAVA RMI和CORBA,用于远程方法调用
- Java IDL:用于访问外部CORBA服务
- JTA:事务处理API
- JDBC:数据库操作API
- JMS:点对点消息服务
- JNDI:命名和目录接口
- JAXP:XML解析API
- JCA:Java连接器架构
- JAAS:认证与授权服务
- JSF/JSTL/JAF/SAAJ/JAXR:分别用于UI组件、标准标签库、右键数据封装、SOA附件、XML注册表
五、架构设计基础与数据资产
1.面向构件的编程(COP)
- 核心特性:多态性(可替代性)、模块封装性(信息隐藏)、后期绑定和装载(部署独立性)、安全性
- 构建概念:一组通常需要同时部署的原子构件,只能通过接口访问
- 原子构件 vs 模块:原子构件是部署、版本控制和替换的基本单位(带资源);模块是不带单独资源的原子构建(一组类和结构体)
2.数据资产特征
可控制、可量化、可变现、虚拟性、共享性、时效性、安全性、交换性、规模性
六、硬件与计算机体系结构
- 通用寄存器:临时存储数据
- 堆(Heap):用于动态内存分配
- 栈(Stack):保存断点信息
- I/O接口:连接外部设备和计算机系统的部件
- 硬件独立性:网络OS可运行在不同硬件上,通过网桥/路由器互联
- 多道批处理:宏观并行,微观串行
- 内核:驻留内存,最高优先级,执行特权指令,直接访问外设和全部主存
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)