內存分配應該注意什么?
為了便于內存分配,通常將分區按大小進行排隊,并為之建立一張分區使用表,其中各表項包括每個分區的起始地址、大小及狀態(是否已分配)。當有一用戶程序要裝入時,由內存分配程序檢索該表,從中找出一個能滿足要求的、尚未分配的分區,將之分配給該程序,然后將該表項中的狀態置為“已分配” ;若未找到大小足夠的分區,則拒絕為該用戶程序分配內存。
內存的單一連續分配都有什么?
這是最簡單的一種存儲管理方式,但只能用于單用戶、單任務的操作系統中。采用這種存儲管理方式時,可把內存分為系統區和用戶區兩部分,系統區僅提供給 OS 使用,通常是放在內存的低址部分;用戶區是指除系統區以外的全部內存空間,提供給用戶使用。雖然在早期的單用戶、單任務操作系統中,有不少都配置了存儲器保護機構,用于防止用戶程序對操作系統的破壞, 但近年來常見的幾種單用戶操作系統中, 如 CP/M、 MS-DOS及 RT11 等,都未采取存儲器保護措施。這是因為,一方面可以節省硬件,另一方面也因為這是可行的。在單用戶環境下,機器由一用戶獨占,不可能存在其他用戶干擾的問題;這時可能出現的破壞行為也只是用戶程序自己去破壞操作系統,其后果并不嚴重,只是會影響該用戶程序的運行,且操作系統也很容易通過系統的再啟動而重新裝入內存。