计算机基础
操作系统
- 进程和线程
- 进程:
- 进程是对正在运行的应用程序的抽象;
- 进程是拥有资源的基本单位
- 可并发执行
- 线程:
- 线程是调度和分配资源的基本单位
- 线程不拥有资源,但可以访问隶属于进程的资源
- 线程可与同属于同一进程的其他线程共享资源
- 可并发执行
- 进程的创建和撤销,系统非开销相比线程要大
- 线程共享的环境:
- 进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。
- 进程间通信(IPC,Inter-Process Communication)
- 进程之间是相互隔离的,为了是不同进程间传递资源,才有了进程间的通信
- 方式:
- 管道、命名管道、消息队列、信号、信号量、共享内存、套接字(socket)
- 守护进程
- 是 Linux 下一种特殊的后台服务进程,它独立于控制终端并且周期性的执行某种任务或者等待处理某些发生的事件
- 内存管理
- 就是操作系统对内存的划分和动态分配
- 内存堆栈
- 栈不多说,在顶部插入和删除
- 堆:数据项位置没有固定的顺序。你可以以任何顺序插入和删除,因为他们没有“顶部”数据这一概念
- 文件系统
- 在系统运行时,计算机以进程为基本单位进行资源的调度和分配;而在用户进行的输入、输出中,则以文件为基本单位。
- 大多数应用程序的输入都是通过文件来实现的,其输出也都保存在文件中,以便信息的长期存及将来的访问。
- 当用户将文件用于应用程序的输入、输出时,还希望可以访问文件、修改文件和保存文件等,实现对文件的维护管理,这就需要系统提供一个文件管理系统
网络
- 端口:
- TCP 服务器由发送端和接收端创建一种称为套接字的端点来获得,每个套接字有一个套接字编号(地址),该编号由主机的 IP 地址以及一个本地的16位数值组成的。这个16位数值称为端口,所以一共有2^16 = 65535个端口可用。
-
socket套接字: 网络上不同的计算机之间进行 TCP、UDP通信需要使用网络套接字(socket)。socket是在不同计算机之间进行通信的一个抽象。他工作于TCP/IP协议中应用层和传输层之间的一个抽象。

- xx