운영체제란
- 컴퓨터의 사용자와 하드웨어 사이에서 가교 역할을 하는 프로그램
- 하드웨어 그 자체가 가지고 있는 능력을 십분 발휘되도록 제어해주는 프로그램
- 컴퓨터가 컴퓨터 밖의 세계와 상호 동작하는 방법을 정의한 프로그램
운영체제의 역할
- 사용자 인터페이스와 자원관리를 위한 프로그램의 집합
- 하드웨어 : 컴퓨터의 물리적 부품
- 시스템 소프트웨어 : 운영체제 + 시스템 프로그램(컴퓨터 하드웨어에 의존적이며 시스템을 정상적으로 작동시키기 위해 필요한 프로그램)
- 응용 소프트웨어 : 응용 프로그램 집단
운영체제의 5가지 구성 요소
- 쉘 : 사용자나 응용 프로그램이 운영체제와 의사소통을 위해 필요한 요소
- 장치 관리 : 시스템에 있는 주변 장치(키보드, 모니터, 프린터) 제어
- 파일 관리 : 사용자 또는 프로그래머가 파일 만들고, 지우고, 수정하고 이름 부여하며, 디렉토리 관리
- 메모리 관리 : 주기억장치 관리, 실행될 프로그램을 위해 주기억 장치의 일정 부분을 할당하거나 주기억 장치 안에 있는 프로그램들의 경계를 설정하여 서로 침범하지 못하게 하는 등의 일을 처리
- 처리기 관리 : 컴퓨터의 처리기 즉, CPU의 처리 능력을 각 작업에 효과적으로 배분하도록 관리
운영체제 위치
운영체제는 커널과 유틸리티 프로그램으로 나뉜다.
커널 :
- 사용자와 실행 프로그램을 위해 매우 빈번하게 사용되는 부분
- 부팅될때 주기억 장치에 적재되어 시스템의 운영이 종료될때까지 계속 주기억장치에 남아있는 부분
- why? 디스트와 주기억장치 사이의 입출력에 시간이 오래 걸리면 시스템 성능이 떨어진다.
유틸리티 프로그램 :
- why 커널과 분리? : 주기억장치의 용량 때문에, 사용자 인터페이스의 대부분을 차지한다.
듀얼모드(Dual Mode)
- why? : 시스템 보호, 장치들의 효율적 관리
유저 모드(User mode) :
- 사용자 프로그램, 응용 프로그램 등이 실행되는 모드
- 커널 모드를 이용하고 싶으면 시스템 호출을 한다.
커널 모드(Kernel Mode):
- 운영체제가 실행되는 모드, 모든 명령어 수행 가능
운영체제의 기능
- 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원을 관리
- 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능 제공
- 사용자와 시스템 간의 편리한 인터페이스를 제공
- 시스템의 각종 하드웨어와 네트워크를 관리 및 제어
- 데이터를 관리하고 데이터 및 자원의 공유 기능 제공
- 시스템의 오류를 검사 및 복구
- 자원 보호 기능 제공
- 입출력 보조 기능 제공
운영체제의 목적
: 운영체제의 목적에는 처리능력 향상, 반환 시간 단축, 사용 가능도 향상, 신뢰도 향상 등이 있다. 처리능력, 반환시간, 사용가능도, 신뢰도는 운영체제의 성능을 평가하는 기준이 된다.
- 처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도
운영체제의 종류
윈도즈(Windows) 운영체제
- MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 응용 프로그램으로서, 마이크로 소프트사가 개발한 운영체제
- 윈도즈 95를 발표한 이후에 98, ME, XP, 7, 8, 10 등의 버전으로 지속적으로 출시
특징
1) GUI 제공 : 그래픽 사용자 인터페이스 제공
2) 선점형 멀티태스킹 방식 제공 : 동시에 여러 개의 프로그램을 실행하면서, 운영체제가 각 작업의 CPU 이용시간 제어
3) 자동감지 기능 제공 : 하드웨어 설치 시, 필요한 시스템 환경을 운영체제가 자동으로 구성해줌
4) OLE(Object Linking and Embedding)사용 : 개체를 현재 작성 중인 문서에 자유롭게 연결 or 삽입하여 편집할 수 있게 하는 기능 제공
유닉스(Unix) 운영체제
- 교육 및 연구기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제
- 처음부터 다양한 시스템에 서로 이식할 수 있고
- 멀티 태스킹과 다중 사용자를 지원하도록 설계되었다.
특징
1) 대화식 운영체제 기능
- 프롬프트가 나타난 상태에서, 사용자가 명령을 입력하면 시스템은 그 명령을 수행
- 사용자 명령 기반의 대화식 운영체제 기능 제공
2) 다중 작업 기능
- 다수의 작업(프로세스)이 중앙처리장치(CPU)와 같은 공용자원을 나누어 사용
- 한번에 하나 이상의 작업을 수행하는 기능 제공
3) 다중 사용작 기능
- 여러 대의 단말(키보드, 모니터)이 하나의 컴퓨터에 연결되어,
- 여러 사람이 동시에 시스템을 사용
=> 각각의 작업을 수행할 수 있는 기능 제공
4) 이식성
- 90% 이상 C언어로 구현
- 시스템 프로그램이 모듈화 되어있음
=> 다른 하드웨어 기종으로 쉽게 이식 가능
5) 계층적 트리구조 파일 시스템
- 계층적 트리구조
=> 통합적인 파일 관리 용이
1) 리눅스(Linux) 운영체제
- 유닉스 기반으로 개발
- 리누스 토발즈
- 소스코드가 공개된 오픈소스 기반의 운영체제
- 데비안, 레드햇, Fedora, Ubuntu, CentOS와 같이 다양하게 출시되고있음
- 유닉스 계열의 운영체제
=> 대화식 운영체제, 다중 작업 기능, 다중 사용자 기능, 이식성, 계층적 트리 구조 파일 시스템
2) 맥(Mac) 운영체제
- 애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제
- 애플사는 1999년 OS X로 업데이트 했음
- 이후 클라이언트 버전, 서버 제품 등으로 제품군 확대함
- 2017년 OS X 시에라, 2018년 모하비 등을 지속적으로 발표하고 있음
3) 안드로이드(Android) 운영체제
- 휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어,
- 사용자 인터페이스,
- 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트 등)
- 을 표함하고 있는 운영체제.
안드로이드 특징
1) 리눅스 기반 : 안드로이드는 리눅스 커널 위에서 동작
2) 자바와 코틀린 언어
- 고수준 언어를 사용하여 응용 프로그램을 작성
- 생산성이 높으며, 전문 지식이 없어도 개발 가능
3) 런타임 라이브러리
- 컴파일 된 바이트 코드 구동 가능
4) 안드로이드 소프트웨어 개발 키트(SDK)
- 응용 프로그램을 개발하는 데 필요한 각종 도구, API 제공
'컴퓨터개론' 카테고리의 다른 글
[컴퓨터개론] CTI(Computer Telephony Integration) (0) | 2022.06.07 |
---|---|
[컴퓨터개론] 자료구조 (0) | 2022.06.07 |
[컴퓨터개론] 계층 파일 시스템 (0) | 2022.06.07 |
[컴퓨터개론] 하드웨어 구성 (0) | 2022.06.03 |
[컴퓨터개론] 명령어 코드, OP Code, Mode, Operand (0) | 2022.06.03 |
댓글