(一)计算机基础知识
一、操作系统
1. 进程和线程的关系和区别
关系:
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体。
区别:
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。
2. 线程私有和共享的
私有:栈(局部变量、函数的参数)、TLS(线程局部储存)、寄存器
共享:全局变量、堆上的数据、函数静态变量、程序代码、打开的文件
3. 分时系统vs实时系统
实时操作系统:
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。
- 多任务
- 有线程优先级
- 多种中断级别
分时操作系统:
使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。
- 交互性
- 多路性
- 独立性
- 及时性
4. 用户态与内核

本文介绍了操作系统的基础知识,包括进程与线程的关系和区别、线程的私有和共享资源、实时系统与分时系统的特性、用户态与内核态的差异、死锁的概念及其四个必要条件、操作系统调度算法、Linux信号以及进程间通信(IPC)的方式。这些知识点对于理解Web安全中的系统层面问题至关重要。
最低0.47元/天 解锁文章
8779

被折叠的 条评论
为什么被折叠?



