TWI524274B - Quickly switch the operating system - Google Patents

Quickly switch the operating system Download PDF

Info

Publication number
TWI524274B
TWI524274B TW100100246A TW100100246A TWI524274B TW I524274 B TWI524274 B TW I524274B TW 100100246 A TW100100246 A TW 100100246A TW 100100246 A TW100100246 A TW 100100246A TW I524274 B TWI524274 B TW I524274B
Authority
TW
Taiwan
Prior art keywords
operating system
memory
bios
area
exclusive
Prior art date
Application number
TW100100246A
Other languages
English (en)
Other versions
TW201229901A (en
Inventor
Nai-Yi Su
Original Assignee
Insyde Software Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Insyde Software Corp filed Critical Insyde Software Corp
Priority to TW100100246A priority Critical patent/TWI524274B/zh
Publication of TW201229901A publication Critical patent/TW201229901A/zh
Application granted granted Critical
Publication of TWI524274B publication Critical patent/TWI524274B/zh

Links

Landscapes

  • Stored Programmes (AREA)

Description

快速切換作業系統之方法
本發明係有關於一種快速切換作業系統之方法,特別有關於一種利用BIOS(Basic Input Output System,基本輸入輸出系統)在維持目前工作狀態下快速切換作業系統之方法。
目前市面上的作業系統有很多種,其中Linux以及微軟Windows為大多數人所使用。許多使用者想在一電腦上同時使用兩種不同的作業系統,而且使用者想要在維持原本工作狀態的作業系統切換至另一個作業系統,一種選擇是安裝虛擬作業系統程式,但建構於虛擬程式之作業系統無法完全的利用到硬體系統資源,造成另一作業系統在操作上困擾;另一種選擇則需要將其中一個作業系統的資料先存入儲存裝置中,並利用系統重啟(Restart)或進入休眠(Hibernation)的方法來達成目的,但此方法不僅麻煩又耗時。
本發明提供一種快速切換作業系統之方法,其讓使用者不需將操作中作業系統之工作狀態存入儲存裝置的情況下,利用讓系統使操作中作業系統進入待命模式的方式而來切換到另外一個作業系統,由於系統記憶體在進入待命模式時記憶體資料不會流失,可快速地切換到另一個作業系統,並依使用者的需求切換多個不同的作業系統。
本發明之第一態樣係提供一種快速切換作業系統之方法,其將第一作業系統切換至第二作業系統,由一電腦執行下列步驟:由第一作業系統使用一共用區及專屬第一作業系統所使用之作業系統專屬區之記憶體以存取資料及執行命令;在第一作業系統之程序中,觸發作業系統之切換,由BIOS執行第一作業系統進入待命模式之程序;將該共用區之記憶體中之第一作業系統之傳統記憶體資料、喚醒起始位址及第一作業系統備份資料儲存於一暫存區之記憶體中;將第一作業系統進入待命模式;由BIOS將該電腦之系統的硬體設定回復至第一次開機之狀態;由BIOS指定該共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體以供第二作業系統使用;以及完成BIOS開機程序,進入第二作業系統之程序,第二作業系統使用該共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體。
根據本發明之第一態樣之方法,更包含下列步驟:在BIOS第一次開機階段設定該電腦之系統的硬體,將該電腦之記憶體分成該共用區、複數個作業系統專屬區及該暫存區; 由BIOS指定該共用區及專屬第一作業系統所使用之作業系統專屬區之記憶體以供第一作業系統使用;以及完成BIOS開機程序,進入第一作業系統之程序。
根據本發明之第一態樣之方法,其中,該暫存區之記憶體的容量大於或等於(N-1)個該共用區之記憶體的容量,而N為該電腦使用不同作業系統之數量。
本發明之第二態樣係提供一種快速切換作業系統之方法,其將第二作業系統切換至第一作業系統,由一電腦執行下列步驟:由第二作業系統使用一共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體以存取資料及執行命令;在第二作業系統之程序中,觸發作業系統之切換,由BIOS執行第二作業系統進入待命模式之程序;將該共用區之記憶體中之第二作業系統之傳統記憶體資料、操作起始位址及第二作業系統備份資料儲存於一暫存區之記憶體中,第二作業系統之該等資料儲存於該暫存區之記憶體之位址不同於第一作業系統之該等資料儲存於該暫存區之記憶體之位址;將第二作業系統進入待命模式;由BIOS將該電腦之系統的硬體設定回復至第一次開機之狀態;由BIOS指定該共用區及專屬第一作業系統所使用之作業 系統專屬區之記憶體以供第一作業系統使用;由BIOS將於該暫存區之記憶體中之第一作業系統之傳統記憶體資料、喚醒起始位址及第一作業系統備份資料儲存於該共用區之記憶體中;以及完成BIOS開機程序,第一作業系統回復於觸發作業系統之切換前之狀態。
根據本發明之第二態樣之方法,更包含下列步驟:由BIOS再一次開機階段設定該電腦之系統的硬體以回復至第一次開機之狀態,而將該電腦之記憶體分成該共用區、複數個作業系統專屬區及該暫存區,其中第一作業系統已進入待命模式,第一作業系統之傳統記憶體資料、喚醒起始位址及第一作業系統備份資料已儲存於該暫存區之記憶體中;由BIOS指定該共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體以供第二作業系統使用;以及完成BIOS開機程序,進入第二作業系統之程序。
根據本發明之第二態樣之方法,其中,該暫存區之記憶體的容量大於或等於(N-1)個該共用區之記憶體的容量,而N為該電腦使用不同作業系統之數量。
參考以下附圖以說明本發明之較佳實施例。
圖1為本發明之快速切換作業系統之方法之流程圖。在圖1中,在開啟電腦的電源後,BIOS執行開機程序,例如對 各系統測試及初始設定電腦各硬體裝置,亦即POST(POST,Power On Self Test,電源啟動自我檢測)程式。
在打開電源或重新啟動電腦時,電腦將會啟動存放在BIOS中的POST程序,POST主要的工作是負責對電腦各硬體設備做好初始設定與基本測試工作,以保證電腦能正常運作。例如確認實體記憶體(RAM)大小及硬體組件,例如,硬碟、鍵盤、顯示器、磁碟機、Serial Port、系統時間等,檢查這些設備是否存在或可否運作。一旦BIOS執行完自己的POST程序之後,其它裝在電腦中自定有自己BIOS的介面卡(例如,顯示卡)也會執行其自定的POST工作程序。
在完成POST程序後,BIOS會將位於開機硬碟中的啟動程式載入記憶體中執行,此時BIOS也就將執行權交給電腦系統的開機程序而開始執行作業系統之程序。
為了能使電腦執行數個不同作業系統,BIOS在第一次開機階段設定電腦系統的硬體,並將電腦之記憶體分成數個區域(步驟S20),如圖2為本發明之記憶體分成數個區域之示意圖所示。在圖2中,記憶體10分成共用區12、第一作業系統專屬區14、第二作業系統專屬區16及暫存區18,本實施例係以在一電腦操作兩個不同作業系統作為說明,然而該說明並非限制本發明之方法,本實施例可適用於一電腦操作三個或以上之不同作業系統。
共用區12之記憶體容量視第一作業系統及第二作業系統 存取傳統記憶體資料所需之最大容量而定。第一作業系統專屬區14及第二作業系統專屬區16之記憶體容量分別視第一作業系統及第二作業系統存取系統資料所需之容量而定。暫存區18之記憶體容量大於或等於(N-1)個共用區12之記憶體容量,而N為電腦使用不同作業系統之數量,例如有二個不同作業系統,暫存區18之記憶體容量大於或等於(2-1=1)個共用區12之記憶體容量,例如有三個不同作業系統,暫存區18之記憶體容量大於或等於(3-1=2)個共用區12之記憶體容量,以此類推。
接著,由BIOS指定共用區12及第一作業系統專屬區14之記憶體區域以供第一作業系統存取資料及執行命令之用(步驟S22)。在完成BIOS開機程序後,電腦系統執行第一作業系統,進入第一作業系統之程序,由第一作業系統使用共用區12及第一作業系統專屬區14之記憶體區域以存取資料及執行命令(步驟S24)。
在第一作業系統之程序中,發生將第一作業系統切換至第二作業系統之觸發事件(例如,hotkey、timer、軟體觸發等)時,由BIOS執行第一作業系統進入待命模式(Suspend to RAM,ACPI(Advance Configuration and Power Interface,高階配置電源管理介面)S3)之程序(步驟S26)。
其中,ACPI的電源管理特性從以前只適用行動式電腦(例如膝上型電腦)到一般桌上型電腦、工作站和伺服器皆有應 用。例如,系統可能會進入極低功率消耗狀態。這些就是可利用在多數桌上型電腦上的「睡眠」和「休眠」設定。
ACPI S3:在BIOS中叫做「掛到內部記憶體(Suspend to RAM/STR)」,在Windows XP以後的Windows版本和一些Linux發行版中叫做「待命(Standby)」,在Windows Vista和Mac OS X則叫做「睡眠(Sleep)」,雖然ACPI規範僅僅提到術語「S3」和「睡眠(Sleep)」。在這個狀態下,主記憶體(RAM)仍然有電源供給,儘管它也是幾乎唯一的有電源供給的裝置。因為作業系統、所有應用程式和被開啟的檔案等等的狀態都是保存在主記憶體中,使用者可以把工作恢復到正好上次他們保持的狀態,即電腦從S3狀態回來時主記憶體的內容和它進入S3狀態時候的內容是相同的。如此來說S3有兩個好處:電腦恢復的過程比重新開機要快,第二,如果任何正在執行的應用程式(被開啟的檔案等等)有資料存在記憶體中,這些資料是不會被寫到硬碟上的。
BIOS在執行第一作業系統進入待命模式之程序時,BOIS將共用區12之記憶體中之第一作業系統之傳統記憶體資料(如檔案資料等)、喚醒起始位址(FACS(Firmware ACPI Control Structure,韌體ACPI控制結構)Waking Vector)及第一作業系統備份資料等儲存於暫存區18之記憶體區域中(步驟S28)。
FACS係為讀寫內部記憶體中的一種結構,BIOS用它來 實作韌體和OS之間的資訊交換(handshaking)。透過FADT(Fixed ACPI Description Table,固定ACPI描述表),FACS被轉到相容ACPI的作業系統中。FACS包含上次啟動時的系統硬體簽名,韌體喚醒向量(firmware waking vector)及Global Lock。
接著,BIOS將第一作業系統進入待命模式(步驟S30),電腦僅提供電源給記憶體10。
然後,由BIOS將電腦之各系統的硬體設定回復至第一次開機時之狀態(步驟S32)。在此階段雖然是BIOS之開機程序,但無需對電腦之各系統的硬體進行測試,如此可節省大量的BOIS階段之開機時間。
在BIOS開機階段,由BIOS指定共用區12及第二作業系統專屬區16之記憶體區域以供第二作業系統使用(步驟S34)。在完成上述步驟S32、S34之BIOS開機程序後,電腦系統執行第二作業系統,進入第二作業系統之程序,由第二作業系統使用共用區12及第二作業系統專屬區16之記憶體區域以存取資料及執行命令(步驟S36)。
在第二作業系統之程序中,發生將第二作業系統切換至第一作業系統之觸發事件(例如,hotkey、timer、軟體觸發等)時,如同上述,由BIOS執行第二作業系統進入待命模式(Suspend to RAM,ACPI S3)之程序(步驟S38)。
BIOS在執行第二作業系統進入待命模式之程序時,BOIS 將共用區12之記憶體區域中之第二作業系統之傳統記憶體資料(如檔案資料等)、喚醒起始位址(FACS Waking Vector)及第二作業系統備份資料等儲存於暫存區18之記憶體區域中(步驟S40)。其中,第二作業系統之該等資料儲存於暫存區18之記憶體區域之位址係不同於第一作業系統之該等資料儲存於暫存區18之記憶體區域之位址,以避免第二作業系統之該等資料覆蓋掉第一作業系統之該等資料,導致在喚醒第一作業系統時因第一作業系統的資料遺失而喚醒程序失敗。
接著,BIOS將第二作業系統進入待命模式(步驟S42),電腦僅提供電源給記憶體10。然後,由BIOS將電腦之各系統的硬體設定回復至第一次開機時之狀態(步驟S44)。
在BIOS開機階段,由BIOS指定共用區12及第一作業系統專屬區14之記憶體區域以供第一作業系統使用(步驟S46)。由BIOS將第一作業系統進入待命模式前儲存於暫存區18之記憶體區域中之第一作業系統之傳統記憶體資料、操作起始位址及第一作業系統備份資料儲存回共用區12之記憶體區域中(步驟S48)。
在完成上述步驟S44、S46、S48之BIOS開機程序後,電腦系統根據儲存回共用區12之記憶體區域中之第一作業系統之傳統記憶體資料、操作起始位址及第一作業系統備份資料,以執行喚醒第一作業系統之程序,進入第一作業系統之 程序,由第一作業系統使用共用區12及第一作業系統專屬區14之記憶體區域,使第一作業系統回復到在觸發作業系統之切換前之狀態來存取資料及執行命令(步驟S50)。
本實施例雖然以兩個不同作業系統操作於一電腦上作為說明,但並非用以限制本發明,只要電腦之記憶體容量足夠大,電腦可同時操作在三個或以上不同作業系統,而將圖2之記憶體10分割為三個或以上作業系統專屬區,而暫存區的容量為等於或大於(N-1)個共用區的容量,其中N為3或以上。而電腦同時操作三個或以上不同作業系統之方法如同上述圖1所述之流程步驟,並無太大差別。
本發明之優點係提供一種快速切換作業系統之方法,其讓使用者不需將操作中作業系統之工作狀態存入儲存裝置的情況下,利用讓系統使操作中作業系統進入待命模式的方式而來切換到另外一個作業系統,由於系統記憶體在進入待命模式時記憶體資料不會流失,可快速地切換到另一個作業系統,並依使用者的需求切換多個不同的作業系統。
雖然本發明已參照較佳具體例及舉例性附圖敘述如上,惟其應不被視為係限制性者。熟悉本技藝者對其形態及具體例之內容做各種修改、省略及變化,均不離開本發明之範圍。
10‧‧‧記憶體
12‧‧‧共用區
14‧‧‧第一作業系統專屬區
16‧‧‧第二作業系統專屬區
18‧‧‧暫存區
S20‧‧‧設定步驟
S22‧‧‧指定步驟
S24‧‧‧進入步驟
S26‧‧‧切換步驟
S28‧‧‧儲存步驟
S30‧‧‧待命步驟
S32‧‧‧設定步驟
S34‧‧‧指定步驟
S36‧‧‧進入步驟
S38‧‧‧切換步驟
S40‧‧‧儲存步驟
S42‧‧‧待命步驟
S44‧‧‧設定步驟
S46‧‧‧指定步驟
S48‧‧‧回存步驟
S50‧‧‧回復步驟
圖1為本發明之快速切換作業系統之方法之流程圖;以及圖2為本發明之記憶體分成數個區域之示意圖。
S20‧‧‧設定步驟
S22‧‧‧指定步驟
S24‧‧‧進入步驟
S26‧‧‧切換步驟
S28‧‧‧儲存步驟
S30‧‧‧待命步驟
S32‧‧‧設定步驟
S34‧‧‧指定步驟
S36‧‧‧進入步驟
S38‧‧‧切換步驟
S40‧‧‧儲存步驟
S42‧‧‧待命步驟
S44‧‧‧設定步驟
S46‧‧‧指定步驟
S48‧‧‧回存步驟
S50‧‧‧回復步驟

Claims (6)

  1. 一種快速切換作業系統之方法,其將第一作業系統切換至第二作業系統,由一電腦執行下列步驟:由第一作業系統使用一共用區及專屬第一作業系統所使用之作業系統專屬區之記憶體以存取資料及執行命令;在第一作業系統之程序中,觸發作業系統之切換,由BIOS以一高階配置電源管理介面之S3程序執行第一作業系統進入待命模式之程序;將該共用區之記憶體中之第一作業系統之傳統記憶體資料、喚醒起始位址及第一作業系統備份資料儲存於一暫存區之記憶體中;將第一作業系統進入待命模式;由BIOS將該電腦之系統的硬體設定回復至第一次開機之狀態;由BIOS指定該共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體以供第二作業系統使用;以及完成BIOS開機程序,進入第二作業系統之程序,第二作業系統使用該共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體。
  2. 如申請專利範圍第1項之方法,更包含下列步驟:在BIOS第一次開機階段設定該電腦之系統的硬體,將該電腦之記憶體分成該共用區、複數個作業系統專屬區及 該暫存區;由BIOS指定該共用區及專屬第一作業系統所使用之作業系統專屬區之記憶體以供第一作業系統使用;以及完成BIOS開機程序,進入第一作業系統之程序。
  3. 如申請專利範圍第1項之方法,其中,該暫存區之記憶體的容量大於或等於(N-1)個該共用區之記憶體的容量,而N為該電腦使用不同作業系統之數量。
  4. 一種快速切換作業系統之方法,其將第二作業系統切換至第一作業系統,由一電腦執行下列步驟:由第二作業系統使用一共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體以存取資料及執行命令;在第二作業系統之程序中,觸發作業系統之切換,由BIOS以一高階配置電源管理介面之S3程序執行第二作業系統進入待命模式之程序;將該共用區之記憶體中之第二作業系統之傳統記憶體資料、操作起始位址及第二作業系統備份資料儲存於一暫存區之記憶體中,第二作業系統之該等資料儲存於該暫存區之記憶體之位址不同於第一作業系統之該等資料儲存於該暫存區之記憶體之位址;將第二作業系統進入待命模式;由BIOS將該電腦之系統的硬體設定回復至第一次開機之狀態; 由BIOS指定該共用區及專屬第一作業系統所使用之作業系統專屬區之記憶體以供第一作業系統使用;由BIOS將於該暫存區之記憶體中之第一作業系統之傳統記憶體資料、喚醒起始位址及第一作業系統備份資料儲存於該共用區之記憶體中;以及完成BIOS開機程序,第一作業系統回復於觸發作業系統之切換前之狀態。
  5. 如申請專利範圍第4項之方法,更包含下列步驟:由BIOS再一次開機階段設定該電腦之系統的硬體以回復至第一次開機之狀態,而將該電腦之記憶體分成該共用區、複數個作業系統專屬區及該暫存區,其中第一作業系統已進入待命模式,第一作業系統之傳統記憶體資料、喚醒起始位址及第一作業系統備份資料已儲存於該暫存區之記憶體中;由BIOS指定該共用區及專屬第二作業系統所使用之作業系統專屬區之記憶體以供第二作業系統使用;以及完成BIOS開機程序,進入第二作業系統之程序。
  6. 如申請專利範圍第4項之方法,其中,該暫存區之記憶體的容量大於或等於(N-1)個該共用區之記憶體的容量,而N為該電腦使用不同作業系統之數量。
TW100100246A 2011-01-05 2011-01-05 Quickly switch the operating system TWI524274B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW100100246A TWI524274B (zh) 2011-01-05 2011-01-05 Quickly switch the operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100100246A TWI524274B (zh) 2011-01-05 2011-01-05 Quickly switch the operating system

Publications (2)

Publication Number Publication Date
TW201229901A TW201229901A (en) 2012-07-16
TWI524274B true TWI524274B (zh) 2016-03-01

Family

ID=46934060

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100100246A TWI524274B (zh) 2011-01-05 2011-01-05 Quickly switch the operating system

Country Status (1)

Country Link
TW (1) TWI524274B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI767548B (zh) * 2021-02-02 2022-06-11 台灣積體電路製造股份有限公司 操作具有複數個作業系統之使用者裝置的方法及系統

Also Published As

Publication number Publication date
TW201229901A (en) 2012-07-16

Similar Documents

Publication Publication Date Title
EP2329365B1 (en) Turbo boot systems and methods
US7971081B2 (en) System and method for fast platform hibernate and resume
TWI528162B (zh) 電腦系統及其作業系統切換方法
EP2189901B1 (en) Method and system to enable fast platform restart
JP3777136B2 (ja) コンピュータ装置、データのデッドコピー方法、プログラム、コンピュータ装置の稼動方法
KR101518323B1 (ko) 하이브리드-셧다운 및 고속 시동 프로세스를 제공하기 위한 방법 및 시스템
US8082439B2 (en) Firmware modification in a computer system environment supporting operational state changes
US9098305B2 (en) Computer system and bootup and shutdown method thereof
US20190004818A1 (en) Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof
US8954800B1 (en) Recovery button for automatically entering recovery mode
TW201011525A (en) Method and controller for power management
US11314578B2 (en) Information handling system and method to detect and recover from spurious resets of PCIe devices
TWI534707B (zh) 電腦系統及其開關機方法
TW518461B (en) Method of synchronizing operating frequencies of processor and system RAM in power management process
TW201106271A (en) Method of switching different operating systems in computer
TWI807384B (zh) 儲存裝置
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
US7117334B2 (en) Dynamic node partitioning utilizing sleep state
TWI524274B (zh) Quickly switch the operating system
US20130275739A1 (en) Electronic apparatus, method of controlling the same, and computer-readable recording medium
TWI605332B (zh) 使用唯cpu重設的支援先進組態與電力介面(acpi)休眠狀態的方法及裝置
US20150317181A1 (en) Operating system switching method
WO2016018349A1 (en) Computing device with first and second operating systems
WO2018058717A1 (zh) 非易失性存储装置、方法、计算机系统及待机或休眠实现方法
JP5894044B2 (ja) ハイブリッド・ディスク・ドライブにデータを記憶する方法および携帯式コンピュータ