電腦軟體 Software 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS202-3 07-3121101 轉 2648-25 itchen@kmu.edu.tw
學習目標 韌體 軟體的種類 系統軟體 應用軟體 自由軟體 可攜式軟體 其他
韌體 將軟體程式儲存於ROM中,此種「微程式規劃 (Micro-programming)」技術,我們稱之為「韌體」 因介於硬體與軟體間,所以稱為韌體 如 BIOS
軟體的種類 系統軟體 (System Software) 應用軟體 (Application Software) 作業系統 (OS, Operating System) 程式開發工具 公用程式 應用軟體 (Application Software) 辦公室軟體 資訊管理系統、資料庫管理系統 多媒體軟體 網路軟體
作業系統 CP/M, DOS Windows 3.1,95,98,NT,2000,2003,XP, 7, 8.1, 2008 Unix, Linux, FreeBSD Android, Symbian Mac OS X, iOS Solaris OS/2
幾種常用的作業系統(一) CP/M、MS-DOS:單人、單工、命令列模式 Windows 3.1:單人、協調式多工、圖形介面 Windows 95 、 98、ME:單人、權優式多工、圖 形介面、系統保護較差 Windows NT:多人?(沒有多人同時執行程式的 能力)、權優式多工、圖形介面、較為穩定 Windows 2000、XP、2003、7、8、2008:多人、 權優式多工、圖形介面),比NT更穩定(與Unix 相當)
幾種常用的作業系統(二) Unix:多人、權優式多工、命令列介面(加上X window就 有圖形介面),穩定、成熟、複雜。 Linux、FreeBSD:免費的Unix(PC可用) Android:Google 出給手機及平板電腦用的OS MacOS :單人、不完整的權優式多工、圖形介面、穩定 度高,OS X則是多人、權優式多工(由FreeBSD 3.2改過 來的) Solaris :Sun OS/2:單人、權優式多工、圖形介面 Palm OS、Windows CE、Packet PC:PDA用的作業系統
Linux 版本 http://distrowatch.com Mint, Ubuntu, Xubuntu RedHat, Fedora, CentOS openSUSE Debian Slackware Mandriva
作業系統介面 介面 命令列介面 (CLI, Command-Line Interface) 圖形使用者介面 (GUI, Graphical User Interface)
作業系統相關觀念 開機時作業系統的載入技巧:bootstrap 特色:一步驟接著一步驟 每一個步驟都讀進更多的資料進來執行
作業系統 單工系統 批次系統 線上同時週邊處理 (SPOOL) 多元程式系統 分時系統 多處理器系統 分散式系統 叢集式系統 即時系統 備援 (Redundancy) 負載平衡 (Load Balance) 即時系統 飛航、保全 核子反應爐 引擎的油路系統 提款系統 手持式、嵌入式系統
系統資源管理 系統資源 行程管理 (正在執行中的程式, 稱為行程 Process) 記憶體管理 檔案系統管理 輸入/ 輸出設備管理
Dead Lock Conditions Mutual Exclusion Hold and Wait Non-preemption Circular Wait
排程演算法 (Scheduling Algorithm) 循環分配 (RR, Round Robin) 先到先做 (FCFS, First-Come First-Served) 最短工作先做 (SJF, Shortest Job First) 優先權 (Priority) 排程
記憶體管理 每台電腦記憶體有限, 若有多個行程同時執行, 如何 妥善管理記憶體, 是OS的一個重要工作 邏輯位址 實體位址 位址鏈結 程式中指定的位址,相對於程式本身而非主記憶體 又稱為虛擬位址或相對位址 實體位址 指的是實際上在主記憶體內的實體位置 位址鏈結 將程式中的每個邏輯位址轉換成實體位址
記憶體管理處理 分割法 (partitioning) 分頁法 (paging) 分段法 (segmentation) 虛擬記憶體 (virtual memory) 需求分頁法 (demand paging) 需求分段法 (demand segmentation)
檔案系統(一) 檔案:可以說是電子文件。 一般是程式的輸入、中間結 果或最後結果放置的地方。 在DOS、Unix等OS底下,許 多周邊裝置也對應到一個檔 案。 檔案結構:目前最通用的檔 案架構就是利用目錄建構成 的「樹狀結構」。
檔案系統(二) 檔案系統:依照各OS處理檔案的方式,有各種不同 (而且彼此之間不一定相容)的檔案系統,如: FAT (File Allocation Table) FAT32 (File Allocation Table 32) NTFS (New Technology File System) UFS (Unix file system) Ext2, 3, 4 FS (EXTended 2 File System) HFS+ (Hierarchical File System, Apple 開發)
隨身碟預設FAT32 受單一檔案4G限制 FAT32 的格式轉成 NTFS 格式 在「我的電腦」右鍵->管理 點選「裝置管理員」->在右邊頁面點選「磁碟機」 ->選擇你的隨身碟型號(點兩下)或按右鍵 ->內容 -> 原則 把裡面的選項改成“效能最佳化”後, 按下確定 接著回檔案總管, 格式化隨身碟, 裡面就會有 NTFS選項
之後使用, 一定要安全移除, 不然資料會copy不全, 且隨身碟很容易掛掉 4. 效能最佳化 右鍵->管理 之後使用, 一定要安全移除, 不然資料會copy不全, 且隨身碟很容易掛掉 2. 裝置管理員->磁碟機 3. 右鍵 ->內容 -> 原則
輸入/ 輸出設備管理 輸入/ 輸出 (I/O, Input/Output) 設備的種類繁 多, 包 含鍵盤、滑鼠、掃瞄器、麥克風、螢幕、印表機、 喇叭…等 作業系統OS要有能力控制這些設備, 讓應用軟體、 使用者、能方便的使用
作業系統 OS 的選擇 一般性因素: 特殊性因素: 硬體支援度:支援比較多硬體的OS好 穩定與保護:穩定度高、保護好的OS好 用途:有特殊用途的情況下可能只能選擇特定的作 業系統,例如電話交換機系統使用即時作業系統 殺手級應用程式:Office與Windows XP勝過OS2
作業系統發展趨勢 穩定性提高 硬體支援度增加(例如:支援多CPU) 跨平台 多人、多工、安全性提高(目前許多OS還跟不 上發展多年的Unix系統) 使用者介面改進:語音、表情、腦波? 免費、Open Source的作業系統
程式開發工具 機械語言、組合語言 COBOL :適於資料多,計算少的商業應用語言 PASCAL :結構化,適合多用途使用的語言 低階語言 機械語言、組合語言 COBOL :適於資料多,計算少的商業應用語言 PASCAL :結構化,適合多用途使用的語言 BASIC: (QBasic, Visual Basic, VBScript ) 適合初學者學習的直譯程式 FORTRAN: 科學,工程及數學上的語言 C/C++:結構化,具速度快可攜性高的語言 JAVA:物件導向(Object-Oriented)的程式語言 動態型態系統(dynamically typed systems),例如 Lisp(人工智慧語言),JavaScript,Tcl和Prolog ASP / PHP / Perl / Python
程式開發過程 文書編輯器 (Text Editor) 寫好程式碼之後 巨集處理程式 (macro processor) 會以巨集的主 體 (body) 取代巨集呼叫 (macro call) 編譯器(Compiler)將程式碼編譯成目的檔 (Object Program) 再以連結器 (Linker) 將其他相關的程式連結在一起, 成為可被執行的執行檔 最後再透過載入器(Loader) 載入到記憶體中執行
組合語言與機械語言 編譯或執行中發現錯誤,可用除錯器(Debugger)偵錯 為了讓程式執行更有效率或想要自行控制硬體,則 會使用組合語言 (Assembly) 撰寫程式碼,寫好的程 式碼就需要以組譯器 (Assembler) 將程式碼編譯成 執行檔(機械語言) 機械語言由0與1二進位碼組成的命令 缺點是不易學習 優點則是執行速度快 機械語言和組合語言都屬於低階語言
機器語言 電腦真正懂的語言只有機器語言 由 0 、 1所組成的機器碼 (Machine Code), 用來表 示電腦所能進行的各個動作
組合語言 組合語言使用文字符號替代機器碼撰寫程式 人們容易閱讀, 但電腦看不懂 C:\>debug [Enter] -a [Enter] 1C6C:0100 mov ax,908 [Enter] 1C6C:0103 mov dl,ah [Enter] 1C6C:0105 add dl,30 [Enter] 1C6C:0107 push ax [Enter] 1C6C:0108 mov ah,2 [Enter] 1C6C:010A int 21 [Enter] 1C6C:010C pop ax [Enter] 1C6C:010D mov dl,al [Enter] 1C6C:010F add dl,30 [Enter] 1C6C:0112 mov ah,2 [Enter] 1C6C:0114 int 21 [Enter] 1C6C:0116 [Enter] -g 116 [Enter] 98 組合語言使用文字符號替代機器碼撰寫程式 人們容易閱讀, 但電腦看不懂 將組合語言轉換成目的檔 (Object Program)就是組譯器 (Assembler) 連結器與載入器
中斷向量表 中斷號碼 位址(Hex) 中斷功能 1D 74~77 螢幕參數表指位器 1E 78~7B 磁碟參數表指位器 0 0~3 餘數為零之運算 1 4~7 單步執行.DEBUG專用 2 8~B 不可遮罩中斷(NMI) 3 C~F 中斷點 4 10~13 溢位 5 14~17 列印整個螢畫面功能(Print Screen) 6.7 18~1F 保留 8 20~23 系統時間 9 24~27 鍵盤中斷 A.B.C 28~33 保留 D 34~37 硬式磁碟機 E 38~3B 軟式磁碟機 F 3C~3F 印表機 10 40~43 螢幕I/O 11 44~47 設備檢查 12 48~4B 記憶體大小檢查 13 4C~4F 磁碟讀寫服務 14 50~53 RS-232非同步通訊服務常式 15 54~57 卡帶讀寫服務 16 58~5B 鍵盤輸入 17 5C~5F 印表機輸出 18 60~63 ROM BASIC 進入點/網路BOOT ROM進入點 19 64~67 軟碟/硬碟吞動程式進入點 1A 68~6B BIOS 讀取/設定時間 1B 6C~6F -,程式進入點 1C 70~73 計時器中斷(INT 8H)時取得控制 中斷號碼 位址(Hex) 中斷功能 1D 74~77 螢幕參數表指位器 1E 78~7B 磁碟參數表指位器 1F 7C~7F 圖形字元表指位器 20 80~83 DOS程式結束 21 84~87 DOS功能呼叫 22 88~8B DOS結束位址 23 8C~8F DOS下-處理常式位址 24 90~93 DOS錯誤常式位址 25 94~97 DOS絕對磁區讀取 26 98~9B DOS絕對磁區寫入 27 9C~9F .COM程式起行結束並常駐在記憶體中 28~32 AO~C7 保留DOS使用 33 C8~CC 滑鼠介面服務程式 34~3F DO~FF 模擬80x87浮點運算數學程式庫 40 100~103 裝有硬碟時軟碟I/O程式進入點 41~49 104~117 硬參數表 4A 118~11B AT及時時鐘警鈴觸發處理程式 4B~5F 11C~17F 保留 60~64 180~193 使用者使用 65 194~197 AD LIB 音樂卡務程式介面 67 19C~19F LOTUS/MICROSOFT EMS 管理程式介面 68~7F 1AO~1FF 保留 80~85 200~217 保留給BASIC 85~FO 218~3C3 供BASIC INTERPRETER使用 F1~FF 3C4~3FF 保留
巨集(Macro) 寫程式時, 經常會需要寫出重複的程式片段,可以 將這種片段寫成巨集 的形式 需要時便可呼叫使用
page ,132 ;01 設定頁長與頁寬 ( 註一 ) Display macro string ;02 定義 display 巨集 local st_addr,dsp_str ;03 設定標號 dsp_str 為局部標號 jmp short dsp_str ;04 短程跳躍 st_addr db string,'$' ;05 由巨集輸入引數決定所定義之字串 dsp_str: ;06 定義 dsp_str 標號 mov ah,9 mov dx,offset st_addr ;08 取得 st_addr 之位址 int 21h ;09 於螢幕上印出 st_addr 字串 endm ;10 display 巨集結束 exit macro exit_code ;12 定義 exit 巨集 mov ah,4ch mov al,exit_code ;14 使 AL 等於返回碼 int 21h ;15 呼叫 DOS 服務中斷以結束本程式 endm ;16 exit 巨集結束 ;*************************************** code segment assume cs:code,ds:code org 100h ;--------------------------------------- start: display 'Hi, Thank you.' ;23 印出字串 exit 0 ;24 結束程式 code ends end start
連結器 (Linker) 連結器 就是用來將相互呼叫的各程式目的檔連結 (Linking) 在一起, 產生可重新定址的機器碼檔案 目的檔 之機械碼 連結器 其他 目的檔
載入器(Loader) 載入器負責將機器碼載入到記憶體中執行 主要的功能有以下 3 項: 要求記憶體空間 重新定址 載入到記憶體
編譯 程式碼轉換成電腦所能看懂的機器語言 編譯器(Compiler) 直譯器 (Interpreter)
高階語言 C v.s. BASIC int main(void) { pintf(“Hello World!”); return 0; } 10 cls 20 Print “Hello world!” 30 SHELL “dir” 編譯器(Compiler) 直譯器 (Interpreter)
公用程式 維護或整理電腦系統的程式 例如:搶救不小心刪除的檔案、快速備份硬碟、預 防電腦病毒、壓縮檔案等 常見的公用程式:工作管理員、清理磁碟、磁碟 重組、CCleaner、 Norton SystemWorks、WinZip、 WinRAR、防毒軟體…等。
工作管理員 Ctrl_Alt_Del
應用軟體 套裝軟體 LibreOffice、Office、Photoshop、GIMP、Nero PhotoImpact 、 AutoCAD、SQL、Dreamweaver 自行開發的軟體 自行開發的軟體(Tailor Software) 是指, 當套裝軟體無法 符合某些需求時, 而特別量身打造的軟體。 例如有些企業會委託軟體公司或自行開發符合其需求 的採購訂單管理系統、人事薪資管理系統…等
辦公室軟體 Office LibreOffice Thunderbird Foxit Reader Outlook 資訊管理 Word 文書處理 *.doc Excel 試算表 *.xls PowerPoint 簡報軟體 *.ppt Access 小型資料庫 *.mdb Outlook 資訊管理 Adobe Reader LibreOffice Writer *.odt Calc *.ods Impress *.odp Base *.odb Thunderbird Foxit Reader
快速鍵 Ctrl-A 全選 Ctrl-B 粗體 Ctrl-I 斜體 Ctrl-U 底線 Ctrl-Z 還原 Ctrl-X 剪下 Ctrl-C 拷備 Ctrl-V 貼上 Ctrl-h向前刪除(取代) Ctrl-j or m增加一行 Alt-Tab 切換視窗 Ctrl + 滾輪 放大, 縮小 Win-E 檔案總管 Ctrl-S 儲存 Ctrl-R 重新整理 Alt-F4 關閉 Ctrl , , Ctrl .。 Ctrl ‘、 Ctrl;; Ctrl:: Ctrl?? Ctrl-Shift - = 上標
繪圖、影像處理軟體 會聲會影 MediaStudio 錄錄燒 魅力四射 威力導演 非常好色 Flash AutoCAD Alias PhotoShop, PhotoCap PhotoImpact GIMP(自由軟體) MAYA CorelDraw FreeHand Illustrator, Inkscape ACDSee Picasa XnView (自由軟體) 會聲會影 MediaStudio 錄錄燒 魅力四射 威力導演 非常好色 Flash AutoCAD Alias 3D Max
圖形檔副檔名 .bmp BitMaP 微軟點陣圖格式 dwg AutoCAD保存設計數據的格式 .gif Graphics Interchange Format 可做動畫,僅256色, 採用LZW壓縮法 .jpg Joint Photographic Experts Group 失真的壓縮方法 .png Portable Network Graphics 可做透明圖,非失真性壓縮 .psd Photoshop 圖檔,保有圖層、色版、路徑、調整圖層 .tiff Tagged Image File Format,無損壓縮 .wmf Windows 的向量圖形檔
聲音處理軟體、播放器 GoldWave WinAmp CDex FreeRIP Streambox Ripper DVDshrink DVDripper DVDFab Media Player RealPlayer QuickTime PowerDVD KM player PotPlayer K-Lite Code VLC
聲音檔副檔名 .wav 微軟公司開發的一種聲音文件 .mid Musical Instrument Digital Interface,樂器數位介面 .mp3 MPEG-1 Audio Layer-3,數字音頻編碼和有損壓縮格式 .ogg 類似於Mp3的有損音頻壓縮格式 .pcm 藍光光碟使用PCM作音訊編碼 .ra RealAudio聲音文件 .snd NeXT/MAC聲音文件 .swa Shockwave聲音文件 .wma (Windows Media Audio)
影像檔副檔名 .avi Audio Video Interactive,視頻和音頻混合編碼 .asf Advanced Streaming Format支援數位著作權管理DRM .dat Digital Audio Tape 原設計作數位錄音用 .mov QuickTime用 .mpg Moving Picture Experts Group視頻和音頻編碼標準 ra, rm, ram RealPlayer .vob Video Object, DVD格式 .wmv Windows Media Video是微軟開發的視頻編碼格式 .tod Full HD
其他常見副檔名 .bat 批次檔 .bin 就是一個二進位檔 .c c 語言程式 .com 不需重新定位的可執行檔 .dll Dynamic Link Library動態 連接庫 .exe 需重新定位的可執行 檔 .obj 目的檔 .rar RAR 壓縮檔 .txt 文字檔 .zip ZIP 壓縮檔` .htm、.html HyperText Markup Language; 是將網頁上的資料用一種特定的語言 .php php 語言 .asp asp語言 .bak 備份檔 .swf Flash 檔 .pdf Arcobat 文件格式 .iso、.nrg 燒錄檔
網路通訊軟體 網頁瀏覽軟體 (如 Firefox、Chrome、Safari、IE) 即時傳訊軟體 (如 ICQ、QQ、Yahoo!即時通、 Skype(與MSN合併)、Line、Facebook、whatsapp) 傳真軟體 (如 WinFax) WinSCP、CuteFTP Putty、PieTTY、NetTerm 、VNC NTPClock 校時軟體
資料庫管理系統 Oracle MySQL、SQLite、PostgreSQL Base Sybase、Informix、FoxPro IBM DB2 MS SQL、Access
自由軟體 可自由使用、複製、研究、修改和分發的軟體 開放原始碼 Linux 、 LibreOffice 、VLC 、GIMP Firefox 、 FoxitReader http://ossacc.moe.edu.tw 教育部校園自由軟體
可攜式軟體 http://wiki.kmu.edu.tw/index.php/可攜式軟體 不用安裝, 解壓縮開後即可使用, 下載點 http://en.wikipedia.org/wiki/Portable_application 7-Zip, CCleaner DVDFab FileZilla, Firefox, FoxitReader Gimp LibreOffice… VLC, XnView
其他應用軟體 桌上排版軟體 (如 PageMaker) 燒錄軟體 (如 Nero、Alcohol) 翻譯軟體 (如 Dr.eye) 會計系統 遊戲軟體
Summery 韌體 BIOS 軟體的種類 系統軟體 應用軟體 可攜式軟體 其他
參考資料 http://zh.wikipedia.org http://www.cnpedia.com http://bbs.nsysu.edu.tw http://www.flag.com.tw http://www.xbook.com.tw http://home.educities.edu.tw/wanker742126