- Linux 文件名的长度不能超过 256个字符。
- 文件权限的umask:
设umask为002, 则新建立的文件的权限是什么?
666-002=664= -rw-rw-r--
文件默认权限666 目录默认权限777 。 实际权限则减去umask。
- Linux中的brk和mmap分配内存:进程分配内存的两种方式--brk() 和mmap()(不设计共享内存)
-
系统环境变量配置(对所有用户生效的):/etc/profile
-
用户环境变量配置:
cd /home/用户名 ,进到普通用户的home目录下,可以看到用户的环境变量文件.bash_profile
-
两种配置保存后要执行source加文件名才能立即生效,否则要重启生效。
- Linux内核作用:
①进程管理:
内核负责创建和销毁进程,并处理它们与外部世界的联系(输入和输出)。不同进程间通讯(通过信号、 管道或者进程间通讯原语)对整个系统功能来说是基本的,也由内核处理。另外,调度器控制进程如何共享 CPU,是进程管理的一部分。更通常地,内核的进程管理活动实现了多个进程在一个单个或者几个 CPU 之上的抽象。
②内存管理:
计算机的内存是主要的资源,处理它所用的策略对系统性能是至关重要的。内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间。内核的不同部分与内存管理子系统通过一套函数调用交互,从简单的 malloc/free 对到更多更复杂的功能。
③文件系统:
Unix 在很大程度上基于文件系统的概念,几乎 Unix 中的任何东西都可看作一个文件。内核在非结构化的硬件之上建立了一个结构化的文件系统,结果是文件的抽象非常多地在整个系统中应用。另外,Linux 支持多个文件系统类型,就是说,物理介质上不同的数据组织方式。例如,磁盘可被格式化成标准 Linux 的 ext3 文件系统,普遍使用的 FAT 文件系统,或者其他几个文件系统。
④设备控制:
几乎每个系统操作最终都映射到一个物理设备上。除了处理器、内存和非常少的别的实体之外,全部中的任何设备控制操作都由特定于要寻址的设备相关的代码来进行。这些代码称为设备驱动。内核中必须嵌入系统中出现的每个外设的驱动,从硬盘驱动到键盘和磁带驱动器。内核功能的这个方面是本书中的我们主要感兴趣的地方。
⑤网络:
网络必须由操作系统来管理,因为大部分网络操作不是特定于某一个进程:进入系统的报文是异步事件。报文在某一个进程接手之前必须被收集、识别、分发。系统负责在程序和网络接口之间递送数据报文,它必须根据程序的网络活动来控制程序的执行。另外,所有的路由和地址解析问题都在内核中实现。
- makefile学习:
跟我一起写 Makefile