3 장시스템 소프트웨어 고려대학교 목차 Chapter 01 시스템소프트웨어 Chapter 02 운영체제 Chapter 03 유틸리티소프트웨어
CHAPTER 01 시스템소프트웨어 시스템소프트웨어개념 컴퓨터하드웨어 하드웨어 : 컴퓨터를구성하는기기장치 소프트웨어 : 컴퓨터시스템이나주변기기등의하드웨어를작동시켜원하는작업결과를얻기위한프로그램또는명령어 제공방법 : 하드디스크에설치, CD/DVD로제공, 인터넷으로다운로드 먼저설치하고 (Install) 원할때실행하여 (Run) 결과를얻는다 시스템소프트웨어 vs 응용소프트웨어 응용소프트웨어 문서작성기, 그림판, 게임등특정한작업을수행하기위한프로그램 시스템소프트웨어 컴퓨터나주변기기들을제어하는프로그램
소프트웨어의개념 시스템소프트웨어역할 운영체제 : 하드웨어를제어, MS Windows, Unix 등 드라이버 : 주변장치를관리하는프로그램 네트워크프로그램 : 인터넷접속등의네트워크기능수행 시스템소프트웨어의계층적구조 소프트웨어의계층적구조 운영체제 컴파일러, 데이터베이스, 유틸리티
시스템소프트웨어의구성 (1/2) 운영체제 하드웨어를직접제어하고자원을관리해주는계층 응용프로그램들의실행환경 컴파일러 응용소프트웨어를개발하거나사용자자신의프로그램을개발하기위하여컴퓨터가이해하는언어로번역해주는소프트웨어 시스템소프트웨어의구성 (2/2) 데이터베이스관리시스템 응용소프트웨어와운영체제사이에서대용량데이터를효율적으로관리하기위한시스템소프트웨어 유틸리티소프트웨어 사용자가시스템을사용하기편리하게도움을주는프로그램 파일관리, 파일설치, 압축, 보안, 네트워크등의기능을수행
CHAPTER 02 운영체제 운영체제 개요 OS 란시스템의자원인 CPU,RAM,HDD, I/O 장치, 네트워크등을효율적으로관리하고운영함으로써사용자와컴퓨터하드웨어간의인터페이스역할
운영체제의발전 초창기컴퓨터시스템 : 별도의운영체제개념이없음 1960년대메인프레임 IBM System/360 시리즈 유사한기종에같은시스템소프트웨어를적용, 운영체제개념이태동 1970 년대미니컴퓨터 : UNIX, VMS, 마이크로컴퓨터에서 CP/M, DOS, Mac OS 등운영체제 1990 년대그래픽인터페이스방식 MS Windows 와같은 GUI 방식의운영체제가주류 2000 년대임베디드운영체제 모바일기기등소형기기에사용 운영체제의목표 컴퓨터내의하드웨어 / 소프트웨어자원을관리 컴퓨터에사용자가쉽게접근할수있는인터페이스를제공 수행중인프로그램들의효율적인운영을도움 작업처리과정중의데이터를공유 입출력에보조적인기능을수행 오류가발행하면오류를처리
최근운영체제의특징 멀티미디어자원관리 텍스트위주에서동영상, 사진등여러형태의미디어파일을처리 GUI 의일반화 메뉴와마우스로컴퓨터조작이가능함 보안기술강화 인터넷등의발달로인한접근제어기술과보안기술의강화 UNIX의기능확장및다중화 Windows의대중화 Linux의확대 운영체제의기능 (1) 부팅 (Booting) 컴퓨터를시작또는재시작시키는과정 콜드부팅 (Cold booting) 컴퓨터에전원을연결하여시동 웜부팅 (Warm booting) 운영체제에서컴퓨터를재시동시키는것 펌웨어 (Firmware) 하드웨어와소프트웨어의중간형태 ROM에위치하고있다
운영체제의기능 (2) 부팅 (Booting) 커널로드 (Kernel Load) 하드디스크에서주메모리에적재시킴 메모리상주프로그램으로백그라운드에서수행. 시스템구성관리 주변기기와통신하기위해서는디바이스드라이버가필요 최근운영체제에서는 Plug & Play 기능을이용하여자동으로주변기기와연결됨 예 ) USB 메모리연결후곧바로사용가능 운영체제의기능 (3) 인터페이스제공 사용자와컴퓨터의상호작용이가능 입력을운영체제에서컴퓨터가이해할수있는형태로변환 처리결과및정보를화면에출력 종류 명령어방식 (Command line) 문자로구성된명령을직접타이핑 메뉴방식 (Menu driven) 기능이할당된키또는화면의메뉴선택 그래픽방식 (Graphical User Interface, GUI) 최근많이사용되는방식
운영체제의기능 (4) 명령어방식메뉴방식그래픽방식 운영체제의기능 (5) 프로그램실행관리 시스템자원을프로그램이나주변기기에할당하며실행을제어 단일사용자환경의단일작업의경우문제가없음 여러개의프로그램을동시에, 또는하나의프로그램을더빠르게실행하고자할때다양한기술이필요
운영체제의기능 (6) 다중작업 (Multitasking) 지원 시분할 (Time Sharing) 시간을분할하여순서대로돌아가며실행 병렬처리 (Parallel Processing) 하나의작업을여러개의 CPU 에할당하여속도를더빠르게하는기술 다중처리 (Multiprocessing) 여러개의프로그램을여러개의 CPU 가실행하여전체적인성능을향상시키는기술 운영체제의기능 (7) 메모리관리 레지스터, 캐시메모리,RAM 및가상메모리 (Virtual Memory) 등의메모리사용을최적화하는것이목적 수행중인작업에서프로그램과데이터를적절한메모리영역에할당하고실행이완료된후에는이들을제거 RAM 상주부분 : 운영체제에서커널부분과상황에따라필요한기능, 실행중인프로그램, 작업중인데이터등을주메모리인 RAM 에상주
운영체제의기능 (8) 파일관리 하드디스크에파일을계층적구조의폴더에저장 파일경로 하드디스크의계층적구조에서찾고자하는파일의위치를표현한것 Linux 시스템의경우최상위경로를 root 라부르며 / 로표기하고, Windows 의경우C:\, D;\ 등과같이표기한다. 운영체제의기능 (9) 파일관리 Linux 파일구조 Windows 파일구조
운영체제의기능 (10) 파일관리 파일확장자 파일의종류를표기하고파일이름과점 (.) 으로구분한다 예 ).exe,.hwp,.doc,.html 등 빈공간관리및디스크스케줄링을담당 기타기능 보안 (security) 기능, 암호화및압축기능, 네트워크제어기능, 성능모니터링기능등 운영체제사례 Windows 8 Mac OS UNIX Linux Android
Windows 란 Microsoft 사에서개발한 GUI 기반의운영체제 개인컴퓨터의운영체제로많이사용되고있음 IBM 호환 PC 에서사용가능함 Windows 역사 (1/2) 1985 년 : 처음발표됨 1990 년 : 3.0 을발표했고, 92 년 : 3.1 을발표함 정식 OS 가아닌 DOS 상에서운영되는 DOS 용 Application 의형태임 1995 년 : Windows 95 를발표하면서 DOS 와분리됨 1998 년 : 인터넷을강화시킨 98 버전을출시함 2000 년 : Windows ME 2001 년 : 개발명휘슬러인 Windows XP 를출시함 2006 년 : Windows Vista 2009 년 : Windows 7 2012 년 : Windows 8 2013 년 : Window 8.1
Windows 역사 (2/2) Windows 모습 Windows 95 의바탕화면 Windows 8.1 의바탕화면
Windows 8 의시스템요구사항 1GHz 이상의 32비트 (x86) 또는 64비트 (x64) 프로세서 1GB RAM(32비트 ) 또는 2GB RAM(64비트 ) 하드디스크 16GB(32비트 ) 또는 20GB(64비트 ) WDDM 1.0 이상의드라이버가있는 DirectX 9 그래픽장치 Windows 8 의주요특징 (1/2) 1. Metro UI 바둑판식격자구조로라이브타일을배열하여직관적이고가독성이있는사용자인터페이스를구현하였다 Windows 8 Metro UI 화면
Windows 8 의주요특징 (2/2) 2. PC 테블릿 PC 용운영체제의통합 개발자가 PC 와태블릿 PC 용앱을동일한환경에서개발할수있게되었다 3. 터치스크린기능 4. 앱스토어탑재 5. 클라우드컴퓨팅기능 SkyDrive 를통해 Office 용문서, 사진등을다른기기와공유할수있도록하였다 Mac OS (1/2) 매킨토시역사 매킨토시는줄여서 " 맥 " 이라고도부름 애플컴퓨터사에서만든 32 비트개인용컴퓨터 모토로라 68000 계열의 CPU 와애플사고유의 OS 를기반으로하고있음
Mac OS (2/2) 매킨토시역사 매킨토시의 GUI 개념은 1970 년초제록스의 Parc 연구소에서실험적으로만들어진것에그뿌리를두고있음 사용자의입장을가장잘반영한 OS 중의하나로처음부터 GUI 를바탕을만들어졌기때문에사용하기가매우쉬움 Mac OS 매킨토시모습 초기매킨토시컴퓨터 최신 Mac OS X 10.9 바탕화면
Mac OS 의특징 다수사용자 (multi user) 기능을제공 편리한보안기능 열쇠고리 (Keychain) 기능을통해비밀번호를관리할수있다 자동업데이트지원 인터넷과다국어지원등다양한기능제공 UNIX (1/2) UNIX 의역사 켄톰슨과데니스리치가 MULTICS 보다더작고일관성있는운영체제를목적으로만든것이 UNICS 이고, 이것이 UNIX 의효시가됨 켄톰스 데니스리치
UNIX (2/2) UNIX 의역사 1969년 : 벨연구소에서인터렉티브시분할시스템으로만든것이시초가된 OS임 1973~4년 : C 언어로쓰여진최초의운영체계가됨 여러회사나대학및개인들에의해많은확장판과새로운아이디어들이다양한버전의유닉스에추가됨으로써, 대형프리웨어제품의한종류로진화함 UNIX 의특징 (1/2) 서버시스템의운영체제로많이활용되고있음 Shell을통하여명령어기반의사용이일반적으로사용됨 스크립트의작성으로편리하고효율적 고급언어로작성되어손쉬운개발이가능해짐 소스를공개하여 UNIX의발전을꾀함
UNIX 의특징 (2/2) 다중사용자시스템 UNIX 는 C 언어외에도기타다른언어, 그리고프로그래밍에필요한도구들까지기본으로지원함 강력한네트워크를지원함 X Window 라는 GUI 환경을지원함 Linux 의역사 (1/2) 91 년핀란드헬싱키대학학생이던리누스토발스 (Linus Tovals) 가대형기종에서나작동하던 OS 인 UNIX 를 386 기종의 PC 에서도작동할수있게만듦 인터넷을통해무료로배포하고있는컴퓨터운영체계
Linux 의역사 (2/2) 프로그램소스가공개돼있어사용자가가원하는대로특정기능을추가할수있고, 더욱이어느기종에도사용이가능함 지금현재에도이러한장점때문에일반기업과연구기관등에서수요가늘어남 리눅스커널을기반으로한 GNU 시스템 Linux 의특징 (1/3) GNU 란 GNU 프로젝트는 GNU 시스템이라고불리는유닉스형태의자유소프트웨어운영체제를개발해기위해 1984년부터시작되었다 (GNU라는단어는 "GNU's Not Unix" 를의미하는재귀적약어이며 ' 그 뉴 ' 라고발음한다 ). 이모임은소프트웨어배포와개발의자유를추구하는그룹이며, CopyLeft 운동으로도잘알려져있다.
Linux 의특징 (2/3) 강력한성능의완전한공개 OS 프로그램 UNIX 와유사한형태를가지기때문에익히기가쉬움 서버용소프트웨어를포함한여러소프트웨어를기본으로제공함 사용자가사용하기쉽도록한배포판을무료로다운받을수있음 Linux 의특징 (3/3) 다양한 Linux 배포판
Linux 의단점 책임지고개발하는사람들이적음 현재도개발되고있는운영체제이며, 따라서운영교육이나업그레이드등의사후관리가어려움 Linux 는컴퓨터에대한많은지식을요구함자발적정신으로만들어지는성격을가지므로단순한문제는사용자스스로해결해야함 Android 모바일컴퓨터를위한운영체제 Linux 커널을기반으로작성 휴대폰, 테블릿등다양한분야에서사용
Android 의역사 2005년구글이안드로이드사를인수 2008년에는오픈소스로전향 많은휴대기기제조사들의운영체제로사용 버전 개발명 발표일 4.4.x 킷캣 2013년 10월 4.1.x ~ 4.3.x 젤리빈 2012년 7월 ~ 2013년 7월 4.0.3 ~ 4.0.4 아이스크림샌드위치 2011년 12월 3.2 허니콤 2011년 7월 2.3 ~ 2.3.7 진저브레드 2010년 12월 ~ 2011년 2월 2.2 프로요 2010년 5월 2.0 ~ 2.1 이클레어 2009년 10월 1.6 도넛 2009년 9월 Android 의특징 저장소 통신메시징 구성및특징내용 웹브라우저 자바지원 미디어지원 추가하드웨어지원 개발환경 데이터저장목적의 SQLite 데이터베이스소프트웨어가사용됨. GSM/EDGE, CDMA, 블루투스, 와이파이등을지원 SMS 와 MMS 가가능 오픈소스인웹키트응용프로그램프레임워크기반의브라우저지원 바일기기를위해설계된자바가상머신인달빅을이용하여실행가능한코드로컴파일된다 다양한멀티미디어포맷을지원. H.264, MPEG 4, MP3, JPEG, PNG, GIF, BMP 등 카메라, 터치스크린,GPS, 가속도센서, 3D 그래픽가속등을지원이클립스 IDE 플러그인인 ADT과, 플랫폼개발키트인 PDK 를이용하여프로그램을작성한다.
CHAPTER 03 유틸리티소프트웨어 유틸리티소프트웨어 범용유틸리티 보안유틸리티 네트워크유틸리티 장치드라이버
범용유틸리티소프트웨어 (1/4) 범용유틸리티 (Utility) 소프트웨어 사용자가컴퓨터를사용하거나관리하는데필요한다양한기능을단독으로수행하는프로그램 대표적인기능으로는파일관리, 디스크관리, 시스템상태관리, 그리고네트워크관리및이에따른보안관리기능등 51 범용유틸리티소프트웨어 (2/4) 파일관리를위한기능 파일의목록을보여주고파일을복사하거나이름을바꾸고삭제하며 DVD 에저장하는등의기능 별도로파일관리유틸리티로제공되는대표적인제품 ACDSystem 의 ACDSee, 국내에서는이스트소프트의알씨 파일의압축및복원기능은필수적 Winzip, WinRAR 이가장대표적, 국내에서는이스트소프트의알집도많이사용 52
범용유틸리티소프트웨어 (3/4) 디스크관리기능 디스크상태보기 디스크의사용현황을분석하여필요없는파일을삭제하거나문제점을해결하는기능, 포맷팅기능도포함 디스크조각모으기 디스크에서사용하지않는작은조각들을모아서파일공간으로사용하기쉽도록만들어주는기능 53 범용유틸리티소프트웨어 (4/4) 시스템상태보기 컴퓨터하드웨어, 주변기기나시스템소프트웨어의상태보기 시스템의문제를진단하여오류수정까지하는기능이포함 디스크의파일을백업을해주고디스크오류발생시에복구까지 종합유틸리티프로그램 Norton Utility 가대표적, 그외에 Symantec 사의 PCAnywhere, 국내회사인이스트소프트사의알툴즈 54
보안유틸리티 대표적인 Anti virus 제품들 Norton 360 Kaspersky PURE V3 Internet Security 알약 3.0 네트워크유틸리티 네트워크연결도구및통신용프로그램 대부분의운영체제에서기본적으로제공됨 호스트접속프로그램 웹브라우저, FTP, 원격접속프로그램등 네트워크관리및분석도구 네트워크의상태나성능을검사하고관리 알 FTP 56
장치드라이버 컴퓨터의주변장치를제어할수있도록지원하는소프트웨어 57