什么是操作系统

1.操作系统(Operation System,OS)

操作系统示意图

没有安装操作系统的计算机,通常被称为裸机。

· 如果想在裸机上运行自己所编写的程序,就必须用机器语言书写程序。
· 如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序。

不同领域的主流操作系统

不同应用领域的主流操作系统

(1)桌面操作系统

· Windows系列 —— 用户群体大
· macOS —— 适用于开发人员
· Linux —— 应用软件少

(2)服务器操作系统

· Linux ——安全、稳定、免费、占有率高
· Windows server —— 付费、占有率低

(3)嵌入式操作系统

· Linux

(4)移动设备操作系统

· IOS
· Android (基于Linux)

虚拟机

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

· 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能。
· 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据、拥有自己的独立桌面、不会对真正的系统产生任何影响。
· 能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。

操作系统的发展史

01.操作系统的发展简史

1.1 Unix

1965年之前的时候,电脑并不像现在一样普通,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑。

为了解决数量不够用的问题

· 1965年左右由贝尔实验室加入了MIT以及AT&T合作的计划——该计划要建立一套多使用者、多任务、多层次的MULTICS操作系统,想让大型主机支持300台终端。
· 1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究。
· 1969年从这个 项目退出的 K.T当时在实验室无聊时,为了让一台空闲的电脑上能够运行“星际旅行”游戏,在8月份左右趁着其妻子探亲的时间,用了1个月的时间,使用汇编语言写出了Unix操作系统的原型。
· 1970年,美国贝尔实验室的K.T以BCPL原因为基础,设计出很简单且很接近硬件的B语言,并且他用B语言写了第一个Unix操作系统。
· 1971年,同样热爱“星际旅行”的D.R为了能早点儿玩上游戏,加入了K.T的开发项目,合作开发了Unix,他的主要工作是改造B语言,因为B语言的跨平台性较差。
· 1972年,D.R在B语言的基础上 最终设计出了一种新的语言,这就是C语言。
· 1975年初,C语言的主体完成,K.T和D.R迫不及待地开始用它完全重写了现在大名鼎鼎的Unix操作系统。

C语言

· 在把Unix移植到其他类型的计算机上使用时,C语言强大的移植性在此显现
(机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha、SPARC和ARM等机器上运行。)

· 而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后C源代码编译、连接成目标二进制文件之后即可运行。

Unix家谱

1.2 Minix

· 因为AT&T(通用电气)的政策改变,在Version 7Unix退出之后,发布新的使用条款,将Unix源代码私有化,在大学中不在能使用Unix源代码。
· A.T教授为了能在课堂上教授学生操作系统运作的细节,决定在不使用任何AT&T的源代码前提下,自行开发与Unix兼容的操作系统,以避免版权上的争议。
· 以小型Unix之意,命名为Minix。

1.3 Linux

· 1991年L就读于赫尔辛基大学期间,对Unix产生浓厚兴趣,尝试着在Minix上做一些开发工作。
· 因为Minix只是教学使用,因此功能并不强,L经常要用他的终端仿真器去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了Unix第一个内核的雏形,当时,他年仅21岁。
· L利用GNU上的bash当做开发环境,gcc当做编译工具,编写了Linux内核,一开始Linux并不能兼容Unix。
(即Unix上跑的应用程序不能在Linux上跑,应用程序与内核之间的接口不一致;一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件。)

02.Linux内核及发行版

2.1Linux内核版本

· 内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。
· Linux内核版本又分为稳定版和发行版,两种版本是相互关联、相互循环。
(稳定版:具有工业级强度,可以广泛地应用和部署,新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。)
(发行版:由于要实验各种解决方案,所以变化很快。)

2.2Linux发行版本

· Unix发行版通常包含了包括桌面环境、办公软件、媒体播放器、数据库等应用软件。

Linux系统下的文件目录结构

01.单用户操作系统和多用户操作系统

· 单用户操作系统:用一台计算机同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源。
(Windows XP之前的版本都是单用户操作系统)
· 多用户操作系统:指一台计算机在同一时间可以由多个用户使用,多个用户共通享用系统的全部硬件和软件资源。
(Unix和Linux的设计初衷就是多用户操作系统)

02.Windows和Linux文件系统区别

2.1Windows下的文件系统

· 在Windows下,打开“计算机”,看到的是一个个的驱动器盘符。
· 每个驱动器都有自己的目录结构,这样形成了多个树并列的情形。

2.2Linux下的文件系统

· 在Linux下,看不到驱动盘符,看到的是文件夹。
· Ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面。

2.3用户目录

位于/home/user,称之为用户工作目录或家目录。

2.4Linux主要目录速查表

/:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始
当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录

/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等

/boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有

/etc/inittab
/etc/fstab
/etc/init.d
/etc/X11
/etc/sysconfig
/etc/xinetd.d
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下
表示当前用户的家目录
~edu 表示用户 edu 的家目录

