“我们可以使用计时器来防止用户程序运行太长时间。 一种简单的技术是使用a的时间量初始化计数器 允许程序运行。例如,具有7分钟时间限制的程序 将其计数器初始化为420.每秒钟,计时器中断, 并且计数器减1.只要计数器为正,控制 返回给用户程序。当计数器变为负数时, 操作系统终止程序超过指定的时间 极限“。
从这一段开始,我无法理解一些用户程序(如Windows上的应用程序)如何在用户关闭之前连续运行。这些应用程序没有时间限制吗?
答案 0 :(得分:1)
典型的edsktop OS不会强加时间配额。
您描述的计时机制不适用于除了琐碎的嵌入式应用程序之外的任何内容。现代多任务操作系统具有更加结构化和高效的计时机制。
如果许多应用程序在它们之间运行1000个计时器,那么连续倒计时1000个计数器将是浪费和毫无意义的 - 只需要倒计时一个值 - 具有最接近的(按时间顺序)超时时间的值。
Windows应用程序在内部为自己设置“生命周期”相当容易,但是AFAIK在操作系统中没有特定的生命周期属性。