소프트웨어와 운영체제

Download Report

Transcript 소프트웨어와 운영체제

Understanding of Computers 3rd
Chapter 03 소프트웨어와 운영체제
소프트웨어 종류와 기능
 소프트웨어(Software)
 컴퓨터로
어떤 작업을 하기 위해 필요한 프로그램
 시스템 소프트웨어(system software)
 구분

운영체제, 유틸리티 장치 드라이버, 언어처리 프로그램 등
 기능
컴퓨터 시스템의 개별 하드웨어 요소들을 직접 제어, 통합, 관리
예

– 메모리에서 디스크로 데이터를 전송
– 문자열을 디스플레이로 출력
Understanding of Computers 3rd
2/20
Chapter 03 소프트웨어와 운영체제
소프트웨어 종류와 기능
 시스템 소프트웨어(system software)
 펌웨어(Firmware)
– 비휘발성 기억 장소인 ROM에 위치하는 시스템 소프트웨어
 종류

로더(Loader), 운영체제, 장치 드라이버, 프로그래밍 도구, 컴파일러,
어셈블러, 링커(Linker), 유틸리티 등
Understanding of Computers 3rd
3/20
Chapter 03 소프트웨어와 운영체제
소프트웨어 종류와 기능
 응용 소프트웨어 (application software)
 의미

사용자가 원하는 기능을 수행하기 위해 컴퓨터의 성능을 소비하는
것을 뜻하는 컴퓨터 소프트웨어의 하위분류
예

워드프로세서, 스프레드시트, 미디어 플레이어, 메신저, 웹브라우저
등
 애플리케이션
스위트(application suite)
하나의 패키지로 묶인 다수의 응용 소프트웨어
예

– 마이크로소프트 오피스, 이스트소프트의 알툴즈 등
Understanding of Computers 3rd
4/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제(OS : Operating System)
 컴퓨터
하드웨어 자원들을 효율적으로 제어하고 관리
 사용자로부터 명령을 받아들이고 이를 해석하여 CPU에 전달할
수 있는 인터페이스를 제공하는 소프트웨어
 운영체제의 역할
 사용자

컴퓨터와 사용자 사이에 위치하여 사용자로부터 명령을 받아들이고
이를 컴퓨터가 이해할 수 있는 형태로 번역하여 전달하는 역할
 시스템

편이성
효율성
운영체제는 누구든지 그 사용목적에 따라 쉽게 사용 가능해야 함
 최적화된
환경 제공
Understanding of Computers 3rd
5/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 기능
 하드웨어와
응용 소프트웨어간의 인터페이스 역할
 중앙처리장치, 주기억장치, 입출력장치 등과 같은 컴퓨터 하드웨
어 자원 관리
 사용자 환경(UI : User Interface)을 제공함
 컴퓨터 구동(booting)
 작업(process)의 순서를 스케줄링(scheduling)
 입출력 연산을 제어(control)
 프로그램의 실행을 제어하며 데이터와 파일의 읽기 및 쓰기 관장
Understanding of Computers 3rd
6/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 기능
 프로세스(process)

관리
프로세스
– 하나의 프로그램 실행 단위
– 운영체제에 의해서 시작되고 종료

최근 대부분의 운영체제는 멀티태스킹(multitasking)을 지원
– 두 개 이상의 프로세스가 동시에 실행되는 것이 가능
 주기억

장치 관리
최근 대부분의 운영체제는 가상메모리(virtual memory) 기술을 이
용하여 메모리사용을 극대화 함
 입출력
장치 관리
여러 프로세스들의 입출력을 서로 충돌하지 않게 하기 위하여 적절
하게 할당
 사용자 이벤트들이 감지되면 해당 프로세스에게 온전하게 전달

Understanding of Computers 3rd
7/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 기능
 파일시스템

관리
과거 컴퓨터 시스템은 응용프로그램
– 하드웨어에 직접 접근하여 제어
– 프로그래머의 하드웨어에 대한 이해의 부족 등의 이유로 시스템이 다운
되는 경우가 잦고, 프로그래머 입장에서 응용프로그램을 개발하기 위해
각각 다른 하드웨어 시스템의 구조와 원리를 반드시 이해해야 함

