计算机和操作系统的一些概念

一、计算机组成

    (一) 硬件

        CPU:运算器、控制器、寄存器、缓存器

        存储器:主内存,RAM(Random Access Memory)数据必须加载到主内存中才能进行处理。

        输入设备:下指令,提供数据等

        输出设备:输出数据加工的结果

                                                    wxid_6kravxdqjz3r22_1470807557309_57.png

    (二) 软件

        操作系统

            目前主流操作系统有windows、mac、linux。我们重点学习的就是Linux系统

            功能:

                驱动程序、进程管理、安全管理、网络管理、内存管理、文件系统。。。

            组成:

        内核(kenerl)

        基础应用(Application)

        应用程序(指令+数据)

二、开源组织GNU

    是"GNU is Not Unix"的递归缩写。是richard stallman在1983年9月27发起发起的,目标是创建一套完全自由的操作系统。

    为保证软件可以自由的"使用、复制、修改和发布", 所有GNU软件都必须遵循GNU通用许可证(GNU Genenal Public Lisence 即GPL)。即反版权,或称为copyleft。

    GPL协议中,软件必须源代码的方式发布出来。同时规定使用了遵循GPL协议的软件后,也得遵循GPL协定。那么意味着一旦使用了GPL协议的开源程序后,自己二次开发的程序也必须开源出来。遭到

不少商业用户的排斥。于是有出现了多种开源协定。

    目前主流的协定有以下几种:

         GPL

              v2、v3

         LGPL

              v2(MPL)、v3

         Apache

         BSD

              3言、2言

    详细描述地址:http://www.open-open.com/solution/view/1319816219625

   798686168070112503.jpg

三、IT技术领域的岗位

    研发:

        硬件:忽略

        软件:(语言越高级越接近于人类语言,越低级越接近于计算机语言)

            低级语言:汇编语言,汇编器

                写驱动

            高级语言:

                系统级:c,c++

                    主要用于操作系统,对性能要求较高的服务类程序

                应用级:Java,Python,ruby

                应用程序: ansible,puppet, …

    应用:

        Linux运维:Linux生态圈中的各种程序的应用;

        shell脚本编程:让某些应用工作能自动完成;

        python:专业编程语言;

            ansible, openstack

    ???此处研发和应用的区别不甚明朗,留待以后领悟吧???

四、Linux操作系统

    OS:

        狭义:只是个内核(kernel)

        完整:kernel + Application

    组成:

         (1) kernel: 内核

              重点在于管理计算机的所有活动以及驱动系统中的所有硬件。(可以让CPU开始判断逻辑与数值运算,主内存可以加载/读取数据、让硬盘可以被开始被存取、让网络卡可以开始传输数据、让所有周边开始运转)

                                     Tps:所以整部系统叧有核心癿话,我仧就叧能看着已绊准备好运作(Ready)癿计算机系统,但无法操作他! 好像有点望梅止渴癿那种感觉啦!这个时候就需要软件癿帮忙了!

         (2) System Call: 系统调用

              只是将基本的功能封装成接口,方便软件开发者调用。

         (3) library: 库

              库是将基本功能再次封装,提供更加完整的功能接口给程序调用。当然程序也可以不适用库,直接系统调用。

         (4) Shell: 一组接口软件,可以是用户和机器交互。

         (5) Application: 应用程序

            应用程序是对人类可用的功能系统。

     

                2012092023590167.jpg

    发布版:

        真正的linux只是一个kernel,只针对计算机的硬件资源管理,并没有用户可用的功能。

        那么就有了linux发布版,发布版是将linux内核和一些最常用的基本程序功能打包起来,用户安装之后,很多基本功能直接可以使用。下面是一些主流的发布版本:

    Debian

        ubuntu

        mint

        knopix

    Slackware

        S.u.S.E

         SLES

         OpenSUSE

    RedHat:

         Redhat 9.0:

         RedHat Enterprise Linux: RHEL

         CentOS: Community ENTerprise OS

    Fedora Core

    Gentoo

    ArchLinux

     linux 发布版详细的时间线

    https://yunpan.cn/c6IvbpTDUaaMi  访问密码 0723

    共同点:均使用linux内核、遵循相同的文件系统规范:FHS、

       不同的发布版具有不同的包管理器(概念见下面程序应用部分):

         Debian:dpkg, apt-get

         RedHat:rpm, yum –> dnf

         S.u.S.E: rpm, zypper

         ArchLinux:pacman

         Gentoo:emerge

五、程序版本号的定义

    major.minor.release

        主版本.子版本.修订号

     Linux:0.99, 2.2, 2.4, 2.6, 3.0, 4.0

     内核地址:www.kernel.org

    

     Linux内核和各个发布版各自的版本号是不一样的。

