4月「掘金·日新计划」第15天
一、软硬链接概念
都可以vi改变内容
-
软链接(3:文本文件,快捷方式,有独立indoe)
- 类似window的快捷方式
- 在符合链接中,文件实际是一个文本文件,其中包含另一个文件的位置信息
- 选定的位置上生成一个文件镜像,不会占用磁盘空间
- 不同目录使用相同文件可以使用,或被链接的文件不容易记忆
- 软连接文件具有独立的inode,是一个独立的文件
-
硬链接(一个inode,多个文件指向,删除一文件不会删除inode释放资源)
-
生成一个和源文件大小相同的文件(错误的)
-
硬链接就是同一个文件使用了多个别名
-
防止误删,因为只有当所以链接删除才会被释放
-
Linux系统允许多个文件指向一个inode 名称。可以用不同的名称访问同一文件的内容,这种方式叫做硬链接
-
二、内核
2.1、内核及操作系统
-
内核是什么
- 内核是操作系统内核的简称,负责实现操作系统的核心功能(内存管理、调度系统、硬件设备管理、文件系统)
- 内核不包括应用程序。只有内核是没法用的,因为做任何事情都是通过相应的应用程序来完成的。所以就需要内核和常用应用程序打包在一起,这就是操作系统的发行版(也就是普通意义上的操作系统)
-
操作系统是什么
- linux、windows、android、ucos就是操作系统
- 本质上是一个程序,由很多个源文件构成,需要编译链接成操作系统程序(vmlinux、zImage、uImage)
- 操作系统的主要作用就是管理计算机硬件,给应用程序提供一个运行环境
-
操作系统核心功能
- 内存管理:操作系统负责管控所有的内存,所有的应用程序需要使用内存时都要向操作系统去申请和注册,由操作系统的内存管理模块来分配内存给你使用(虚拟地址,地址私有化,别的程序无法访问),这样好处是可以保证内存使用不会冲突。避免内存践踏等,段错误
- 进程调度:操作系统下支持多个应用程序同时运行,操作系统的进程调度模块负责在各个进程之间进行切换,分时复用机制
- 硬件设备管理:操作系统的硬件设备管理模块就是驱动模块
- 文件系统:文件系统是管理存储设备的一种方式
2.2、内核、驱动和根文件系统的关联
-
内核和驱动的关联
- 驱动属于内核的一部分
- 驱动工作在内核态,应用程序工作在用户态
- 应用程序通过内核定义的API接口来调用内核工作
-
内核和根文件系统的关联
- 根文件系统为操作系统启动提供了很多必备的资源:根目录、进程1
- 根文件系统提供根目录(/),进程1存放在根文件系统中,内核启动最后会去装载根文件系统
2.3、模块化设计
-
内核中各个功能模块在代码上是彼此独立的
-
模块化设计的目的就是实现功能模块的松耦合
-
配置时可裁剪,模块化编译和安装 为了方便,逐渐从静态变成了动态升级
-
模块化设计的好处
功能可裁剪、灵活性
可扩展性(动态安装卸载、新硬件的支持)
利于协作