精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:存儲技術專區 → 正文

如何用CICS存儲保護規避存儲重復占位段

責任編輯:vivian |來源:企業網D1Net  2011-12-14 09:25:30 本文摘自:比特網

大型機存儲重復占位段可使數據、CICS區域遭到破壞,或可能造成計劃外的初始化程序加載。CICS特別容易受到重復占位段破壞,因為它的結構分配程序和系統內存在一個地址空間,有效地繞過z/OS保護鎖,為了解決這個問題,IBM引入了三個功能,包括存儲保護,在本文中將解釋什么是存儲保護,以及如何用它規避存儲重復占位段。

大型機存儲保護

借助存儲保護,CICS通過將系統和用戶數據放入不同的鎖來使用z/OS存儲鎖保護,這種方法允許CICS系統把對讀編碼,并寫入用戶和系統存儲,相反,應用程序可以讀,但不能更新CICS存儲,即使可以隨意控制用戶存儲,因此,正確實現的應用程序重復占位段系統存儲會產生一個保護異常(0C4),而不會讓CICS當掉。

你可以通過將系統初始化參數STGPORT設為YES為某個區域開啟存儲保護,這個參數不是動態的,CICS必須返回開關狀態。

激活存儲保護時,一些事務和程序屬性變得非常重要,例如,對某個事務,TASKDATAKEY屬性指定CICS使用哪一個鎖保護該事務,包括EXEC Interface Block事務工作區。

程序屬性EXECKEY告訴CICS當它進入程序時使用哪一個存儲鎖。

存儲保護和上面的資源屬性使事情變得更復雜,例如,一個有TASKDATAKEY的CICS事務不能調用有EXECKEY的USER程序,因為程序不能寫任務存儲,幸虧CICS可以感知到,并殺掉事務。

注意:如果STGPORT被設為NO,TASKDATAKEY和EXECKEY都將無效。

應用程序變化

設置CICS參數是最容易的部分,更大的挑戰是找出并修復不能與大型機存儲保護功能一起工作的應用程序。

修改CICS數據區域的程序將不再受存儲保護的控制,一個好的源掃描工具和一串CICS數據區域將幫助你快速找到它們。

一旦發現,可以修改程序使用CICS廣泛的系統編程接口(SPI),如果沒有SPI命令,CICS就退出或替換可用的進程,有些人需要確定功能是否仍然需要。

程序可以調用操作系統服務進行內存管理,資源序列化或事件同步,這些服務可能在一個不正確的鎖中使用存儲,有些系統級代碼總是需要操作系統服務,大多數調用應該調整,以便使用CICS的應用程序編程接口(API)。

需要注意的是,這些很可能是匯編程序,面向高級語言的運行時庫通常是很智能的,當它們知道它們處于在線環境中時,它們可以調用CICS服務。

但是,對大多數其它程序而言,適宜采用暴力方法,這就需要打開存儲保護,運行一個應用程序,獲得dump數據,修復代碼再次嘗試,雖然這會撼動一些較突出的問題,但真正的存儲違反行為可能不會出現,除非進行壓力測試。

存儲保護的實現和局限性

商家可能會采用多個策略實現存儲保護,一個選擇可能是在開發和測試階段早期中斷保護,程序員然后促進模塊和代碼質量的提高,測試移動到開啟了存儲保 護的區域,捕捉余下的錯誤,理想情況下,存儲保護應該被關閉,假設所有重復占位段在開發期間全部被消除,但是,生產環境將產生程序員從來都沒想過的錯誤, 大多數系統程序員希望給生產區域提供一些保護措施。

還需要注意的是,大型機存儲保護不會捕捉到所有重復占位段,一個運行在用戶鎖中的事務可能會覆蓋其它事務的用戶鎖存儲,此外,程序可能覆蓋它自己或其它應用程序的代碼。

為了修復這個缺點,CICS引入了兩個額外的大型機存儲保護功能:

重新載入程序,進入類似于z/OS鏈路包區域的只讀存儲,需要注意的是,這并沒有聽起來那么簡單,某些程序可能會引起問題,因為它們修改了自己或靜態存儲區域,根據程序行為的不同,重載程序進行保護模式可能比實施存儲保護更困難。

事務隔離將分配給任務的存儲分解為子空間,模仿z/OS地址空間,確保每個任務有它自己的子空間,并保證它們不能寫其它任務的子空間,但是,事務隔離會引起大量的CPU開銷,CICS必須管理子空間開關,這又會引起額外的內存開銷,因為子空間有存儲邊界,需要分段。

關鍵字:存儲

本文摘自:比特網

x 如何用CICS存儲保護規避存儲重復占位段 掃一掃
分享本文到朋友圈
當前位置:存儲技術專區 → 正文

如何用CICS存儲保護規避存儲重復占位段

責任編輯:vivian |來源:企業網D1Net  2011-12-14 09:25:30 本文摘自:比特網

