学习linux之基础知识

一,Unix系统与Linux


不讲历史,Linux是类Unix操作系统家族的一名成员,和其他Unix操作系统的最大不同点在于,Linux不是商业化的操作系统,遵循GNU,代码全部开放。Linux 也是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证,任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。

Linux版本:Linux通过编号来区别内核的稳定版和开发版。每个版本号由三位数字组成,由圆点分割,前两位数表示版本号,第三位数表示发布号。

进程

所有的操作系统都使用一种基本的抽象:进程(执行程序的事例或执行上下文)
多用户系统必须实施一种执行环境,在这种环境,几个进程能并发活动,并能竞争系统资源。

linux组成结构

四大组成结构分别是内核,文件系统,shell,用户程序。

二,内核态和用户态

内核与操作系统

内核中的组成:

任何计算机系统都包含一个基本的程序集合,称为操作系统。在这个集合中,最重要的程序是内核。当操作系统启动,内核被装入随机存储器中,系统根本的样子和能力由内核决定。Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。

硬件->操作系统->软件

操作系统必须完成两个主要目标:
与硬件部分互相作用,为所有包含在硬件平台上的底层可编程部件提供服务
为运行在计算机系统上的应用程序提供一个执行环境
为了实现这种机制,现代操作系统依靠特殊的硬件特性来禁止用户程序直接与底层硬件部分打交道,或者直接访问任意的物理地址。硬件为CPU引入了至少两种执行模式:用户程序的非特权模式和内核的特权模式。Unix把它们分别称为用户态和内核态。

即unix内核提供了应用程序可以运行的执行环境。因此内核必须实现一组服务及相应的接口。应用程序使用这些接口,而且通常不会与硬件资源直接打交道。

三,文件系统

unix文件是一列字节组成的信息载体,内核不解释文件的内容,而是很多编程的库函数实现。文件在一个树形的命名空间中进行组织。

常见目录
/bin 目录是包含一些二进制文件的目录,即可以运行的一些应用程序。
/boot 目录包含启动系统所需的文件。
/dev 目录包含设备文件。 其中许多是在启动时或甚至在运行时生成的。
/etc 要配置的所有内容,系统配置文件如系统名称,用户密码等
/home 是你可以找到用户个人目录的地方。
/lib 是库文件所在的地方
/usr 目录是在 UNIX 早期用户的主目录所处的地方。然而,正如我们上面看到的,现在 /home 是用户保存他们的东西的地方。如今,/usr 包含了大量目录,而这些目录又包含了应用程序、库、文档、壁纸、图标和许多其他需要应用程序和服务共享的内容。

四,shell

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。 Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。

猜你喜欢

转载自blog.csdn.net/wannuoge4766/article/details/91355111