Linux程序设计——1. 操作系统基础知识

1.1 操作系统在计算机体系中的位置

1.2 Linux内核功能

1.2.1 内存管理

内存分配调用:包括静态分配方式、动态分配方式;

内存保护:确保每个程序在自己的内存空间运行、互不干扰。方法是使用界限寄存器或存储保护键;

地址映射(地址变换):实现程序的逻辑地址与存储器的物理地址之间的映射功能;

内存扩充:从逻辑上扩充内存,以允许比物理内存更大的程序在机器内运行,为此操作系统必须具有:请求调入功能与置换功能。

1.2.2 进程管理

进程控制:包括创建进程、进程撤销、进程阻塞、进程唤醒;

进程协调:由于进程运行的异步性,进程同步的任务是对各个运行进程的协调,包括两种方式:进程互斥和进程同步;

进程通信:主要完成在同一台机器上不同进程的通信和不同机器上进程间的通信,以此来完成同一任务;

进程调度:操作系统按照一定的规则对等待运行的多道程序进行调度,以保证每个程序都能有机会运行,从而完成任务;

1.2.3 文件管理

文件存储空间的管理:为每一文件分配必要的外存空间。为提高外部存储空间的利用率,系统应设置相应的数据结构,用于记录文件存储空间的使用情况;

目录管理:为了方便对用户的文件进行管理,对文件系统建立一定的目录结构,同时要求快速目录查询的手段;

文件的读写管理和存取控制:利用一定的系统调用对文件进行读写操作。同时,为防止系统中的文件被非法访问和窃取,文件系统中必须提供有效存取控制功能;

1.2.4 设备管理

缓冲管理:管理各种类型的缓冲区,如:字符缓冲区和块缓冲区,以缓和CPU和I/O速度不匹配的矛盾,最终达到CPU和I/O设备的利用率,进而提高系统的吞吐量;

设备分配:根据用户的I/O请求,为之分配其所需要的设备;

设备处理:又称为设备驱动程序,任务是实现CPU和设备控制器之间的通信;

设备独立性和虚拟设备:一方面保证用户程序独立于物理设备,另一方面保证多个进程能并发地共享一个设备;

1.2.5 UNIX/LINUX操作系统架构

猜你喜欢

转载自blog.csdn.net/qq_39316701/article/details/107583164