系统软件
发表于|更新于|计算机基础
|浏览量:
编译时绑定Compile time binding :给定明确的代码
装载时绑定Load time binding:装载到内存里面不可以再修改
运行时绑定Run time binding:模块不运行就不会加载
链接:不同的二进制文件形成一个单一的可执行文件,编译的时候先生成一个符号表,之后再替换

动态链接:链接推迟到加载时或者运行时,外部模块通过动态链接库装载
- 装载时动态链接
- 运行时动态链接:减少装载时的负担,第一次调用的时候需要链接一下,所以第一次比较慢,但是之后就好了,使得程序的模块的更小一些,每次运行不是所有的模块都会调用,但是程序员不能很好的控制动态链接库,安全性不一定好
相关推荐
2026-04-09
进程、线程和协程之间的区别和联系
进程、线程和协程之间的区别和联系一、进程 进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配的最小单位。 【进程间通信(IPC)】: 管道(Pipe)、命名管道(FIFO)、消息队列(Message Queue) 、信号量(Semaphore) 、共享内存(Shared Memory);套接字(Socket)。 二、线程 线程,有时被称为轻量级进程(Lightweight Process,LWP),是操作系统调度(CPU调度)执行的最小单位。 三、进程和线程的区别与联系【区别】: 调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位; 并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行; 拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。进程所维护的是程序所包含的资源(静态资源), 如:地址空间,打开的文件句柄集,文件系统...
2026-04-09
操作系统内存管理思维导图总结
操作系统内存管理思维导图总结笔记在导图里面 https://www.processon.com/view/link/60a2668563768925076bb0cb 操作系统–虚拟内存管理
2026-04-09
Linux内存管理
内存管理
2026-04-09
输入输出和存储系统
AMDAHL定律(阿姆达尔)计算机系统整体性能的速度提升(加速比)取决于某个特定部件本身的加速率和该部件在系统中的使用率。公式表示为 式中,S为系统整体性能的加速率,f表示待替换部件完成的工作部分,k为新部件的加速率。 例如,某计算机需要70%时间执行CPU操作和30%时间等待磁盘服务,当前有两种升级方案:10000使得处理器价格提高50%,或7000使得磁盘处理能力为当前系统的250%。若选择升级处理器,则f = 0.70,k = 1.5,S = 1 / ((1-0.7)+0.7/1.5) = 1.30;若选择升级磁盘,则f = 0.30,k = 2.5,S约为1.22。由此可看出升级处理器带来的整体性能提升更高,但考虑价格因素,对提升的每个百分点,升级CPU需要333,而升级磁盘只要318。 计算加速比: A为200,B为100,A是B的2倍,A比B快2倍,A比B快100%, 加速比就是1+N/100,而不是N,CPU比当前的快了50%,则它的加速比就是1.5 阿姆达尔的应用: 通用...
2026-04-09
阻塞、非阻塞、同步、异步的区别是什么?
同步异步描述的是被调用方。阻塞非阻塞描述的是调用方。二者没有必然联系。 阻塞是调用方A发出命令后,必须等待B返回结果。非阻塞是调用方A发出命令后,A不需要等待B,可以做自己的事情。 同步是B收到A的指令之后会立即执行,A可以得到结果。异步是B收到A的指令之后不会立即执行要做的事情,A的本次调用不会得到结果,但是B执行完要做的事情之后会通知A。 我们常常混淆的同步异步、阻塞非阻塞其实是放在特定场景下的,不能一概而论,IO也分为磁盘IO和网络IO。这里所讲的IO一般指网络IO。 阻塞IO和非阻塞IO:指的是socket编程中发起read函数系统调用读取数据后是否阻塞住 如果一直等待到有数据才返回,这个read就是阻塞的,也是同步的 如果没有数据就返回-1而不是等待,这个read就是非阻塞的,也是同步的 同步IO和异步IO:指的操作系统内核是否自动将数据从内核空间拷贝到用户空间 如果需要read函数自己将数据拷贝到用户空间就是同步IO 如果内核自动将数据拷贝到用户空间,并且通知用户,就是异步IO(一般在Linux上用的少,windows有完整实现) 同步执行和异步执行:指...
2026-04-09
IO体系
节点流:直接和设别,特定地方读写 过滤流:(装饰器模式)节点流作为输入或者输出,使用一个存在的输入或者输出流来创建(作为参数传递进去) IO流的链:数据–》缓冲输出流–》文件输出流–》文件。装饰器模式的作用,获取一个 装饰器模式NIO–面向块或者缓冲区编程1.4出来的 NIO组件回顾 Java NIO,它不仅仅可以用在网络编程中,还能用在文件读写等其它场景 Channel–桥梁 java.nio.channels.Channel 实体之间的桥梁,实体可以是硬件设备,文件,网络套接字或者可执行IO操作的程序(Linux中一切皆文件) 不同实体(文件)类型对应不同的类型的Channel: FileChannel : 操作普通文件 DatagramChannel:UDP协议 SocketChannel:TCP协议,客户端和服务端之间的Channel ServerSocketChannel:TCP协议,用于服务端的Channel Buffer–数据容器线性有序序列(数组),存储特定的基本类型。Buffer的类型有CharBuffer,ByteBuffer, ShortBuf...
公告
👋 你好,我是褚成志,一名专注于云原生与后端架构的工程师。
热爱 Java、Kubernetes、Linux、Redis、Spring 等技术领域,持续探索 AGI 与智能化运维的边界。
这里记录我的技术思考与实践总结,欢迎交流!
热爱 Java、Kubernetes、Linux、Redis、Spring 等技术领域,持续探索 AGI 与智能化运维的边界。
这里记录我的技术思考与实践总结,欢迎交流!
