操作系統定義、作用、基本特征
操作系統(OS)是配置在計算機硬件上的第一層軟件,是對硬件系統的首次擴充。其主要作用是管理好這些設備,提高它們的利用率和系統的吞吐量,並為用戶和應用程序提供一個簡單的接口,便於用戶使用。
基本特征:並發、共享、虛擬、異步(具體的可以百度)
主要功能:傳統的OS具有處理機管理功能、存儲器管理功能、設備管理功能、文件管理功能、作業管理功能;現代OS的新功能:除了具有傳統操作系統的功能外,還增加了面向安全、面向網絡和面向多媒體等功能。
進程的描述與控制
在多道程序環境下,程序的執行屬於並發執行,此時它們將失去封閉性,並具有間斷性,以及其運行結不可再現性的特征。由此,決定了通常的程序是不能參與並發執行的,否則,程序的運行也將失去了意義。為了能使程序並發執行,並且可以對並發執行的程序加以描述和控制,所以引入了"進程"的概念。
進程=程序段+相關的數據段+PCB(進程控制塊)
進程的定義:
1)進程是程序的一次執行
2)進程是一個程序及其數據在處理機上順序執行時所發生的活動
3)進程是具有獨立功能的程序在一個數據集合上運行的過程,它是系統進行資源分配和調度的一個獨立單位。
進程和程序的關系:
1)進程是一個動態的概念,而程序則是一個靜態的概念
2)進程具有並行特征,而程序沒有
3)進程是系統中獨立存在的實體,是分配資源的基本單位
4)進程的存在必然需要程序的存在,但進程和程序不是一一對應的
PCB作為進程實體的一部分,記錄了操作系統所需的,用於描述進程的當前情況以及管理進程運行的全部信息,是操作系統中最重要的記錄型數據機構。PCB的作用是一個在多道程序環境下不能獨立運行的程序(含數據)成為一個能獨立運行的基本單位,一個能與其他進程並發執行的進程。
進程存在的唯一標志是進程控制塊。
進程控制塊中的信息:
1)進程標識符 2)處理機狀態 3)進程調度信息 4)進程控制信息
線程的引入:
如果說,在OS中引入進程的目的是為了使多個程序能並發執行,以提高資源利用率和系統吞吐量,那么,在操作系統中再引入線程,則是為了減少程序在並發執行時所付出的時空開銷,使OS具有更好的並發性。
進程與線程的主要區別:
1)進程是資源分配單位,而線程是調度和執行單位;線程不擁有系統資源,但線程可以訪問所屬進程的資源
2)進程之間可以並發執行,同一進程內的多個線程也可以並發執行
3)創建和撤銷進程的系統開銷遠大於創建和撤銷線程的系統開銷