2.计算机架构与Linux操作系统分析

    在计算机上,我们知道有内存、cpu、硬盘、键盘、鼠标、显示器等等。那他们是怎么连接起来的呢?

如果说每个外设都和直接cpu连接,那么cpu就要有非常多的引脚了,但是我们知道,现在计算机是有种类多且数量的也多的硬件连接而成,要实现cpu跟每个硬件都有直接相连的线路是不现实的。

    其实,在现实当中CPU是通过总线和外部各硬件间接相连的,其中总线有地址总线、数据总线、控制总线这几种。

地址总线是用来查找有存储能力的存储单元的;

控制总线是用来连接各硬件控制器的,提供其发送控制信号;

数据总线是用来传输数据;

    计算机在工作时,如果有其他的硬件发来请求,那CPU是如何知道硬件发来了请求信息呢?一会查看一下是否有请求,过一会又去查看,如果有请求则去处理,如果在处理过程中又有其他硬件发来了请求,则CPU又如何操纵呢?如果是发生了重大错误,那是不是要CPU先去处理更重要的是再来处理刚才没处理完的事情。

    在CPU处理事情时,有另外重要请求来了打断此处的操作,我们称之为中断。中断是有两种有软中断和硬中断。有硬件发出的打断正在处理的工作我们称为硬中断,有软件发出的打断了正在处理的工作我们称之为软中断。

    我们装的操作系统它是可以做很多工作的,操作系统我们装了很多程序,多个程序要正常有序运行,运行当中要读取和写数据,如果程序需要外部网络提供数据,则要访问网络,程序要运行且要实现对应的功能就会操作硬件,还有需要网络通信进行交流且保证数据的安全性。操作系统要实现的如下功能:

    进程调度管理

    文件系统管理

    网络协议栈控制

    内存管理

    驱动程序管理

    安全功能

   以上这些是操作系统必须得提供,我们装好Linux系统后给我们提供了一个登陆界面,那么我们就需要用用户来登录,Linux是多用户多任务的操作系统能够,每个用户都有自己的数据,显然不同用户都要有不同的权限的。Linux下我们把用户为分:

管理员用户(拥有所有的权限的)

普通用户(通过管理员授权各普通用户,不同的用户权限都是不同的)

管理员下命令提示符是:  #    [root@linux_basic ~]#
普通用户下的命令提示符: $      [cactiuser@linux_basic ~]$ 

命令提示符是什么组成的呢?

可以通过PS1变量来查看,去变量的之要加$PS1,用echo命令来显示

[root@linux_basic ~]# echo $PS1
[\u@\h \W]\$

\u     the username of the current user  当前用户用户名

\h     the hostname up to the first ‘.’显示‘.‘前面的主机名,主机名无‘.‘则直接主机名

\W     the basename of the current working directory, with $HOME abbreviated with a tilde

当前工作目录基名

\w  当前工作目录的绝对路径

\$     if the effective([‘fktv] 有效的,起作用的;) UID is 0, a #, otherwise a $

如果有效UID是0则为#,其他是#

\n     newline   新行

\j     the number of jobs currently managed by the shell

这里UID是用户的标识。每个用户都有UID,管理员的UID是0,其他用户UID是$

要想查看更多说明信息可以用  man sh,会使用的就可以找到,此处不讲解

Linux下给变量赋值,是使用   变量名=值   如果说值有字符的话,我们都是用引号引起来的

‘‘ 单引号    "" 双引号  ``反引号     Esc键下面的那个键

[root@linux_basic /etc/init.d]#echo $HOME
/root

我们可以改变PS1变量的值

[root@linux_basic ~]# PS1=‘[\u@\j \W]\$‘
[root@0 ~]#PS1=‘[\u@\h \W]\$‘
[root@linux_basic ~]#
Linux下是严格区分大小写的

[root@linux_basic ~]#PS1=‘[\u@\h \w]\$‘
[root@linux_basic ~]#cd /etc/init.d/
[root@linux_basic /etc/init.d]#

Linux的目录结构是一个倒置的树,就是它有且仅有一个根(/),绝对路径是指从根开始到所在目录的完整路径;相对路径是指不以根为开始,是一当前目录为起点来进行指定。cd是一个实现目录跳转的命令。pwd是用绝对路径的方式显示当前所在位置

[root@linux_basic init.d]#pwd
/etc/init.d
[root@linux_basic init.d]#cd /boot/grub/

调到/boot/目录下的efi目录下,使用相对路径
[root@linux_basic grub]#cd ../efi/
[root@linux_basic efi]#pwd
/boot/efi

有错误欢迎大家来修正,希望可以做到更好!

本文出自 “快乐就好” 博客,请务必保留此出处http://6625958.blog.51cto.com/6615958/1591853

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。