六、程序应用:

     程序的组成部分:

         二进制程序;

         配置文件;

         库文件;

         帮助文件;

     程序包管理器:

         程序的组成部分打包成一个或有限几个文件,一般具有程序的安装、卸载、查询功能

        

     比如计算机跟用户打交道的接口就是各种应用程序:

         GUI:Graphic User Interface(桌面接口)

             GNome:c, gtk

             KDE: c++, qt

         CLI:Command Line Interface(命令行接口)

             bash

             zsh

             sh

             csh

             tcsh

             ksh

七、终端设备(terminal)

    指的是电脑跟用户的进行通讯的设备,比如一套键盘和显示器。

     统称为tty,有以下几种终端:

         物理终端:console

         虚拟终端:6个,tty

         Ctrl+Alt+F[1-6]

         图形终端:

             CentOS 6:

                  Ctrl+Alt+F7

             CentOS 7:

                  在哪个虚拟终端启动,即位于哪个虚拟终端;

         串行终端:ttyS

         伪终端:pty

八、linux哲学思想

     1、一切皆文件;

         把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;

         open(), read(), write(), close(), delete(), create()

         表现之一:硬件设备也通过文件表示;

         物理终端:/dev/console

         虚拟终端:/dev/tty# [1,6]

         串行终端:/dev/ttyS#

         伪终端:/dev/pts/#

     2、由众多功能单一的程序组成;

         一个程序只做一件事,并且做好;

         组合小程序完成复杂任务;

     3、尽量避免跟用户交互;

         目标:易于以编程的方式实现自动化任务

     4、使用文本文件保存配置信息;

命令收集:

     ss -tnl

          查看系统是否监听于tcp协议的22号端口;

     ip addr list

     或

     ifconfig

          查看IP地址;

     iptables -L -n

     关闭防火墙状态:

     CentOS 7:

     systemctl disable firewalld.service

     systemctl stop firewalld.service

    

     CentOS 6:

     service iptables stop

     chkconfig iptables off

    

     tty

          查看终端设备:

    

     echo $SHELL

          查看接口程序,使用shell种类:

    

     startx &

          启动GUI:在某一虚拟终端接口运行即可

    

     tty

        查看当前的终端设备;

    

     echo

        回显

    

     ping

        探测网络的目标主机与当前主机之间的连通性;

    

     Ctrl+c

        终止命令执行;

资源链接:

     CentOS的镜像站点:

     http://mirrors.aliyun.com

     http://mirrors.163.com

     http://mirrors.sohu.com

杂项:

     (1)、最纯净的linux 

     LFS: Linux From Scratch

    

     (2)、基于debain的发行版:kali。设计用于数字鉴识和渗透测试

原创文章,作者:小江,如若转载,请注明出处:http://www.178linux.com/31227

(0)
小江小江
上一篇 2016-08-15 12:06
下一篇 2016-08-15 12:06

相关推荐

  • 文本处理工具

    文本处理工具 文件内容:less和 cat,more文件截取:head和tail文本内容处理:tr按列抽取:cut按关键字抽取:grep 文件查看命令:cat, tac,rev cat  复制标准输入到当前输出 语法:cat [OPTION]… [FILE]…选项: -E: 显示行结束符$ -n: 对显示出的每一行进行编号 -A:显示所有…

    Linux干货 2016-08-07
  • Linux常用基础命令

    pwd显示工作目录 [root@localhost ~]# pwd/root cd 切换回家目录,注意:bash中,~表示家目录: [root@localhost ~]# cd[root@localhost ~]# cd ~USERNAME:切换至指定用户的家目录;cd ~切换回自己的家目录; cd -:在上一次所在目录与当前目录之间来回切换; […

    Linux干货 2017-06-26
  • Linux系统命令使用格式已经如何查看帮助

    在Linux 系统中有非常多的命令一般的命令格式:“COMMAND OPTIONS ARGUMENTS” 下面有一些基础命令可以体验下命令的基本格式用法 ifconfig命令    作用: 配置网络接口,查看网络接口信息    基本语法:     ifconfig  […

    Linux干货 2016-08-15
  • Bash基本特性之命令状态返回值和命令行展开

    Bash基本特性之命令状态返回值和命令行展开 Bash的工作特性 命令执行状态返回值 bash中一条命令的执行,会产生两种返回结果:命令结果及命令执行状态结果。一条命令成功执行,其执行状态返回值为0。如果未能成功执行,其返回值为1-255。 ~]# echo $? 用于查看命令执行状态返回值 引用命令的执行结果$(COMMAND…

    Linux干货 2016-11-06
  • 第一周博客作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux干货 2018-03-13
  • M22 使用非对称密钥实现ssh自动登陆

    一 实验目的 一般在用户使用ssh客户端登陆ssh服务器时需要使用用户名和密码,本实验使用非对称加密的方式实现了无密码登陆ssh服务器。 二 实验流程  、 1 在客户端生成非对称密钥对 2 将非对称密钥中的公钥发送给ssh服务器端相应的帐号 3 当客户端通过ssh协议与服务器端发起连接时,客户端将私钥加密过的签名发送给服务器端,服务器端使用客户端…

    2017-04-13

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-17 15:52

    写的很好,排版还可以在漂亮一点,加油,尝试自己来画图