Linux系统学习笔记:序

Linux系统学习笔记:序

  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

本人使用的Linux为Ubuntu,主要以《APUE》(第3版)为学习蓝本。

1. Unix/Linux 体系结构

如图:
Linux系统学习笔记:序_第1张图片
内核的接口被称为系统调用。公用函数库构建在系统调用接口之上,应用程序既可以使用公用函数库,也可使用系统调用。Shell是一个特殊的应用程序,为运行其他应用程序提供了一个接口。

2. Linux 内核的主要模块

2.1 进程调度 SCHED

进程调度指的是系统对进程的多种状态之间转换的策略。Linux下的进程调度有3种策略:
* SCHED_OTHER 分时调度策略
* SCHED_FIFO 实时调度策略,先到先服务
* SCHED_RR 实时调度策略,时间片轮转

2.2 内存管理 MMU

内存管理是多个进程间的内存共享策略。在Linux系统中,内存管理的主要概念是虚拟内存。

2.3 虚拟文件系统 VFS

Linux支持多种文件系统,最常用的文件格式是ext2和ext3(ext4是ext3的改进版),ext2文件系统用于固定文件系统和可活动文件系统,ext3在ext2的基础增加了日志功能。两者可以互相转换。

2.4 网络接口

Linux支持多种网络接口和协议。网络接口分为网络协议和驱动程序,网络协议是一种网络传输的通信标准,而网络驱动则是对硬件设备的驱动程序。

2.5 进程间通信

Linux操作系统支持多进程,进程之间需要进行数据的交流才能完成控制、协同工作等功能,Linux下的进程间的通信方式主要有管道方式、信号方式、消息队列方式、共享内存和套接字等方法。

3. Linux的目录树结构

Linux系统学习笔记:序_第2张图片

你可能感兴趣的:(linux,apue,Unix环境高级编程)