모든 하드웨어 컨트롤은 운영체제가 맡게 되었고, 프로그램 개발자
는 단지 해당 운영체제가 제공하는 API(Application Programming
Interface)를 이용하여 하드웨어에 접근 가능
 사용자
환경 제공
사용자와 상호작용하기 위해 사용자 환경을 제공
 사용자 환경을 통하여 받아들인 사용자 명령을 해석하여 CPU에게
전달
 사용자의 편이성을 위해 사용자 인터페이스는 꾸준히 개선되고 있음

Understanding of Computers 3rd
8/20
Chapter 03 소프트웨어와 운영체제
운영체제
 사용자 환경
 넓은

사람들과 상호 작용을 하도록 설계된 모든 정보관련 고안품
 좁은

의미
의미
사용자에게 보이는 디스플레이 화면
 운영체제의

사용자 환경
문자기반의 CLI(Character Line Interface)
– 명령 프롬프트에서 사용자의 명령어를 키보드로부터 하나씩 입력 받아
처리결과를 보여주는 방식

그래픽 기반의 GUI(Graphical User Interface)
– 마우스를 이용하여 아이콘이나 메뉴를 클릭함으로써 운영체제에게 명령
을 전달하고 그 결과를 확인하는 방식

NUI(Natural User Interface)
– 최근 이슈(issue)가 된 사항
– 가상공간에 표현된 물체를 물리적 공간에서 직접 제어할 수 있도록 설계
된 사용자 환경
Understanding of Computers 3rd
9/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 변화 과정 - 사용자 환경 측면
 시스템
인지 측면
CLI : 텍스트 기반
 GUI : 그래픽 기반
 NUI : 물리적 기반

 사용자와

시스템과의 관계 측면
CLI : 함축적
– 함축적인 명령어 체계를 바탕

GUI : 간접적
– 마우스 조작을 통한 포인터의 이동이라는 간접적인 접근

NUI : 직접적
– 오브젝트에 직접적으로 접촉
Understanding of Computers 3rd
10/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 변화 과정 - 사용자 환경 측면
 제어

특성 측면
CLI : 직접적
– 직접적인 명령어의 입력

GUI : 탐색적
– 마우스 포인트를 옮겨다니는 입력

NUI : 상황적
 유연성

CLI > GUI > NUI
– CLI는 다양한 명령어들의 조합을 통해, 시스템을 통해 할 수 있는 모든
것을 수행 가능
– NUI는 다양하고 세부적인 명령어 체계가 아닌 특정 인터페이스 동작에
집중
Understanding of Computers 3rd
11/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 변화 과정 - 사용자 환경 측면
 행동

방식
CLI : 정적
– 명령어를 치면 답을 주는 형식

GUI : 다이나믹
– 그림, 사운드, 애니메이션 등의 효과를 바탕으로 풍부한 인터페이스 제공

NUI는 다이나믹에 사실적인 요소를 더 부가하는 행동 방식
Understanding of Computers 3rd
12/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 DOS(Disk
Operation System)
처음으로 개인용 컴퓨터에서 사용된 운영체제
 1980년대와 90년 초까지 대부분의 PC 에서 사용
 종류

– MS-DOS, PC-DOS, Dr-DOS 등
– MS-DOS(Microsoft DOS)가 일반적으로 많이 사용

특징
– 텍스트 기반의 사용자 환경(CLI)
– 사용자들은 필요한 명령어들을 숙지하여 사용
– 멀티태스킹이 불가능
Understanding of Computers 3rd
13/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 OS/2(Operating
System/2)
Microsoft 사와 IBM(International Business Machines
corporation)이 초기에 제작한 컴퓨터 운영 체제
 처음 80286컴퓨터를 위하여 설계되었는데 80386이나 80486 컴퓨터
에서 사용할 수 있도록 점차 업그레이드
 장점

–
–
–
–
비슷한 시기의 일반 개인용 컴퓨터 운영체제보다 안정성이 뛰어남
응용 프로그램에 의한 시스템 다운 현상이 없음
파일 손실 가능성과 디스크의 단편화 현상이 적음
GUI 방식의 사용자 인터페이스인 WPS(Work Place Shell)을 사용

