zoukankan      html  css  js  c++  java
  • Linux的主要功能

    Linux的主要功能

    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中,一个分离的文件系统不是通过设备标识(驱动器号)来访问的,而是把它合并到一个单一的目录树结构中去,通过目录来访问。

  • 相关阅读:
    LeetCode 230. Kth Smallest Element in a BST
    LeetCode 114. Flatten Binary Tree to Linked List
    LeetCode 222. Count Complete Tree Nodes
    LeetCode 129. Sum Root to Leaf Numbers
    LeetCode 113. Path Sum II
    LeetCode 257. Binary Tree Paths
    Java Convert String & Int
    Java Annotations
    LeetCode 236. Lowest Common Ancestor of a Binary Tree
    LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/hxlinux/p/13161090.html
Copyright © 2011-2022 走看看