程序底层理解
2015-07-30 09:53:32 0 举报
AI智能生成
apache架构理解
作者其他创作
大纲/内容
apache用进程通信,而ngnix主要用ngnix通信。进程与线程的区别
什么是进程,什么是线程
一个应用程序至少有一个进程。进程分配堆,线程分配栈,线程共用堆内存
进程里包含什么内容,线程是copy on write方式
这里面涉及了操作系统框架的理解了
进程让我想起了linux的命令,linux命令本身也是进程的方式存在的吗?
4G虚拟内存,程序内存分局
内核区
用户区
堆栈
BSS
DATA
apache是以配置文件的方式加载模块,例如加载php模块
php 不是以进程方式存在,只是以所加载的模块,apache调用执行解释。php模块就是一个解释器
从php模块引伸的静态库与动态库,动态库相当于window的dll文件
apache的php模块以动态库存在
星巴克
静态库与动态库的形式
linux 静态库:文件以.a结束
linux动态库:文件以.so结尾。window以.dll结尾
何为静态库与动态库
概念:静态库是以程序在编译时将静态库内容包含进来。而动态库是程序在运行时动态链接
生成方式:静态编译与动态编译。静态编译生成静态库,动态编译生成链接库
apache与ngnix的区别
apache进程处理,ngnix进程下的线程
apache与共它进程的通信
内部进程通信
管道、共享内存、信号、消息队列、信号量、内存映射
信号量与mutex的区别
外部进程通信
socket,只有socket才能进行不同电脑的访问
linux下一个程序的生成过程
经历:预处理、编译、汇编、连接、运行
由这个程序处理连接到QT编译移植过程
在编译过程中出现的错误,是QT语法
在链接、运行中出现的问题,一般是缺少相应的库
缺库情况分两种
版本冲突,linux有相应的版本解决方式,比如so-name
是真正缺库,库与库依赖发生了断层
0 条评论
下一页