教程目录
进程和线程的区别?
一、定义 进程:程序运行的实例,资源分配的基本单位,有独立地址空间。 线程:进程内的执行单元,CPU 调度的基本单位,共享进程资源。 二、对比 维度 进程 线程 资源 独立地址空间 共享进程资源 切换开销 大(切换页表、TLB) 小 通信 IPC(管道、消息队列、共享内存) 共享内存(需同步) 健壮
进程调度算法有哪些?
一、先来先服务(FCFS) 按到达顺序执行,非抢占。简单但短作业可能等待很久。 二、短作业优先(SJF) 预估运行时间短的先执行。平均等待时间最短,但长作业可能饥饿。 三、时间片轮转(RR) 每个进程分配一个时间片,用完就切换。适合交互式系统,响应快。 四、优先级调度 高优先级进程先执行。可抢占或非
什么是死锁?如何避免?
一、四个必要条件 互斥:资源同一时间只能被一个进程使用。 持有并等待:进程持有资源同时等待其他资源。 不可剥夺:已获得的资源不能被强制夺走。 循环等待:进程间形成循环等待链。 二、预防 破坏四个条件之一: - 破坏互斥:难(有些资源必须互斥)。 - 破坏持有并等待:一次性申请所有资源。 - 破坏不可
操作系统的内存管理?
一、虚拟内存 每个进程有独立虚拟地址空间,通过页表映射到物理内存。进程以为自己独占内存。 二、分页 内存分成固定大小的页(通常 4KB),虚拟页映射到物理页帧。 页表:记录虚拟页到物理页的映射。 TLB:页表缓存,加速地址翻译。 缺页中断:访问的页不在内存,从磁盘加载。 三、分段 按逻辑单位分段(代
什么是 I/O 多路复用?
一、定义 单个线程通过系统调用同时监听多个文件描述符,哪个就绪就处理哪个,避免阻塞在单个 I/O 上。 二、select select(maxfd, &readfds, &writefds, &exceptfds, &timeout); 位图存储 fd,有最大数量限制(1024)。 每次调用都要把