多线程和虚拟内存系统

时间:2013-12-07 04:52:27

标签: java multithreading memory-management operating-system virtual-memory

我正在尝试建模虚拟内存系统。我想要做的是使用多线程模拟多个并发用户进程。

我将通过命令行接收:页面大小(字节为整数),每个进程在模拟逻辑内存中获取的页数,相应模拟物理内存中的帧数,数量模拟的总进程数,以及每个进程的实际逻辑地址(文本文件中包含的任意内容)。

我想与我的问题主要相关的是如何在输入上创建n个线程并填充每个线程的逻辑地址数组。我正在阅读多线程但有点挣扎。

我正在尝试使用此线程代码:

class Proccess implements Runnable {
       Thread t;
       List<Integer> addresses = new ArrayList<>();

       Proccess(String pNum) {
          t = new Thread(this, pNum);
          System.out.println("Child " + t.getName());
          t.start();
       }


       public void run() {
          try {
            //Is this where I want to fill in the addresses list? 
            //I will be reading in a file to do this. Each
            //file is unique for each individual process
            //so I don't have to worry about multiple processes
            //accessing the same file. 
         } catch (InterruptedException e) {
             System.out.println("Interrupted.");
         }
         System.out.println(".");
       }
}

每个流程也都有自己的页面表,我愿意接受有关如何有效添加/维护它的建议。

这不是针对学校的,所以我没有必要遵循的规范。

0 个答案:

没有答案