Linux系统为用户提供了强大的管理功能,主要包括存储管理,系统用户和用户组管理,进程管理,文件管理等
存储管理
Linux内核采用虚拟页似存储管理,采用三级映射机制实现从线性地址到物理地址的映射。这三级映射机制包括:
1.页面目录(PGD)
2.中间目录(PMD)
3.页面表(PT)
具体的映射过程为:
(1)从内存的CR3寄存器中找到PGD地址。
(2)从线性地址的最高位段为下标,在PGD中找到指向PMD的指针。
(3)以线性地址的次位段为下标,在PMD中找到指向PT的指针。
(4)在PT中找到指向页面(PGD)的指针。
(5)线性地址的最后位段为此页中的偏移量,这样就完成了从线性地址到物理地址的映射过程。
对于32位的微机平台,如Intel的X86采用段,页式的两层映射机制,而64位的微处理器采用三级分页技术。所以对于传统的32位平台,Linux采用让PMD(中间目录)全部为0来消除中间目录域,这样就把Linux逻辑上的三层映射模型落实到X86结构物理上的二层映射,从而保证了Linux对多种硬件平台的支持。
用户和用户组管理
Linux系统是一个多用户的操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号的身份进入系统。
每个账号都拥有一个唯一的用户名和口令,正确输入命令和口令后,才能进入系统和自己的家目录
管理用户一般就以下几个方面:
用户账户的添加,删除与修改
用户口令的管理
用户组的管理
进程管理
前面也说了,Linux是一个多用户,多任务的分时操作系统。
多用户指的是多个用户可以在同一时间使用操作系统
多任务指的是Linux可以同时执行多个任务,它可以在还未执行完一个任务时又执行另个任务。
操作系统管理着多个用户的请求和多个任务的执行。但是大多数操作系统都只有一个cpu和一个内存,不过可能有多个二级存储磁盘和多个输入/输出设备
操作系统管理着这些资源,并在多个用户间共享资源,当某个用户提出一个请求时,好像系统只被该用户独自占有。而实际上操作系统监控着一个等待执行的任务队列,这些任务包括用户作业,系统任务,系统中断等。
操作系统根据每个任务的优先级别,为他们分配合适的时间片段,每个时间片段大约有零点几毫秒,足够计算机完成成千上万的指令。每个任务都会被系统运行一段时间然后挂起,系统转而去处理其他任务;过一段时间后再回来处理这个任务,直到该任务完成,才从任务队列中删除。
在Linux操作系统中,任务被称之为“进程”。进程终其一生存在多个状态,正是有了操作系统管理着进程在多个状态之间的轮换,才能控制多个进程之间协调有序地执行。
文件管理
Linux的常见文件类型有七种
文件属性
文件类型
–
常规文件,即file
d
目录文件
b
block device 即块设备文件,如硬盘;支持以block为单位进行随机访问
c
character device 即字符设备文件,如键盘支持以character为单位进行线性访问
l
symbolic link 即符号链接文件,又称软链接文件
p
pipe 即命名管道文件
s
socket 即套接字文件,用于实现两个进程进行通信
Linux用一个称为VFS(虚拟文件系统)的接口将真正的文件系统和操作系统以及其他服务器分离,掩盖不同文件系统之间的差异,使所有的文件系统在操作系统和用户程序里看起来都是相同的。不负责任的讲:在Linux中,所有的操作都是对文件的操作
由于Linux是一个多用户的操作系统,为了防止出现删库跑路(rm -rf /*)这样的事情发生,就对文件的操作设定了权限(文件权限是系统安全的一个主要因素)
linux文件的权限分为三种:读(r),写(w),执行(x)都是字面意思
另外,在Linux中,一个分离的文件系统不是通过设备标识(驱动器号)来访问的,而是把它合并到一个单一的目录树结构中去,通过目录来访问。
Linux操作系统的基本功能1:编程能力
Linux产生于一群真正的黑客。尽管人们习惯于认为Linus是Linux的缔造者,在linux包含的数以千计的文件中,也有一个名为Credits的文件记录了主要的LinuxHacker们的姓名和电子邮件地址(这个列表中包含了100多个名字,世界各地的都有),但没有人说得清究竟有多少人参与了Linux的改进。这一游戏到今天并没有随着时间的推移而停止,相反却因为Linux的日益流行而爱好者甚众。
Linux操作系统的基本功能2:组网能力,Linux的组网能力非常强大,它的TCP/IP代码是最高级的.linux提供了对于当前的TCP/IP协议的完全支持,并且包括了对下一代Internet。
Linux操作系统的基本功能3:创新能力
“如果你总是使用微软的开发工具,你一生只能做个操作人员。”这话一点都不假.linux是自由软件,而自由软件和非自由软的区别在于:
1.自由软件是开放的,成千上万的人可以检查这个软件,快速地找到并修改其错误码。
2.最终用户可以按照自己的意愿自定义自由软件,有特殊需要的用户也可以完全按照他们认为合适的方式定制自己的Linux。
3.自由软件为了防止重复发明,通过共享源代码和思想来节省很多工作量。
Linux操作系统的基本功能4:UNIX能力
人们所以选择Linux的又一个重要原因是在于它的UNIX兼容性。由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,无偿地获得大量的应用程序,还可以任意地修改和补充它们。这对用户学习、了解UNIX操作系统的内核非常有益。可以说Linux为广大用户提供了一个在家里学习和使用UNIX操作系统的廉价的机会。
和所有操作系统一样,Linux系统是软件和硬件的接口,我们通过操作系统就可以获取甚至是改变硬件的数据和信息。
只不过,Linux系统和Windows系统不同的是,首先,它主要是字符界面的操作系统,同时,Linux系统是网络操作系统,具有很多服务器所需要的特性,比如实时性、多任务、多用户等。
所以,Linux通常不会作为个人操作系统使用,一般是用作服务器或工作站的操作系统。Linux系统内核是由芬兰计算机天才在大学时自发编写,所以,它具有开源的特性。
总的来说,Linux系统在现实中,主要是作为一些小型企业的服务器系统,同时,它在底层开发的作用是Windows无法代替的。TCPIP编程,也是基于Linux的。并且,嵌入式编程开发,手机开发等,也多选择Linux系统。
简单来说,除了作服务器的操作系统外,linux主要用户底层开发或者教学工具。图形界面的天下不用说了,仍旧是Windows.