zoukankan      html  css  js  c++  java
  • day02(操作系统简介和Linux的安装与常用命令简介)

    主要内容

      1、进程

      2、操作系统的结构

      3、操作系统的发展历史

      4、内核与GNU/Linux系统的版本问题

      5、开源体系

      6、Centos的安装与一小部分使用

      7、Linux的安装与命令简介


     

    1、进程

     进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。

     进程是操作系统中最基本、重要的概念。默认的是守护进程,程序进程---普通进程,程序都会启动自己的程序进程,普通进程依赖于守护进程。

    注:并不是所有的进程都能直接调用system call去直接使用硬件资源的,大部分的普通进程都不能直接通过syste call去调用硬件资源,他们需要借助库文件,才能在系统上正常运行。)

     Windows上的库文件尾缀为.dll,Linux上的库文件尾缀为.os

     Shell是Linux操作系统下最常见的交互方式,bash是最基本的交互方式(ps命令是查看Linux系统下的进程--process)

     图形交互程序在Linux系统上也是一款普通的应用程序,常见的图形程序----KDE,GNOME,Xface.......

    2、操作系统的结构

     硬件设备--kernel-----------应用程序

             (system call)

             ------------库文件----普通进程(比较特殊:shell(管理人员与系统的交互))

     

    3、操作系统的发展历史

     早期开发操作系统初衷是实现批处理功能,而早期的批处理系统无法发挥硬件的全部功能,于是三个公司开始开发多任务多进程的系统,这三个公司为GE通用电气、BELL贝尔实验室、MIT麻省理工大学,在1970年的时候诞生了第一个操作系统multics系统(多任务操作系统);
     系统开发完成以后,他们失去了原本的目标,所以GE和BELL退出了这个项目,其中BELL一个年轻的科学家肯·汤姆森(ken thompson),他为了运行自己space travel的游戏向公司申请购买一台计算机系统,而被公司拒绝;因此,他基于DEC(美国数字设备)公司开发的PDP-7(当时最好的是PDP-11)系统开发了自己的系统,用来运行space travel,这就是我们后面的Unix系统(DEC公司还有一个系统(vmx))
     ken除了是Unix系统的发明者,他还是C语言的发明者;1973年C语言被发明,ken和他的同事Ritchie迫不及待的通过C语言重写了Unix系统;
     因为对计算机行业的巨大贡献,ken获得了一年的带薪年假,在这段时间里面,他来到了加州大学伯克利分校任教;而在这个学校里面有个杰出的学生Bill Joy(SUN的创始人),他组织了BSRG,并且在ken的带领下BSRG开发了一个新的系统BSD(和Unix相近)。此时BSD商业化,开始售卖赚钱;而Unix系统的所有者BELL实验室在被Novell公司收购后也开始售卖,并由于代码相近的原因,两者之间因为版权问题,打了十年的官司,而在这十年里面,新的IT巨头悄悄发展起来,它就是Mircosoft;
     1981年个人PC机的兴起为微软带了商机,他借助母亲的关系,将转轴买来的的CP/M系统敲敲打打后,也就是我们后来为人所知的DOS系统,转手卖给了IBM;此时PC机市场有着一个巨无霸,那就是jobs的苹果公司;苹果Apple1系统基于Unix开发,要远远强于DOS系统,同时jobs在Xerox公司的PARC实验室那看到了鼠标与图形界面的开发,它从Xerox公司购买到了图形界面,而比尔盖茨则假装帮助jobs开发图形界面。而得到图形界面的比尔盖茨将自己的DOS从新开发,这就是Windows系统;
     Windows系统可以说在系统行业属于非常差的系统,经常蓝屏,比尔盖茨为了解决这个问题,推导了原本CP/M的框架从新使用了DEC的vmx系统作为底层开了一个新的系统,这就时候我们的Windows NT;
     十年后,当Microsoft非常强大以后,BSD和Unix停止了官司,开始发展自己的系统,其中BSD开发了FreeBSD OpenBSD NetBSD;与此同时,Bill Joy则在这时候成立了自己的小型机系统SUN OS,也就是我们后面所知道的Solaris;SUN 2001年被oracle收购;*SUN为我们的Linux引入了CSHELL;而基于Unix系统则各个厂家开发了自己的系统例如上面说到的solaris,以及IBM的AIX和惠普的HP-Unix;
     此时的系统市场已经高度商业化;Unix、BSD商业化以后,大学里面就无法在使用这些系统教学了,此时,荷兰大学的一个教授Andrew开发了自己系统Minix系统。此时有个学生linus想使用Minix系统,但是想修改minix里面的一些驱动程序,所以自己开发了一个Linux系统;此时和80年代的一个stallman发起了freedom计划,也就是GNU计划,GNU is not unix;GPL宣言也由此诞生,General Public License;Emacs/gcc(GNU C Complier)也就是GNU计划提供的软件;
      我们说此时的GNU/Linux系统只是C语言的源代码程序,而想要运行起来就必须对这些C语言程序进行编译;而为了兼容各种CPU硬件架构,这是就出现了一些第三方公司,来开发Linux的打包程序的公司:其中包括RedHat SLS Debian SUSE,他们只是将Linux的源代码进行编译,能够让Linux系统在各种硬件上面运行,这些厂家就叫做Linux的发行商。

    4、内核与GNU/Linux系统的版本问题

     内核版本---kernel

     GNU/Linux版本---发行商版本

             常见:红帽(RedHat)(收取服务费)---Centos,Fedore,openSUSE(欧洲)   ;  Debian(安全)---Ubuntu,(麒麟、红旗)

    5、开源体系

     a.GNU

      全称:GNU is Not Unix

      GNU计划:将商业版的软件程序进行开源的一个计划

      GPL协定:如果你使用了GNU计划中定义的开源软件代码,这样的话,你就必须将对应的所有代码进行开源。

     b.BSD

     c.Apache(阿帕奇)

      本身是一个做网站起家的社区,Hadoop项目在2005年秋天作为Lucene的子项目Nutch的一部分正式引入,称为Apache项目的顶级项目。

    6、Centos的安装与一小部分使用

     在安装过程中,自定义硬件处选择新(CD),再选择使用ISO映像文件(将CentOS-6.6-i386-minimal.iso文件选入),然后继续;不需要做磁盘检测,所以选择skip。   

     注:CTRL + alt 释放鼠标,不再锁定-----tab是转换----CTRL + alt + enter是虚拟机界面全屏

    7、Linux的安装与命令简介

     1、安装

      a.直接将操作系统安装在硬件设备上(双系统)————比较麻烦,不给予推荐

      b.使用VMM管理平台来进行安装(虚拟机的方式)————VMM管理平台:VMware workstations , Virtualbox

      硬盘的划分:3个区域必须要划分:/boot(启动时指定文件),swap(交换分区),/(根分区)

      拍摄快照:如果出错,可以恢复快照(虚拟机--快照--拍摄快照--初始化状态)

     2、常用Linux命令的基本使用

    • ls:list查看当前文件夹下的内容(当前根目录)
    • pwd:显示当前路径(绝对路径)
    • cd(目录名):切换到目标目录
    • touch(文件名):修改时间戳

        ---扩展:stat命令用于以文字的格式来显示inode内容  

             atime访问时间,ctime修改文件属性的时间,mtime修改文件内容的时间

    • mkdir(目录名):创建文件夹,目录
    • rm(文件名):remove 删除
    • clear:清屏 = CTRL + l
  • 相关阅读:
    Windows网络编程:多线程技术
    Windows网络编程:OSI七层模型
    Windows网络编程:WinSock模型
    Windows网络编程:基于Scoket最简单的CS
    Windows网络编程:同步/异步 阻塞/非阻塞
    1.WebGL:简介
    无聊的面试啊:2020
    第一次面试
    实习第三周
    Eclipse新建web项目
  • 原文地址:https://www.cnblogs.com/Vera-notes/p/11278952.html
Copyright © 2011-2022 走看看