03 2009 档案
摘要:previously on 零基础学习Liunx:
上一次讲到Unix的多任务处理。
7.计算机如何保证不同的进程之间互相独立运行?
内核调度器负责将不同的进程区分开,同时,操作系统也要保障各个进程在空间上隔离,这里的空间是指内存。如果不这样做,当一个程序中存在一个Bug时,可能会导致其他进程也崩溃,这不是我们希望看到的结果。操作系统解决这个问题的办法称之为内存管理。
每一个进程都需要 一块自己的内存空间,包括代码段以及数据段。数据段是绝对唯一的,但是代码段可能被运行相同代码的程序所共享。
每一个进程都需要 一块自己的内存空间,包括代码段以及数据段。数据段是绝对唯一的,但是代码段可能被运行相同代码的程序所共享。
8.虚拟内存
使用虚拟内存的原因是某些大型的程序可能不能全部装入现有的内存中,因为空间的限制。为了解决这个问题,Linux使用了虚拟内存 技术,它只将当前需要的代码和数据装入内存中,
阅读全文
摘要:previously on 零基础学习Liunx:
上一次写到init进程启动getty,getty启动通过login验证用户名以及密码,若正确,则启动shell。
4.当你从shell中运行某个program时,计算机在做什么?
shell是用户与系统内核之间进行交互的接口,shell与内核是通过"系统调用"来实现通信的。这样做的好处是可以在不同的情况下使用不同的shell。
在boot之后,计算机中有许多进程,它们等待相应的事件被触发。例如,网络数据包的到达。
内核就是这些进程之一。但是它是特殊的,因为它控制了其他的 用户进程,并且它是唯一可以直接访问硬件的进程。当用户进程需要访问这些硬件资源的时候,需要通过系统调用来实现。
阅读全文
摘要:都是很基础的东西,先从最基本的概念开始吧,有不正确的地方,请大家帮忙指出来。
由于水平有限,因此以参考网络上的文档为主。
1.计算机的基本概念
计算机的核心是处理器,其次是RAM(内存)。处理器和RAM 存在于主板上,在主板上还有许多其他的外设,例如CD-ROM,硬盘等。处理器无法“看见“这些外设,它通过Bus(总线:包括ISA总线,PCI总线,PCMCIA等)与这些外设进行通讯。有些外设有专用的控制器,有些没有(比如键盘,因为比较简单,自带控制器)。
下面举一个例子:
阅读全文

浙公网安备 33010602011771号