직관적으로 화면 관리가 가능
– 폴더 개념의 파일 관리

단점
– OS/2를 기반의 소프트웨어 개발자 부재
– OS/2의 초기 버전이 MS-DOS 프로그램을 제대로 실행하지 못했기 때문
에 OS/2의 수요가 거의 없었음
Understanding of Computers 3rd
14/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 Windows
Microsoft 사에서 만든 GUI 환경의 운영체제 제품명
 1985년 Windows 1.0을 발표한 후 꾸준히 버전 업그레이드
 1990년 Windows 3.0부터 대중들에게 널리 알려지기 시작
 1995년 Windows 95 가 출시

– 통합된 TCP/IP, 전화 접속 네트워킹, 긴 파일 이름 지원 등이 포함

현재
– 멀티미디어 기능들이 대폭 보강된 Windows XP와 Windows Vista가
널리 사용
– Windows 7 버전까지 출시 됨
Understanding of Computers 3rd
15/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 Unix
1969년에 AT&T의 벨 연구소에서 개발한 운영체제로 처음에는 중형
컴퓨터에 사용하도록 고안
 여러 가지 유틸리티가 공개되면서 일반 사용자들에게까지 확산
 특징

– 다중 사용자, 다중 작업 처리 가능
– 프로그램 개발이 쉬운 운영체제
– 일반 통신 서비스 프로그램은 대부분 Unix를 기반으로 하고 있음
Understanding of Computers 3rd
16/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 Linux
1991년 핀란드의 대학생이었던 리누스 토발즈(Linus Benedict
Torvalds, 1969~ )에 의해 만들어진 운영체제
 개인 컴퓨터용 UNIX에 해당
 특징

– 프로그램 소스코드가 공개돼 있어 프로그래머가 원하는 대로 특정기능
추가 가능
– 어느 플랫폼에도 포팅(porting)이 가능
– 무료

종류
– 레드햇(radhat), 데비안(debian),
슬렉웨어(slackware) 등
Understanding of Computers 3rd
17/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 Mac
OS
Apple 컴퓨터의 매킨토시 계열 개인용 컴퓨터나 워크스테이션용 운
영체제로 개인용 컴퓨터에 GUI를 처음으로 도입
 1984년에 처음으로 세상에 선을 보인 이후로 거듭 발전
 현재

– 전통적인 클래식 시리즈(System 1.0 ~ Mac OS 9)와 새로운 Mac OS X
이후의 것으로 구분

특징
– 문서편집이나 그래픽분야에서 많은 사랑을 받고 있음
– Apple의 스마트폰인 iphon과 디지털 미디어 재생기인 ipod touch에도
내장되어 사용
Understanding of Computers 3rd
18/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 Solaris
Unix 계열의 운영체제 중 하나
 Linux보다 훨씬 먼저 출시가 된 상용 운영체제
 특징

– 처음에는 SUN에서 제작한 스팍(Sparc) CPU를 사용한 기종에서만 사용
되는 전용 운영체제로 전문가들이 주로 사용
– 인텔 아키텍처의 대량 보급으로 인하여 인텔용 Solaris도 출시 됨
Understanding of Computers 3rd
19/20
Chapter 03 소프트웨어와 운영체제
운영체제
 운영체제의 종류와 특성
 모바일

운영체제
현재 세계시장에 공급되는 범용으로 사용되는 모바일 운영체제
– Windows Mobile, Symbian, Falm, BlackBerry, Linux 등

모바일 운영체제들의 특징
– Microsoft 사의 Windows Mobile과 Nokia 사의 Symbian 등은 사용하
는데 편리함
– Apple, Microsoft, Palm 등은 좀 더 많은 개발자와 사용자들에게 API를
제공함
– Linux는 아예 모든 것을 공개

Linux를 기반으로 모바일 운영체제
– ‘리모(LiMo)’와 ‘안드로이드(Android)’ 프로젝트
Understanding of Computers 3rd
20/20
Chapter 03 소프트웨어와 운영체제