반응형
운영체제 정의
- 컴퓨터의 (H/W)를 관리하는 프로그램들의 집합체
- ‘응용 프로그램’을 위한 기반을 제공, 컴퓨터 사용자와 H/W 사이에서 중재자 역할을 수행하는 프로그램
중재자 역할 :
운영체제 목적
- 대형 컴퓨터 OS
: 하드웨어의 이용을 최적화하는 데 주안점을 둠 (H/W 효율성)
=> 최적화 해서 효율성을 높일 수 있는가? - 개인용 컴퓨터(PC) OS
: 복잡한 게임, 비즈니스 응용 등 중간에 위치하는 모든 응용을 지원 (개인의 사용 용이성)
=> 개인의 목적에 맞는 응용 자원이 중요! - 휴대용 컴퓨터 OS
: 사용자가 프로그램을 수행하기 위해 컴퓨터와 쉽게 인터페이스 할 수 있는 환경 제공 (사용의 편리성)
=> 이동성을 강조하기 위해 PC보다 제약성多 -> 용이성보다 인터체이스를 어떻게 제공하느냐?에 집중
컴퓨터시스템
컴퓨터 시스템 : 어떤 사용자가 컴퓨터를 가지고 어떤 목적을 달성하기 위해 H/W, OS, 응용 프로그램 등 상호 관련된 요소들이 서로 상호작용을 하면서 사용자의 목적을 달성하게 해주는 것
시스템 : 통합된 전체를 형성하기 위해 일련의 규칙에 따라서 작동하거나 상호 관련된 여러 개인 구성요소들의 집합체
컴퓨터 시스템의 구성요소(4가지)
- 하드웨어(Hardware)
: 기본 계산용 자원을 제공. CPU, Memory, I/O 장치 등 - 운영체제(Operating System)
: 사용자를 위해 다양한 응용 프로그램 간의 H/W 사용을 제어 & 조정 - 응용 프로그램(Application Programs)
: 사용자의 특정 문제를 해결하기 위해 자원이 어떻게 사용될지를 정의 한 프로그램
(Word Processors, Compilers, Web Browsers, Database Systems, Video Games...) - 사용자(Users)
: People, Machines, 다른 Computers...
운영체제가 하는 일
1. 사용자의 관점
: '편의성', '사용의 용이성', '좋은 성능'의 집합체 -> 자원 활용에는 관심X.
- 연결된 터미널을 통해 접근할 수 있는 대형 컴퓨터(Mainframe) or 미니 컴퓨터(Minicomputer)의 경우 : 사용자들의 자원 활용을 극대화하기 위해서 설계됨
- 워크스테이션(Workstations) 사용자 : 전용 자원을 갖고 있지만, 서버(Servers)로 부터 공유 자원을 빈번하게 사용할 수 있도록 설계됨 => 사용 용이성 + 자원 활용의 조화 cf) 워크 스테이션 : 고성능을 가지고 있는 개인 컴퓨터
- 휴대용 컴퓨터의 경우 : 사용성과 배터리 환경에 최적화 되어 설계됨 (이유: 자원부족)
- 임베디드 컴퓨터와 같은 일부 컴퓨터 : 사용자 관점이 존재하지 X, 매우 작은 경우도 있음(이유 : 어떤 특수한 하나의 기능만 하기 때문)
2. 컴퓨터 시스템 관점
: H/W와 가장 밀접하게 연관된 프로그램
- 자원할당자(ResourceAllocator)
: 모든 자원에 대한 관리자로 동작 (필요한 자원 할당 등)
: 자원에 대해 서로 상충될 수 있는 요청들을 공정하고, 효율적으로 운영할 수 있도록 결정 - 제어프로그램(ControlProgram)
: 컴퓨터의 부적절한 사용을 방지하기 위해 사용자 프로그램의 수행 제어
: 특히, I/O 장치의 제어와 작동에 관심을 가짐
=> I/O 장치가 여러개 있을 때, 이러한 요청들이 동시다발적으로 들어올 때, 어떤 것들을 어떠한 장치에 I/O 서비스를 할꺼냐?
결론
- 운영체제에 대한 완벽한 정의 X.
- 어느 부분이 OS에 속하고, 속하지 않는지에 대한 보편적으로 인정되는 정의 또한 존재 X.
- 사용자가 OS를 주문했을 때, 판매업자가 실어 보내주는 모든 것을 OS라고 생각
- But, 포함되는 기능은 System에 따라 변함
- IT 환경 변화로 OS에 대한 고정관념도 변화
- 구글 : 자사 웹 기반 Application으로 들어오는 역할 생각 -> "크롬OS"(웹에 최적화된 OS)
- VM웨어 : cloud data center에서 application과 인프라를 이어주는 것 -> "클라우드 OS"
- MS : 데스크톱 지배력과 클라우드 컴퓨팅의 비전을 결합하는데 주력 -> "쉐어포인트 WorkSpace"
- 운영체제의 일반적 정의
- 컴퓨터에서 메모리에 상주하면서 항상 수행되는 프로그램(Stored Programming 방식) => 커널(Kernel)
- 오늘날 : 미들웨어도 포함되는 추세
반응형