/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下

/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载

/opt:给主机额外安装软件所摆放的目录

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等

/root:系统管理员root的家目录

/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能”查看”而不能设置和使用

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内

/usr:应用程序存放目录

/usr/bin:存放应用程序
/usr/share:存放共享数据
/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
/usr/local:存放软件升级包
/usr/share/doc:系统说明文件存放目录
/usr/share/man:程序说明文件存放目录

/var:放置系统执行过程中经常变化的文件

/var/log:随时更改的日志文件
/var/spool/mail:邮件存放的目录
/var/run:程序或服务启动后,其 PID 存放在该目录下

Linux基础 —— 操作系统简介相关推荐

  1. Linux基础——操作系统框架

    BIOS Basic Input Output System "基本输入输出系统" 它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序.系 ...

  2. 学习笔记Day01——Linux基础1——简介及网络基础

    最近开始学习一门新技术,打算将每天的学习做个总结,方便自己提升,或许也能分享一些内容给有需要的朋友,如果文章中有任何问题,欢迎提出. 今天主要是了解一些基本概念 一.C/S架构 服务器-客户机,即Cl ...

  3. 步骤一:入门linux基础/01Linux简介和安装/003Linux系统的多面性

    紫红色终端 XFCE轻量级桌面管理器

  4. 步骤一:入门linux基础/01Linux简介和安装/002Linux发行版的介绍

    吉祥物 各种版本-

  5. 步骤一:入门linux基础/01Linux简介和安装/001Linux基础

  6. Linux 基础介绍-基础命令

    文章目录 01 学习目标 02 Linux/Unix 操作系统简介 2.1 Linux 操作系统的目标 2.2 Linux 操作系统的作用 2.3 Unix 家族历史 2.4 Linux 家族历史 2 ...

  7. 无废话硬核分享:Linux 基础知识点总结很详细,全的很,吐血奉献

    Linux 的学习对于一个程序员的重要性是不言而喻的.前端开发相比后端开发,接触 Linux 机会相对较少,因此往往容易忽视它.但是学好它却是程序员必备修养之一. Linux 基础 操作系统 操作系统 ...

  8. 操作系统基础知识:操作系统简介、Windows简介、Linux简介

    文章目录 操作系统定义 操作系统主要功能 处理器管理 存储器管理 设备管理 文件管理 作业管理 操作系统分类 Windows 发展史 版本更新 Windows简易架构 特点 Linux 发展史 系统架 ...

  9. BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略

    BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...

最新文章

  1. 必看,61篇NeurIPS深度强化学习论文解读都这里了
  2. TensorFlow:将ckpt文件固化成pb文件
  3. SpringBoot学习笔记(一)整合Mybatis
  4. 大数据生态及其技术栈
  5. 基于threejs的商场楼层展示导航系统源码_便民措施再升级就诊无需问路!我院“智能导航系统”正式上线啦!...
  6. C++学习之路 | PTA(甲级)—— 1064 Complete Binary Search Tree (30分)(带注释)(精简)
  7. css-三种基本选择器
  8. ocr oracle,Oracle RAC备份和恢复OCR-Oracle
  9. matlab 拉普拉斯锐化函数_机器视觉 03.3 频域高通滤波(锐化)
  10. (60)Verilog HDL测试激励:复位激励1
  11. ZOJ 1094 带括号的矩阵连乘
  12. hutool-all 导入Excel 文件 学习笔记
  13. nginx location配置直接输出文本
  14. Mybatis常见的面试题
  15. 计算机如何格式化和重装系统,怎样格式化c盘重新安装系统_重装系统时如何格式化C盘...
  16. 洛夏墨迹测验(Rorschach Inkblot Test)
  17. Fastboot的使用简单教程
  18. deform服务器位置,Deform V11 自动多工步分析(MO)设置详解-工艺成型及仿真
  19. [再寄小读者之数学篇](2014-05-27 特征值估计)
  20. html网站上播放视屏代码

热门文章

  1. Map实现java缓存机制的简单实例
  2. 07_UI基础_UITableView实战- 支付宝口碑
  3. 3.13. Notepad++中Windows,Unix,Mac三种格式之间的转换
  4. UNIX环境编程学习笔记(25)——信号处理进阶学习之 sigaction 函数
  5. php 判断 多组,请教怎么有效判断几组数据范围是否有交集
  6. java 多线程状态_总结Java中线程的状态及多线程的实现方式
  7. unity发布android报错,Unity移动端入门 - Android那些事 /AAR包发布错误
  8. 上网课的心得体会1000字_上网课心得体会300字 上网课的心得体会
  9. 前端参数无法转为后端实体内部类_Java学到什么程度才能叫精通?
  10. 联想小新电脑dns服务器未响应,Lenovo Quick Fix 联想智能解决工具