大部分程序都是基于图-1.1表示的模型运行的:
图-1.1Q:操作系统存在的意义是什么?
A:
图-1.2当有多个用户操作的时候,若按图-1.2的方式对程序进行操作,很有可能会出现错误。因此,应当管理多用户对程序的操作,这就是操作系统其中的一个职责。
图-1.3,图-1.4有了操作系统后,得到的新的模型。
图-1.3操作系统(操作系统也叫内核)和普通程序一样,都是程序、都是运行在内存空间中。存放操作系统的内存空间叫系统空间,存放其它普通程序的内存空间叫用户空间(如图-1.3所示)。
图-1.4(图中的线表示内核提供的服务)从图-1.4中可以看到,程序要访问设备都是要经过操作系统(内核)的。程序如果要从键盘得到数据,必须向内核发出请求,若在显示器上显示结果,也要通过内核。
Q:系统编程和普通程序编程的区别是什么?
A:编写普通程序时可以认为,程序是直接连到键盘、显示器、磁盘等设备的,但在进行系统编程时,必须对系统的结构和工作方式有更深的了解,要知道内核提供哪些服务(系统调用),如何使用它们,系统有哪些资源和设备,不同的资源和设备该如何操作。
Q:Unix系统上可以多用户同时登陆到系统,那系统是怎么进行多用户管理的?
在登录过程中,当用户名和密码通过验证后,系统会启动一个叫shell的进程,然后把用户交给这个进程,由这个进程处理用户的请求。每个用户都有属于自己的shell进程。用户注销时,内核会结束所有分配给这个用户的进程。
图-1.5(用户登陆到系统的示意图)图-1.5中内核负责把用户的输入传给shell。
网友评论