qq_43412960
2020-05-03 19:51
采纳率: 79.1%
浏览 157

这是一个关于操作系统的问题

操作系统负责对程序分配资源,我有几个疑问,分配资源是不是只是内存呢?
分配的内存多大,是由什么决定呢?
另外,我猜想了一下电脑会变卡的原因,因为操作系统让各个内存中的程序以时间片的形式运行,切换进程的过程,导致电脑卡顿,求解,我的思想对吗?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2020-05-03 22:00
    已采纳

    操作系统分配的资源不光是内存,还有cpu,各种外设。同时运行几个程序,谁优先级高,谁优先级低。同时几个程序都要打印,那么需要打印队列,还有网络等等。其中非常重要的是管理磁盘和文件。
    在windows问世以前,最流行的是dos操作系统。d(isk) os的意思是磁盘操作系统。可见磁盘管理的重要性。windows操作系统之所以叫windows,因为它一开始最重要的职责是管理了一个窗口化的可以重叠的图形界面。

    操作系统分配内存说的是物理内存,一个程序要使用多少内存,是这个程序本身决定的,这个内存是逻辑内存。比如你用c语言写
    int arr[100];
    int * p = (int *)malloc(sizeof(int) * 100);
    这些都会使用400个字节的内存。
    但是,这个内存对应究竟哪个物理内存地址,就是操作系统的事情。操作系统使得多个程序可以不相互干扰地使用同一个计算机的物理内存。
    你不用担心你arr这个内存会破坏另一个程序的内存。

    电脑的“卡”和“慢”是两个不同的概念。"卡"主要说的是计算机没有办法及时处理用户的响应。表现为用户试图通过键盘鼠标操作,电脑不响应。或者是电脑给出的输出反馈不及时,不连续。“卡”不一定是电脑的性能不行,也有设计的问题,也有网络或者外部的性能的干扰。

    应该来说,计算机的“卡”是一种超出设计者和使用者预期的“慢”。比如说,安装一个软件,或者转换一个视频,拷贝一个文件,让计算机做科学计算,很多很多场景,本身就是需要一个用户可以感知的时间的,但是只要计算机给出良好的反馈,没有用户会觉得有什么违和感。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题