操作系统基础

内核:keneral(协调器)

内核本身就负责管理硬件资源 并且把硬件资源虚拟成其他样子 停工给上层所需要的应用程序。

why?

假如某一个程序直接运行在硬件上,他本身就会控制硬件的各种属性,其他程序要想在运行在硬件上,他们会产生干扰,所以需要一个统一的资源管理者(keneral)

并且内核不会让程序直接访问内核,而是通过系统调用去给程序。而系统调用非常底层,非常麻烦。

假如一个程序需要一个打印功能,还需要在程序里写一个打印模块,这样会导致系统模块的重复,软件程序的臃肿。因此我们又用到了库(libary),他也是应用程序,只不过没有独立入口 只能被别的程序调用。简称应用编程接口(api)


程序的两种调用

一种是直接在内核上运行的软件 (效率高)

一种是在库上运行的软件(编写简单 需要调用库 效率不如前者)


程序两种

随系统自动启动(服务) 微系统提供基本功能 

手动启动(交互程序)按需启动


当敲击一个键盘首字母时首先是传到cpu的,但cpu不知道字母含义,需要靠内核去解析。内核在转交给对应的应用程序。这就是程序的执行过程。


操作系统本事就是一个程序,也需要指令和数据 他们都放在内存(存储器中) 所以存储器中既有内核也有应用程序。假如有一个恶意程序可以直接修改和内核交互,直接修改内核,则系统稳定性无从保证。


所以存储器(内存)中是分成三段的 keneral跟应用程序是严格隔离的  自检 内核空间 程序空间


但这样的内存机制是很容易产生内存碎片的


怎么能够指挥计算机去启动某个程序接受命令?这就需要shell(壳)这个应用程序。整个操作系统的外壳。


shell能够实现接受用户指令理解用户的命令,并且把它传递给内核,由内核指挥着某个应用程序启动的界面。


shell将用户的指挥行为翻译成计算机(内核)可以理解的命令。没有shell无法跟计算机交互。


shell两种接口 图形用户界面 命令行接口


内核的功能:

进程管理(协调各个进程) 内存管理 提供文件系统  提供网络功能  提供硬件驱动 安全机制等等



----by 2014年9月23日10:45:44



你可能感兴趣的:(操作系统,应用程序,存储器,管理者,软件程序)