大型機存儲重復占位段可使數據、CICS區域遭到破壞,或可能造成計劃外的初始化程序加載。CICS特別容易受到重復占位段破壞,因為它的結構分配程序和系統內存在一個地址空間,有效地繞過z/OS保護鎖,為了解決這個問題,IBM引入了三個功能,包括存儲保護,在本文中將解釋什么是存儲保護,以及如何用它規避存儲重復占位段。

大型機存儲保護

借助存儲保護,CICS通過將系統和用戶數據放入不同的鎖來使用z/OS存儲鎖保護,這種方法允許CICS系統把對讀編碼,并寫入用戶和系統存儲,相反,應用程序可以讀,但不能更新CICS存儲,即使可以隨意控制用戶存儲,因此,正確實現的應用程序重復占位段系統存儲會產生一個保護異常(0C4),而不會讓CICS當掉。

你可以通過將系統初始化參數STGPORT設為YES為某個區域開啟存儲保護,這個參數不是動態的,CICS必須返回開關狀態。

激活存儲保護時,一些事務和程序屬性變得非常重要,例如,對某個事務,TASKDATAKEY屬性指定CICS使用哪一個鎖保護該事務,包括EXEC Interface Block事務工作區。

程序屬性EXECKEY告訴CICS當它進入程序時使用哪一個存儲鎖。

存儲保護和上面的資源屬性使事情變得更復雜,例如,一個有TASKDATAKEY的CICS事務不能調用有EXECKEY的USER程序,因為程序不能寫任務存儲,幸虧CICS可以感知到,并殺掉事務。

注意:如果STGPORT被設為NO,TASKDATAKEY和EXECKEY都將無效。

應用程序變化

設置CICS參數是最容易的部分,更大的挑戰是找出并修復不能與大型機存儲保護功能一起工作的應用程序。

修改CICS數據區域的程序將不再受存儲保護的控制,一個好的源掃描工具和一串CICS數據區域將幫助你快速找到它們。

一旦發現,可以修改程序使用CICS廣泛的系統編程接口(SPI),如果沒有SPI命令,CICS就退出或替換可用的進程,有些人需要確定功能是否仍然需要。

程序可以調用操作系統服務進行內存管理,資源序列化或事件同步,這些服務可能在一個不正確的鎖中使用存儲,有些系統級代碼總是需要操作系統服務,大多數調用應該調整,以便使用CICS的應用程序編程接口(API)。

需要注意的是,這些很可能是匯編程序,面向高級語言的運行時庫通常是很智能的,當它們知道它們處于在線環境中時,它們可以調用CICS服務。

但是,對大多數其它程序而言,適宜采用暴力方法,這就需要打開存儲保護,運行一個應用程序,獲得dump數據,修復代碼再次嘗試,雖然這會撼動一些較突出的問題,但真正的存儲違反行為可能不會出現,除非進行壓力測試。

存儲保護的實現和局限性

商家可能會采用多個策略實現存儲保護,一個選擇可能是在開發和測試階段早期中斷保護,程序員然后促進模塊和代碼質量的提高,測試移動到開啟了存儲保 護的區域,捕捉余下的錯誤,理想情況下,存儲保護應該被關閉,假設所有重復占位段在開發期間全部被消除,但是,生產環境將產生程序員從來都沒想過的錯誤, 大多數系統程序員希望給生產區域提供一些保護措施。

還需要注意的是,大型機存儲保護不會捕捉到所有重復占位段,一個運行在用戶鎖中的事務可能會覆蓋其它事務的用戶鎖存儲,此外,程序可能覆蓋它自己或其它應用程序的代碼。

為了修復這個缺點,CICS引入了兩個額外的大型機存儲保護功能:

重新載入程序,進入類似于z/OS鏈路包區域的只讀存儲,需要注意的是,這并沒有聽起來那么簡單,某些程序可能會引起問題,因為它們修改了自己或靜態存儲區域,根據程序行為的不同,重載程序進行保護模式可能比實施存儲保護更困難。

事務隔離將分配給任務的存儲分解為子空間,模仿z/OS地址空間,確保每個任務有它自己的子空間,并保證它們不能寫其它任務的子空間,但是,事務隔離會引起大量的CPU開銷,CICS必須管理子空間開關,這又會引起額外的內存開銷,因為子空間有存儲邊界,需要分段。

關鍵字:存儲

本文摘自:比特網

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 定南县| 栾川县| 潮州市| 海阳市| 寻甸| 大埔县| 阿勒泰市| 大港区| 阿图什市| 屏东市| 广宗县| 南召县| 鄂州市| 平阴县| 福建省| 禹城市| 台南市| 潼关县| 民县| 谢通门县| 桂东县| 长宁区| 祁连县| 邯郸县| 白山市| 萍乡市| 资阳市| 和田市| 长宁县| 陆良县| 阳山县| 林周县| 黄梅县| 鄢陵县| 安图县| 增城市| 怀安县| 石台县| 黎川县| 临朐县| 前郭尔|