1 操作系统是一组程序,并且像其它程序一样由处理器执行,那么操作系统是一个进程吗?如果是,如果控制它?
2像windows/linux操作系统,开机后什么也不干,那么有什么进程在处理器里执行??最多去掉哪些进程?
3如果现有一个程序执行,那么这个进程和操作系统里的“系统进程”是怎么在处理器里轮流执行的?
------解决方案--------------------
1 操作系统是一组程序,并且像其它程序一样由处理器执行,那么操作系统是一个进程吗?如果是,如果控制它?
2像windows/linux操作系统,开机后什么也不干,那么有什么进程在处理器里执行??最多去掉哪些进程?
开机后,操作系统不会什么都不干吧?进程调度之一类的功能肯定是随时在跑(并不是CPU有这么智能,还是要靠操作系统来控制)。
进程在操作系统里运行。操作系统为进程的执行提供环境。
UI的这此子系统应该可以去掉吧.
3如果现有一个程序执行,那么这个进程和操作系统里的“系统进程”是怎么在处理器里轮流执行的?
显然,操作系统应该控制用户进程的执行,操作系统不会一直交出控制权的。
------解决方案--------------------
为什么不去看linux源代码?
1 操作系统是一组程序,并且像其它程序一样由处理器执行,那么操作系统是一个进程吗?如果是,如果控制它?
操作系统提供了一些基本的pc功能以及支持进程的运作:
提供基本pc功能多半是使用的进程设计;硬件层的封装可以说是进程,也可以说是一个程序。进程和程序不是一个层次的概念
2像windows/linux操作系统,开机后什么也不干,那么有什么进程在处理器里执行??最多去掉哪些进程?
可以只留个idle进程。什么也不干,可以说是死机。
3如果现有一个程序执行,那么这个进程和操作系统里的“系统进程”是怎么在处理器里轮流执行的?
多数系统是根据时钟和进程设计中的优先级来分配执行时间的。
------解决方案--------------------
- C/C++ code
1 操作系统是一组程序,并且像其它程序一样由处理器执行,那么操作系统是一个进程吗?如果是,如果控制它? 操作系统很多个进程! 2像windows/linux操作系统,开机后什么也不干,那么有什么进程在处理器里执行??最多去掉哪些进程? 比如说explorer.exe;//桌面进程 System Idle Process System …… 非system关键进程都可关闭! 3如果现有一个程序执行,那么这个进程和操作系统里的“系统进程”是怎么在处理器里轮流执行的? 有专门的进程调度@
------解决方案--------------------
------解决方案--------------------
版主提示:fetag同学回答得很好,楼主可以看一下
今晚无聊,多打点字消磨时间吧...
1、操作系统是一组程序,并且像其它程序一样由处理器执行,那么操作系统是一个进程吗?如果是,如果控制
它?
操作系统通常叫单任务或多任务。单任务的OS顾名思义,任务是顺序执行的,一个一个来,典型的像DOS,还有
早期的批处理系统,都是单任务的。
多任务的操作系统(不考虑CPU的多核机制哦),实际上每个时间点上,也是一个程序在跑,区别在于,多个任务
之间可以切换,比如A进程执行100ms,然后B进程执行100ms,就这样切换着执行,由于CPU切换的速度很快,所
以用户看来好像是多个程序同时在跑。
任务的管理是属于OS内核的进程管理部分的,进程管理部分会负责任务的创建、执行、调度、切换、终止等等操
作。
2、像windows/linux操作系统,开机后什么也不干,那么有什么进程在处理器里执行??最多去掉哪些进程?
OS不是什么都没干,而是干了很多幕后的工作,只是用户没看到罢了。典型的OS启动过程是这样的:
(1)按下电源键,执行BIOS里面固化的程序、执行硬件自检。
(2)加载boot-loader到内存的0x7C00处,开始执行。这里实际上加载的是一个可引导扇区,即boot部分,然后由
boot部分将loader部分,即OS的内核加载到内存中,然后把控制权交给内核。当然,也有的OS是多级引导的,不
仅限于boot和loader部分。之所以这样做,是因为可引导扇区有限制,最大不能超过512字节,而且必须以0xAA55
结尾,所以实际上能用的就510字节,很多初始化工作在这510字节里面不能做完,于是就有了loader部分。
(3)内核加载以后,就开始执行OS内核的模块了,像进程管理,内存管理,文件系统等等,执行完了这些操作,
内核才能完全控制计算器CPU,内存,磁盘硬件。
(4)如果某些外围设备驱动程序是以模块的形式存在的,会加载外围设备驱动程序。
(5)启动一些服务类的进程,这些进程实际上不属于内核,是内核之上的应用层程序。
(6)所有的进程都启动了,如果没有用户进程执行,除了系统的进程外,通常都会执行一个idle进程,这个进程
就和它的名字一样,就是个系统空闲进程,它实际上就是空耗CPU的,里面有可能就是维护一个计数器。
3、如果现有一个程序执行,那么这个进程和操作系统里的“系统进程”是怎么在处理器里轮流执行的?
首先,你要分清楚程序和进程的区别!程序是一组指令的集合,它是死的,是固定的;而进程是这组指令执行的
过程,它是动态的。
程序执行以后,在内存中就有它的进程了,通常由用户创建的进程优先级要低于系统进程的优先级,根据OS内核
的进程调度算法,会按照一定的规则来安排各个进程的执行顺序,执行时间等等,这个不用用户来关心,是OS内
核来实现的。详细的可以看看进程的调度算法,有N种,每种又都有自己的优缺点。
PS:如果对内核感兴趣,推荐看这本书《操作系统:设计与实现》(第三版),绝对的经典之作!
------解决方案--------------------
1 操作系统是一组程序,并且像其它程序一样由处理器执行,那么操作系统是一个进程吗?如果是,如果控制它?
一个程序可以有多个进程,但是一组程序很明显就不是一个进程撒,如何控制?有些进程你要修改内核了否则你没有办法修改的
2像windows/linux操作系统,开机后什么也不干,那么有什么进程在处理器里执行??最多去掉哪些进程?
至少有0号和1号进程在执行撒,因为系统要自举,需要管理系统就是守护进程
3如果现有一个程序执行,那么这个进程和操作系统里的“系统进程”是怎么在处理器里轮流执行的?
这个涉及到进程的调度了,linux里面有3中调度方式,1,SCHED_OTHER 分时调度策略,. 2,SCHED_FIFO实时调度策略,先到先服务. 3,SCHED_RR实时调度策略,时间片轮转.
如果你有时间的话看看Unix环境高级编程,有你想要的答案的