❶ linux中什麼是塊文件
實話,只了解一個文件不形象,找了一點資料。相互聯系的。希望對你有用。當然,裡面也有塊的解釋,而且說的還是不錯的。
系統中能夠隨機(不需要按順序)訪問固定大小數據片(chunks)的設備被稱作塊設備,這些數據片就稱作塊。最常
見的塊設備是硬碟,除此以外,還有軟盤驅動器、CD-ROM驅動器和快閃記憶體等等許多其他塊設備。注意,它們都是以安裝文件系統的方式使用的——這也是塊設備
的一般訪問方式。
另一種基本的設備類型是字元設備。字元設備按照字元流的方式被有序訪問,像串口和鍵盤就都屬於字元設備。如果一個硬體設備是以字元流的方式被訪問的話,那就應該將它歸於字元設備;反過來,如果一個設備是隨機(無序的)訪問的,那麼它就屬於塊設備。
這兩種類型的設備的根本區別在於它們是否可以被隨機訪問——換句話說就是,能否在訪問設備時隨意地從一個位置跳轉到另一個位置。舉
個例子,鍵盤這種設備提供的就是一個數據流,當你敲入「fox」
這個字元串時,鍵盤驅動程序會按照和輸入完全相同的順序返回這個由三個字元組成的數據流。如果讓鍵盤驅動程序打亂順序來讀字元串,或讀取其他字元,都是沒
有意義的。所以鍵盤就是一種典型的字元設備,它提供的就是用戶從鍵盤輸入的字元流。對鍵盤進行讀操作會得到一個字元流,首先是「f」,然後是「o」,最後
是「x」,最終是文件的結束(EOF)。當沒人敲鍵盤時,字元流就是空的。硬碟設備的情況就不大一樣了。硬碟設備的驅動可能要求讀取磁碟上任意塊的內容,
然後又轉去讀取別的塊的內容,而被讀取的塊在磁碟上位置不一定要連續,所以說硬碟可以被隨機訪問,而不是以流的方式被訪問,顯然它是一個塊設備。
內核管理塊設備要比管理字元設備細致得多,需要考慮的問題和完成的工作相比字元設備來說要復雜許多。這是因為字
符設備僅僅需要控制一個位置—當前位置—而塊設備訪問的位置必須能夠在介質的不同區間前後移動。所以事實上內核不必提供一個專門的子系統來管理字元設備,
但是對塊設備的管理卻必須要有一個專門的提供服務的子系統。不僅僅是因為塊設備的復雜性遠遠高於字元設備,更重要的原因是塊設備對執行性能的要求很高;對
硬碟每多一分利用都會對整個系統的性能帶來提升,其效果要遠遠比鍵盤吞吐速度成倍的提高大得多。另外,我們將會看到,塊設備的復雜性會為這種優化留下很大
的施展空間。
簡單來講,塊設備可以隨機存取,而字元設備不能隨機存取,那裸設備又該如何解釋呢?
難道裸設備,如磁碟裸設備也不能隨機讀取嗎?那在資料庫中用裸設備建一個2g的數據文件,為了存取最後一個數據塊,難道ORACLE還要把前面的所有數據塊都讀一遍,顯然不符合事實,如果這樣解釋呢,操作系統不能隨機讀取,並不意味著資料庫也不能隨機讀取。
塊設備通過系統緩存進行讀取,不是直接和物理磁碟讀取。字元設備可以直接物理磁碟讀取,不經過系統緩存。(如鍵盤,直接相應中斷)
❷ 請問這個西門子編程程序塊是什麼意思
CMP的意思就是比較;
==,相等;
R,實數/浮點數;
所以,CMP ==R的指令功能就是比較兩個實數是否相等。
根據上述指令的功能,描述如下:
當#L這個變數等於0.0時,#ZERO線圈接通(輸出)。
至於雙字整數,整數、實數的不同,屬於「數據格式」的內容,你需要再好好地了解這方面的知識。
❸ 什麼是程序塊
程序塊結構(program block struction)
是一種程序結構形式。
這種結構將整個程序分成若干個信息塊或子程序塊。
使程序變得清晰,便於閱讀和修改。
❹ C語言的程序塊 是什麼
通常指一個函數
❺ step 7 程序塊是什麼入門說明裡我沒看懂····誰能給我解釋解釋
所謂程序塊 顧名思義就是一段段程序。
STEP7裡面的塊分很多類型,最常用的幾個是:
組織塊(OB),OB是最頂層的模塊,PLC在執行程序的時候,依據每一個OB的內容開始執行的。每一個特定編號的OB具有特定的功能,例如: OB1是 程序的主體循環。 OB100 是PLC每次重啟的時候執行的模塊。
功能(FC),FC是用戶最常用的自定義模塊,可以相當於高級語言(如C)裡面的「函數」,FC可以有輸入和輸出參數,可以在OB裡面調用(使用CALL 代碼) FC的編號可以任意指定,沒有特殊性。
數據塊(DB),DB是共享數據塊。其作用是分配一塊共享的數據空間,供程序使用。
❻ 西門子 plc主程序塊和子程序塊有什麼區別
在西門子plc200中,程序是先運行主程序的,在主程序里如果遇到調用子程序的指令時,如果該指令被激活那麼就跳到子程序運行裡面的程序,主程序停止運行,在plc300中,一般OB1為主程序,其他的都可以認為子程序,在主程序OB1中調用各種FC,SFC,還有OB塊等等
❼ 什麼是ORACLE程序塊
舉個例子給你說明吧:
1.編寫PL程序塊循環給scott.emp表中所有職工增加工資,每次增加100元,直到平均工資高於5000或任一職工的工資超過6000元為止,最後顯示出給所有員工一共增加了多少工資。
2.編寫一個PL塊,定義一個靜態游標存儲scott.emp表中所有雇員的員empno、ename和sal,並使用循環列印出所有數據。
3.編寫一個存儲過程comSalary,分別統計儲scott.emp表中所有部門的平均工資,並且只顯示出工資超過3500的部門。並編寫pl塊調用此存儲過程。
1.
declare
avg_sal number;
max_sal number;
i integer;
begin
i:=0;
loop
select avg(sal),max(sal) into avg_sal,max_sal from emp;
if avg_sal<=5000 and max_sal<=6000 then
update emp set sal=sal+100;
i:=i+1;
else
exit;
end if;
end loop;
commit;
dbms_output.put_line('共增加工資:'||to_char(i*100));
end;
2.
declare
cursor c1 is select empno,ename,sal from emp;
begin
for acct in c1 loop
dbms_output.put_line('員工號:'||acct.empno||' 員工姓名:'||acct.ename||' 工資:'||acct.sal);
end loop;
end;
3.
create or replace procere comSalary
as
cursor c1 is
select deptno,avg(sal) avg1 from emp group by deptno;
begin
for acct in c1 loop
if acct.avg1 > 3500 then
dbms_output.put_line('部門:'||acct.deptno||' 工資:'||acct.avg1);
end if;
end loop;
end;
其實Oracle程序塊,是基於oracle編程的范疇,相當於本來希望通過用其他語言寫程序對oracle資料庫進行操作的功能,直接放在oracle資料庫內部去執行了一樣。可以跟存儲過程一樣理解。
❽ 什麼是C語言局部程序塊
並沒有聽說過這個概念
不過 C中,一般把一個{}裡面的 都可以稱為一個程序塊
最常見的 是以一個函數作為一個程序塊。