search

什麼是子程序和父程序

什麼是子程序和父程序

  子程序:指的是由另一程序所建立的程序。子程序繼承了對應的父程序的大部分屬性,在Unix中,子程序通常為系統呼叫fork的產物。子程序一開始就是父程序的副本,根據具體需要,子程序可以藉助exec呼叫來鏈式載入另一程式。一個程序可能下屬多個子程序,但最多隻能有1個父程序,某一程序沒有父程序,可知該程序由核心直接生成。在Unix與類Unix系統中,程序ID為1的程序是在系統引導階段由核心直接建立的,不會在系統執行過程中終止執行;對於其他無父程序的程序,是為在使用者空間完成各種後臺任務而執行的。在對應的父程序結束執行後,程序就會變成孤兒程序,會立即由init程序收養為其子程序。

  父程序:指已建立一個或多個子程序的程序。

父程序為什麼要建立子程序

  在程式設計時,某一個具體的功能模組可以透過函式或是執行緒等不同的形式來實現。對於同一程序而言,這些函式、執行緒都是存在於同一個地址空間下的,而且在執行時,大多隻對與其相關的一些資料進行處理。如果演算法存在某種錯誤,將有可能破壞與其同處一個地址空間的其他一些重要內容,這將造成比較嚴重的後果。為保護地址空間中的內容可以考慮將那些需要對地址空間中的資料進行訪問的操作部分放到另外一個程序的地址空間中執行,並且只允許其訪問原程序地址空間中的相關資料。具體的,可在程序中透過函式去建立一個子程序。

程序和執行緒的區別

  在開銷方面:每個程序都有獨立的程式碼和資料空間(程式上下文),程式之間的切換會有較大的開銷;執行緒可以看做輕量級的程序,同一類執行緒共享程式碼和資料空間,每個執行緒都有自己獨立的執行棧和程式計數器(PC),執行緒之間切換的開銷小。

  所處環境:在作業系統中能同時執行多個程序(程式);而在同一個程序(程式)中有多個執行緒同時執行(透過CPU排程,在每個時間片中只有一個執行緒執行)

  記憶體分配方面:系統在執行的時候會為每個程序分配不同的記憶體空間;而對執行緒而言,除了CPU外,系統不會為執行緒分配記憶體(執行緒所使用的資源來自其所屬程序的資源),執行緒組之間只能共享資源。

  包含關係:沒有執行緒的程序可以看做是單執行緒的,如果一個程序內有多個執行緒,則執行過程不是一條線的,而是多條線(執行緒)共同完成的;執行緒是程序的一部分,所以執行緒也被稱為輕權程序或者輕量級程序。


程序執行緒的區別

  程序和執行緒的根本區別是程序是作業系統資源分配的基本單位,而執行緒是處理器任務排程和執行的基本單位。另外區別還有資源開銷、包含關係、記憶體分配、影響關係、執行過程等。   資源開銷:每個程序都有獨立的程式碼和資料空間(程式上下文),程式之間的切換會有較大的開銷;執行緒可以看做輕量級的程序,同一類執行緒共享 ...

程序執行緒的區別是什麼

  1、功能不同:程序是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。執行緒是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。   2、工作原理不同:早期面向程序設計的計算機結構中,程序是程式的基本執行實體;在當代面向執 ...

不教之過罪不及其母相悖嗎

  不相餑,因為封建社會是父系社會,講究的是男權主義,只有男人可以上學讀書,考取功名,做官統治。只有男人才可以子承父業,當家做主。只有男人才可以經商,拋頭露臉,外出學藝,自立門戶,拍板決策。封建社會是壓制女性的,沒社會地位,不可以上學識字,不可以拋頭露臉。所以,給孩子上人生課,講道理,談理想志向,就只有父親來 ...

程序服務的關係

  程序和服務的關係為:程序包含服務。   程序和服務的區別為:服務是指系統自動完成的,不需要和使用者服務互動的程式,強調的是和應用程式的不同;程序是程式執行的例項,系統會給執行中的程序分配CPU、記憶體等資源。   程序,是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是 ...

程序執行緒的區別有什麼

  程序和執行緒的區別:   1、排程:執行緒作為排程和分配的基本單位,程序作為擁有資源的基本單位。   2、併發性:不僅程序之間可以併發執行,同一個程序的多個執行緒之間也可以併發執行。   3、擁有資源:程序是擁有資源的一個獨立單位,執行緒不擁有系統資源,但可以訪問隸屬於程序的資源。   程序是具有一定獨立 ...

我國對外開放的程序格局如何

  在思想上否定了“兩個凡是”確定“解放思想,實事求是”的思相路線。   在政治路線上否定了以階級鬥爭為綱,開始把主要力量放在經濟建設上。   在組織路線上形成了以鄧小平為核心的第二代領導集體。經過三個方面的拔亂反正,為改革開放奠定了思想基礎、組織基礎、和政治基礎。   改革開放以來我國先後設立了: 深圳、珠 ...

時命運 早時好還是晚時好

  子時命,分有早子時和晚子時,兩者是有所區別的,雖然都屬於子時命,但是命運往往是截然不同的狀態,大家都會好奇,這樣的兩種子時命究竟哪一種會是好的呢。今天就來看看出生時辰,早子時和晚子時命運各自如何,早子時好還是晚子時好呢?      早子時生活坎坷   早子時命的人生活沒有很順利,經常會遇見磕磕碰碰的事情, ...