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

  • 相关阅读:
    ibatis集成封装之路(to mysql)
    设计模式第一弹—适配器模式
    markdown语法
    outlook vba开发要点
    PHP中json_encode中文编码的问题_学习
    isset、empty、var==null、is_null、var===null详细理解
    对冒泡和二分法,特别是二分法有了更深的理解
    php Socket表单提交学习一下
    php Socket模拟表单上传文件函数_学习
    java第九节 网络编程的基础知识
  • 原文地址:https://www.cnblogs.com/hxlinux/p/13161090.html
Copyright © 2011-2022 走看看