open Instr;; (** taille des pages *) let page_size = 10;; (** nombre de pages *) let page_number = 100;; (** taille de la table des pages *) let ptable_size = page_size / 2;; (** mémoire physique *) let memory = Array.create (page_number * page_size) 0;; (** exception de faute de page *) (** avec le numéro de page fautive *) exception Page_fault of int;; let get ptable address = if address < Array.length memory then memory.(address) else raise Segmentation_fault;; let set ptable address v = if address < Array.length memory then memory.(address) <- v else raise Segmentation_fault;; let used_page () = false;; type mode = UN | RW | COW let int_of_mode mode = match mode with UN -> 0 | RW -> 1 | COW -> 2 let mode_of_int i = match i with 0 -> UN | 1 -> RW | 2 -> COW | _ -> assert false;;