컴퓨터개론및실습 () 운영체제와사용자인터페이스 () 2005 년겨울학기 문양세컴퓨터과학과강원대학교자연과학대학 In this chapter 컴퓨터에서가장중요한소프트웨어인운영체제 (Operating System) 의기능을알아보고, 운영체제의종류가무엇이있는지익히며, 사용자인터페이스를공부한다. 입력장치의종류 운영체제와사용자인터페이스개념 운영체제의기능 운영체제의종류 Page 2 1
We are now on 운영체제와사용자인터페이스개념 운영체제의기능 운영체제의종류 Page 3 운영체제? (1/2) 운영체제는컴퓨터에있는모든장치와컴퓨터에서수행되는모든프로그램을제어하며, 사람과 PC 간에상호작용할수있는도구와명령을제공하는시스템소프트웨어이다. 명령의동작절차 1. 사용자가 ( 키보드, 마우스등을사용하여 ) 운영체제에명령을전달 2. 운영체제는명령을실행가능한기계어로변환 3. 운영체제는명령을수행하고그실행결과를출력 Page 4 2
운영체제? (2/2) 운영체제가수행하는기능들 사용자인터페이스 ( 화면상의요소를통해컴퓨터와상호작용 ) 제공 메모리에프로그램을적재 여러하드웨어들의원활한동작을제어 디스크에정보를저장하고검색하는방식을관리 운영체제의기능확장 : 유틸리티소프트웨어추가 Page 5 사용자인터페이스? 사용자는화면상의여러요소들의집합인, 운영체제의사용자인터페이스를통해컴퓨터와상호작용 ( 객체 ) 그래픽사용자인터페이스 (GUI: Graphical User Interface) vs. 명령행인터페이스 (Command-Line Interface)? 윈도우에서실행되는프로그램들 메뉴 대화상자 명령행인터페이스 (DOS 프롬프트 ) Page 6 3
Graphical User Interface 윈도우 (Windows) 와매킨토시 (Macintosh) 계열과같이, 현재사용되고있는운영체제들은그래픽사용자인터페이스를제공한다. 그래픽사용자인터페이스 1984년 Apple 사의매킨토시컴퓨터에처음사용 ( 그이전에는명령어라인을사용하여컴퓨터를제어 ) 사용자로하여금화면상의그래픽요소를마우스나다른지시장치를사용하여취급 GUI는바탕화면을기반으로하며, 바탕화면에있는그래픽객체 ( 아이콘 ) 들은사용할수있는자원을나타낸다. Page 7 Graphical User Interface 아이콘 실행중인프로그램 윈도우제어버튼 시작메뉴 대화상자 시작버튼 작업표시줄 바탕화면 Page 8 4
GUI Tools 바탕화면 : 모니터의특정영역 (Desktop) 아이콘 (Icon): 내컴퓨터, 휴지통, 네트워크환경, 문서, 프로그램등과같은컴퓨터자원들을그림들로표현한다. 예를들어, 프로그램을시작하기위하여해당아이콘을선택한다음더블클릭하거나, 파일이동을위해서는파일을클릭한상태에서이동시킨다. 시작버튼과작업표시줄은 Windows 계열에만있으며, 이들은프로그램을실행하고관리하는데도움이된다. Page 9 아이콘을더블클릭하면프로그램을시작할수있다. 시작버튼은프로그램을시작 ( 수행 ) 하는데이용한다. 작업표시줄인실행중인프로그램을보여준다.. Page 10 5
윈도우에서실행되는프로그램 하나의운영체제에서동작하도록설계된여러응용프로그램들은비슷한인터페이스요소들을사용한다. 윈도우의경우, 사용자인터페이스, 메뉴형태, Hot Key 사용등이거의유사하게제공된다. 각프로그램은프레임 ( 실행중인각프로그램을나타낼수있는창 ) 이라고불리는분리된창에서동작한다. 사용자는동시에여러프로그램을각각다른창으로실행할수있으며현재사용되고있는창을 활성창 이라고한다. Page 11 메뉴바 도구모음 최소화 / 최대화 / 닫기 제목표시줄 스크롤바 활성창 Page 12 6
메뉴 (Menu) (1/2) GUI 기반프로그램은메뉴에있는명령을선택하여작업을진행한다. 메뉴는명령어들을계층적으로그룹화한다. 예를들어, 파일메뉴에는문서파일들을열고, 저장하고, 출력할수있는명령어들로구성된다. 메뉴를사용함으로써, 명령어이름을일일이기억해서직접입력을할필요가없어졌다. Page 13 메뉴 (Menu) (2/2) Page 14 7
대화상자 (Dialog Box) (1/2) 작업을수행하기전이나중간에, 필요한정보들을프로그램또는운영체제에게전달하기위한목적으로사용한다. 사용자와대화를한다는의미로명명되어졌고, 사용자에게더많은정보를요청하거나선택을기다릴때사용된다. Page 15 대화상자 (Dialog Box) (2/2) Page 16 8
명령행인터페이스 (1/2) DOS 나 UNIX 와같이명령행인터페이스를 (Command-Line Interface) 사용할수도있다. 명령행인터페이스 프롬프트 (prompt) 상에서명령어를직접입력한다. 텍스트명령어를제공하므로그래픽객체를제공하는그래픽사용자인터페이스보다정보의제공이빠르고간단하다. PC 환경의경우, 명령행인터페이스는 GUI 에밀려거의자취를감추고있으나, 서버의경우아직도많이사용한다. Why? Page 17 명령행인터페이스 (2/2) Page 18 9
We are now on 운영체제와사용자인터페이스개념 운영체제의기능 운영체제의종류 Page 19 프로그램실행 (1/2) 운영체제는 PC 에서동작하는모든프로그램과컴퓨터자원 ( 하드웨어및응용프로그램 ) 을관리한다. 운영체제는파일관리, 메모리관리, 입출력등의서비스를프로그램또는사용자에게제공한다. 운영체제는작업을수행하는데필요한여러하드웨어와소프트웨어자원을시스템호출 (system calls) 이라불리는명령어를사용하여프로그램에게제공한다. Page 20 10
프로그램실행 (2/2) 운영체제의기능 파일목록을관리한다. 디스크에파일내용을저장한다. 디스크로부터메모리로파일내용읽어들인다. 문서를프린터로전송하고프린터를기동시킨다. 프로그램간또는문서간자료를이동하거나복사한다. 사용자가열고자하는프로그램이나문서를메모리에적재한다. 화면에문자나그래픽을표현하고, 주변장치연결기능을수행한다. Page 21 정보공유 (1/2) 대부분의운영체제는프로그램간에정보를공유할수있는기능을제공한다. 정보공유기능을사용하면, 하나의프로그램에만든데이터를다른프로그램에서이용할수있다. 윈도우는문서에있는특정영역의자료를 오려두기 나 복사하기 명령을사용해서 클립보드 (Clipboard) 라는임시적인저장공간에저장한다. 클립보드에저장된내용은 붙이기 명령을사용하여다른프로그램에서이용할수있다. Page 22 11
정보공유 (2/2) 1 2 1 2 3 응용프로그램내의데이터를잘라낸다.(Excel) 클립보드표시기를사용해서잘라낸데이터를확인한다. 다른응용프로그램내에복사한데이터를붙여넣는다.(PowerPoint) Page 23 3 다중작업 (1/3) 다중작업 (multitasking) 은운영체제가동시에여러개의작업들을처리 ( 실행 ) 할수있는능력을말한다. 즉, 다중작업운영체제에서는동시에여러개의프로그램들이동작한다. 다중작업은인터넷에서파일을다운로드받는동안문서를출력하는것과같이, 한번에여러작업을동시에수행할수있다. Page 24 12
다중작업 (2/3) 다중작업의기법 협동적다중작업 (cooperative multitasking): 운영체제와응용프로그램사이의협동으로이뤄진다. 즉, 응용프로그램은다른프로그램이대기하고있는지를검사하기위해운영체제를주기적으로검사한다. 선점형다중작업 (preemptive multitasking): 응용프로그램은단순히자기작업을계속적으로수행한다. 반면에, 운영체제는실행중인프로그램의리스트를저장하고, 각프로그램의우선순위를지정하여우선순위가빠른프로그램에 CPU 할당한다. Page 25 다중작업 (3/3) Page 26 13
파일관리 (1/2) 운영체제가다루는파일 : 프로그램파일과데이터파일 운영체제는각각의디스크에있는모든파일들에대한경로 (path) 를관리한다. ( 윈도우의경우 FAT 에서관리 ) 계층적파일시스템 (hierarchical file system): 폴더, 서브폴더, 파일이계층적논리순서로정돈되어있다. 예를들어, 윈도우탐색기를이용하여파일관리를좀더쉽게할수있다. 파일관리 ( 보기형식 ): 파일의이름, 파일의크기 (bytes), 종류, 수정된날짜와시각등을제공한다. Page 27 파일관리 (2/2) Page 28 14
하드웨어관리 (1/2) 하드웨어의원활한작동을위해운영체제가중간매체로서지원한다. 운영체제가지원하는세가지방식 : 인터럽트처리, 드라이버, 네트워킹 인터럽트 (interrupt) 처리 : 운영체제는 CPU와하드웨어에특정지시를위해인터럽트요청 (interrupted request: IRQs) 을사용한다. ( 예 : 폴더목록을요청하면, 운영체제는 CPU로인터럽트를요청 ) 드라이버 (driver): 각각의하드웨어장치는운영체제가구동시키고사용할수있는드라이버라고불리는소프트웨어를제공한다. 네트워킹 (networking): 운영체제는컴퓨터들의연결과네트워크의구성에필요한소프트웨어를제공한다. Page 29 하드웨어관리 (2/2) Page 30 15
유틸리티소프트웨어 유틸리티는운영체제에없는부가적인기능을제공하는프로그램이다. ( 윈도우의경우많은유틸리티를함께제공함 ) 운영체제의기능을높이는유틸리티도있다. 유틸리티에는다음과같은대표적인기능들이있다 : 파일조각모음 (file de-fragmentation) 데이터압축 (data compression) 디스크관리 (disk management) 백업 (backup utilities) 백신 (antivirus programs) 화면보호기 (screen saver) Page 31 We are now on 운영체제와사용자인터페이스개념 운영체제의기능 운영체제의종류 Page 32 16
운영체제에어떤것들이 많은종류의 UNIX, 그리고 Linux 믿기진않지만, DOS에서시작한다양한 Windows GUI O/S의모태Mac O/S IBM이한번해보려다실패한 OS/2 Page 33 UNIX (1/2) UNIX 는가장오래된운영체제중의하나이다. UNIX 는다중사용자, 다중프로세서, 다중작업을처음지원한운영체제이며, 선점형다중작업을사용한다. UNIX 는슈퍼컴퓨터나노트북 PC 는물론, 메인프레임과미니컴퓨터사이의모든종류의컴퓨터에서작동할수있다. (SUN, HP, IBM 등 ) UNIX 의과거버전들은명령행인터페이스를사용하지만, 최근버전들은 GUI 를 (MOTIF, Open Look) 제공한다. UNIX 의두가지버전 AT&T사가상품화한 SYSTEM V 계열 BSD(Berkeley Software Distribution) 사가만든 BSD 계열 Page 34 17
UNIX (2/2) Page 35 DOS (Disk Operating System) (1/2) DOS 는 1980 년대에 IBM 호환 PC 의실질적인표준운영체제로사용되었다. DOS 의장점은신뢰도와안정성이다. 일단, 제대로구성되면, 별다른작동중지나문제없이잘구동되었다. 기술이발전하면서드러나게된 DOS 의단점 RAM의기억공간중640KB만을인식하는단일사용자운영체제이다. DOS는명령행인터페이스의특징을가지고, 다중작업또는다중프로세서를지원하지않는다. 인터페이스에대한외관이나기능을별도로지시하지않기때문에, DOS 응용프로그램들은다르게보이거나작동할수있다. 8비트및 16비트 CPU용으로설계되었다. DOS 환경에서는주변장치마다그들만의독특한드라이버를필요로하기때문에, 하드웨어를설치하고구성하는것이어렵다. Page 36 18
DOS (Disk Operating System) (2/2) 내 PC안에아직남아있는 DOS의모습 Page 37 매킨토시 (Macintosh) O/S (1/3) 매킨토시는초기부터하드웨어, 운영체제, 그리고 GUI 가통합된형태로사용되었다. DOS 의명령행인터페이스와는큰대비를이룸 매킨토시운영체제는매킨토시컴퓨터의그래픽환경을지원한다. 매킨토시운영체제는소비자들에게진정한그래픽사용자인터페이스를제공하였다. 매킨토시운영체제하에서의모든응용프로그램들은같은모습과느낌을제공하였다. Windows 등의 GUI 기반 O/S 가출현하게된배경 ( 동기 ) 은 Mac O/S 에있다고볼수있다. 출판업자, 그래픽아티스트등에게여전히인기가있다. Page 38 19
매킨토시 (Macintosh) O/S (2/3) Page 39 매킨토시 (Macintosh) O/S (3/3) Page 40 20
Windows 3.x (1/2) 윈도우 3.0, 3.1, 3.11 등을윈도우 3.x 계열이라한다. 윈도우 3.x 계열은 DOS 환경에 GUI 와다중작업능력을도입한 DOS 기반 GUI 운영체제이다. 윈도우의성공과초기 DOS 를능가하는기능에도불구하고, 초기버전은 DOS 의태생적한계를극복하지못했다. Page 41 Windows 3.x (2/2) Page 42 21
IBM OS/2 (1/2) IBM 과 Microsoft 가협력관계이었던시절에출시되었다. OS/2 는인텔 PC 를기반으로한최초의 GUI 기반운영체제이며, IBM-PC 호환컴퓨터를위한다중작업을지원하였다. 640KB 의한계를깨고프로그램의보호모드제공하며, 네트워킹, 다중사용자를지원하는다중작업운영체제이다. OS/2 는음성인식기술을내장한최초의 PC 운영체제이다. OS/2 Wrap: IBM 에서개발한 32 비트운영체제이다. Page 43 IBM OS/2 (2/2) Page 44 22
Windows NT Microsoft 의 Windows NT 는 DOS 대체용이였으나, 당시대부분의 PC 에서사용하기에는너무무거웠다. 32bit 형네트워크워크스테이션시장을목표로출발, Windows NT 운영체제를워크스테이션과서버의두가지버전으로출시하였다. Windows NT 워크스테이션 : 네트워크연결을기본으로생각하며, 다양한 CPU 상에서동작한다. Windows NT 서버 : 윈도우 NT 워크스테이션의기능을다가지면서 RAID(Redundant Array of Inexpensive Disks) 를지원한다. 윈도우 NT 는다른운영체제보다보안면에서뛰어나다. Windows NT 는 PC 의벽을넘어선매우강력하고견고한운영체제이다. Page 45 Windows 9x (1/2) Windows 95 인텔 PC 를기반의 GUI 기반 32 비트운영체제이다. 다중작업을지원하고, DOS 및윈도우 3.x프로그램도실행된다. 향상된그래픽인터페이스를제공한다. 새로운하드웨어를연결할수있도록플러그앤플레이표준을제공한다. Windows 98 발전된인터넷기능, 사용자인터페이스, 그리고강화된파일시스템기능을제공한다. Internet Explorer라는웹브라우저를포함한다. 또다른특징은FAT32이다. FAT32 란기존의FAT을 32비트로개편하여파일시스템의효율을향상시킨것이다. Page 46 23
Windows 9x (2/2) Page 47 Linux (1/3) 전세계프로그래머들의협력으로개발된 UNIX 의새로운버전이다. 다양한소스를무료혹은싼가격에얻을수있으며, 소스를직접고쳐서사용할수도있다. 다중작업, 다중사용자, 네트워킹, 그리고가상적응용프로그램을지원하는강력한 32 비트운영체제이다. Linux 는거의모든종류의컴퓨터에서작동된다. 소스의공개의매력에힘입어, 학생, 교사, 인터넷서비스제공자등많은사용자들에게관심을끌고있다. 최근에는내장형시스템에서 Linux 가큰인기를끌고있다. Page 48 24
Linux (2/3) Page 49 Linux (3/3) Page 50 25
Windows 2000 (1/2) Windows 2000 은 Windows 98 과유사한인터페이스에 Windows NT 의파일시스템, 네트워킹, 파워, 그리고안정성의기능을제공한다. 윈도우 2000 의여러버전은가정용 PC 에서기업용대형서버까지다양한고객층을 Target 으로하였다. Professional: 사무실 PC, 최대 2개의프로세서까지처리하는SMP (Symmetric Multiprocessing) 를지원한다. Server Standard Edition: 위기능이외에네트워크서버용으로사용된다. Advanced Server: 위기능보다더강력하며, CPU 4개까지지원한다. Data Center Server: 가장강력하며, 32개까지 CPU를지원한다. Page 51 Windows 2000 (2/2) Page 52 26
Windows XP (1/2) 2001 년에출시된제품으로서, 일반사용자용운영체제와기업용운영체제를단일환경으로통합하였다. Home Edition 과 Professional Edition 의두가지버전이있다. Windows XP 에서향상된기능 디지털미디어지원 : 디지털방송시청, 멀티미디어저작기능확대 향상된네트워크와통신 : 만국공통의 PnP 기능안정화, 시스템이직접필요한드라이버를찾아서설치 향상된모바일컴퓨팅 : 자동설정 (automatic configuration) 기능을사용하여무선네트워크를포함한다양한네트워크접속기능 Page 53 Windows XP (2/2) Page 54 27
Windows.NET 서버기반 Windows 운영체제제품중가장최신의제품이다. 업무용네트워크서버로사용할수있도록설계되었고, 각각특정작업을수행할수있는여러서버들로구성된다. Application Server BizTalk Server Commerce Server Exchange Server Page 55 내장형운영체제 (1/5) 운영체제가자기디스크가아닌전자장치의회로 (ROM 혹은플래시메모리 ) 에내장된다. PDA 나휴대폰등의장치내에존재한다. 제한된메모리와 CPU 파워를감안하여, 운영체제는 Light Weight 를추구한다. Page 56 28
내장형운영체제 (2/5) 팜운영체제 (Palm OS): Palm 계열장치들의표준운영체제 Page 57 내장형운영체제 (3/5) Windows CE: Microsoft 에서개발한내장형운영체제 Page 58 29
내장형운영체제 (4/5) Windows CE: Microsoft 에서보다작은소형기기를위해개발한내장형운영체제 Page 59 내장형운영체제 (5/5) 핸드폰의운영체제 : 무선플랫폼무선단말기 ( 특히, 핸드폰 ) 에서운영체제환경을제공하여, 다양한응용프로그램의구동이가능하도록하는시스템소프트웨어이다. GVM, JVM, Brew 등 : SKT/LGT/KTF 등에서사용하는기존 Virtual Machine이다. WIPI(Wireless Internet For Interoperability): 정부에서표준화한무선인터넷표준플랫폼 현재국내의단말은모두 WIPI 플랫폼을채택해나가고있다. Page 60 30