计算机本身就是一堆硬件,这些硬件中最核心的就是CPU(运算器,控制器) 和存储器设备。

为了能够实现计算机获取数据,数据的输入输出等等需要输入设备和输出设备。

计算机体系内部:主要是通过桥接接入当前系统,通过南桥连接。

为了尽可能地利用计算机的计算能力,所以需要同时运行多个程序,每一个程序运行起来以后就需要一个协调器,即内核。内核本身管理硬件资源,并把硬件资源虚拟成其它样子,提供给上层所需要的运营程序。为什么这样做?一个程序如果直接运行在硬件上,那么这个程序本身就可以控制硬件的各种属性,内核其他程序要再想运行在硬件上,那这些程序很可能会互相干扰,一个恶意的应用程序可能会导致其它程序通通退出。所以需要一个统一的资源管理者。而且任何一个应用程序要想使用硬件必须通过内核来完成。内核也不会让程序直接访问硬件,而是通过一种系统调用(system call)。但是系统调用是繁琐的,底层的,通过调用接口,库(library,API,application program interface)库本身没有接口调用,不能自己调用。

能够跟硬件交互的:内核,内核必须要能够运行在CPU上

为了系统的稳定性:必须有一种机制:把内核和隔离开来。有四个级别,0级别:内核。内存是分成三段:上电自检;内核(kernel space);程序共享;

执行过程:shell(shell为我们提供与计算机交互的条件)--敲键盘--CPU---内核(知道指令是由哪个进程发出来的)--应用程序

shell:GUI(graphic user interface)图形界面接口 CLI(command line)命令行接口

操作系统本身也是程序,需要运行,运行就需要指令和数据。指令数据放在哪?内存。

内核功能:进程管理;内存管理;文件系统;网络功能;硬件驱动;安全机制;

原先:批处理系统:jobs1$$$$jobs2$$$$

GE,Bell,MIT准备研发多用户,多任务                                                            用汇编语言在main frame上面研发。

Linux操作系统(一)的更多相关文章

  1. Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份

    前面有两篇文章,<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>和<Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份& ...

  2. Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份

    http://www.tektea.com/archives/2163.html. 在<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>文章中,我们介绍了使 ...

  3. 安装linux操作系统

    安装双操作系统; 1 0. 介绍: 1 1 实验环境: 2 2. 实验准备: 2 3.开始安装: 2 1 制作U盘启动工具: 2 2.安装LinuxOS. 3 2.1在windowOS中划分60G空间 ...

  4. 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9

    摘要: 安全防护:在Linux操作系统下备份恢复技术的应用  原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...

  5. 献给初学者:谈谈如何学习Linux操作系统

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329. 为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式 ...

  6. Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份

    这里我们讨论Linux操作系统的备份. 在生产环境,客户都会要求做全系统的数据备份,用于系统崩溃后的一种恢复手段.这其中就包含操作系统数据的备份恢复. 由于是生产环境,客户都会要求备份不中断业务,也就 ...

  7. 安装Kali Linux操作系统Kali Linux无线网络渗透

    安装Kali Linux操作系统Kali Linux无线网络渗透 Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版.在该操作系统中,自带了大 ...

  8. 使用 /proc 文件系统来访问 linux操作系统 内核的内容 && 虚拟文件系统vfs及proc详解

    http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/201304 ...

  9. linux 操作系统下c语言编程入门

    2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理  ...

  10. Linux操作系统基础(四)保护模式内存管理(2)【转】

    转自:http://blog.csdn.net/rosetta/article/details/8570681 Linux操作系统基础(四)保护模式内存管理(2) 转载请注明出处:http://blo ...

随机推荐

  1. v-bind的使用

    v-bind v-bind的引入 ​ 内容的绑定可以通过mustache语法,而属性的绑定往往需要通过v-bind 如动态绑定img的src属性 如动态绑定div的class属性 如动态绑定li元素的 ...

  2. Redis 存储对象信息是用 Hash 还是 String

    Redis 内部使用一个 RedisObject 对象来表示所有的 key 和 value,RedisObject 中的 type,则是代表一个 value 对象具体是何种数据类型,它包含字符串(St ...

  3. ecl函数的用法

    相关函数 fork, execle, execlp, execv, execve, execvp Windows下头文件 #include <process.h> Linux下头文件 #i ...

  4. Linux x86_64与i386区别之 —— 内存寻址

    毫无疑问,不管是32位,还是64位处理器,所有进程(执行的程序)都必须占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是 存放取自用户输入的数据等等.不过进程对这些内存的管理方式因内存用途不 ...

  5. UVa OJ 455 Periodic Strings

     Periodic Strings  A character string is said to have period k if it can be formed by concatenating ...

  6. 关于__new__和__call__的想法

    __new__和__call__很像,两个都是用来产生对象的 __new__用来产生的对象是'类',class 时触发(不是) __call__用来产生的对象是'对象',这种对象无法继续产生对象,但是 ...

  7. 3. java基础语法

    3.1 注释(理解) 注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要.Java中的 注释分为三种: 单行注释.单行注释的格式是使用//,从//开始至本行结尾 ...

  8. Handle详解

    首先通过一个函数启动一个服务器,只提供一个方法并返回Hello World!,当你在浏览器输入http://127.0.0.1:8080,就会看到Hello World. 对于http.ListenA ...

  9. centos 7 启动和关闭zabbix 服务

    systemctl start zabbix-server  启动服务端 systemctl stop zabbix-server  停止服务端 systemctl start zabbix-agen ...

  10. HEX与ASCII之间装换

    static const char bcd_ascll[20]={0x30,0x31,0x32,0x33,0x34, 0x35,0x36,0x37,0x38,0x39,                 ...