운영체제(OS : Operating System)의 개념
- 운영체제는 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어이다.
- 운영체제는 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써, 사용자에게 편리성을 제공한다.
- 운영체제는 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당한다.
운영체제의 종류
1) 윈도우즈(Windows) 운영체제
2) 유닉스(Unix) 운영체제
윈도즈(Windows) 운영체제
- MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 응용 프로그램으로서, 마이크로소프트사가 개발한 운영체제
- 윈도즈 95를 발표한 이후에 98, ME, XP, 7, 8, 10 등의 버전으로 지속적으로 출시
특징
특징 |
설명 |
GUI 제공 |
- 그래픽 사용자 인터페이스 제공 |
선점형 멀티태스킹 방식 제공 |
- 동시에 여러 개의 프로그램을 실행하면서, 운영체제가 각 작업의 CPU 이용시간 제어 |
자동감지 기능 제공 |
- 하드웨어 설치 시, 필요한 시스템 환경을 운영체제가 자동으로 구성해줌 |
OLE(Object Linking and Embedding)사용 |
- 개체를 현재 작성 중인 문서에 자유롭게 연결 or 삽입하여 편집할 수 있게 하는 기능 제공 |
유닉스(Unix) 운영체제
- 교육 및 연구기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제
- 처음부터 다양한 시스템에 서로 이식할 수 있고
- 멀티 태스킹과 다중사용자를 지원하도록 설계되었다.
특징
특징 |
설명 |
대화식 운영체제 기능 |
- 프롬프트가 나타난 상태에서, 사용자가 명령을 입력하면 시스템은 그 명령을 수행 - 사용자 명령 기반의 대화식 운영체제 기능 제공 |
다중 작업 기능 |
- 다수의 작업(프로세스)이 중앙처리장치(CPU)와 같은 공용자원을 나누어 사용 - 한번에 하나 이상의 작업을 수행하는 기능 제공 |
다중 사용자 기능 |
- 여러 대의 단말(키보드, 모니터)이 하나의 컴퓨터에 연결되어, - 여러 사람이 동시에 시스템을 사용 => 각각의 작업을 수행할 수 있는 기능 제공 |
이식성 |
- 90% 이상 C언어로 구현 - 시스템 프로그램이 모듈화 되어있음 => 다른 하드웨어 기종으로 쉽게 이식 가능! |
계층적 트리구조 파일 시스템 |
- 계층적 트리구조 |
1) 리눅스(Linux) 운영체제
- 유닉스 기반으로 개발
- 리누스 토발즈
- 소스코드가 공개된 오픈소스 기반의 운영체제
- 데비안,레드햇, Fedora, Ubuntu, CentOS와 같이 다양하게 출시되고있음
- 유닉스 계열의 운영체제
=> 대화식 운영체제, 다중 작업 기능, 다중 사용자 기능, 이식성, 계층적 트리 구조 파일 시스템
2) 맥(Mac) 운영체제
- 애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제
- 애플사는 1999년 OS X로 업데이트 하였음
- 이후 클라이언트 버전, 서버 제품 등으로 제품군 확대함
- 2017년 OS X 시에라, 2018년 모하비 등을 지속적으로 발표하고 있음.
3) 안드로이드(Android) 운영체제
- 휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어,
- 사용자 인터페이스,
- 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트 등)
- 을 포함하고 있는 운영체제.
3-1) 안드로이드 특징
특징 |
설명 |
리눅스 기반 |
- 안드로이드는 리눅스 커널 위에서 동작 |
자바와 코틀린 언어 |
- 고수준 언어를 사용하여 응용 프로그램을 작성 - 생산성이 높으며, 전문 지식이 없어도 개발 가능! |
런타임 라이브러리 |
- 컴파일된 바이트 코드 구동 가능! |
안드로이드 소프트웨어 개발 키트(SDK) |
- 응용 프로그램을 개발하는 데 필요한 각종 도구, API 제공 |
'📁 정보처리기사' 카테고리의 다른 글
[운영체제/OS] 메모리 관리 기법 (0) | 2021.04.03 |
---|---|
[운영체제/OS] 운영체제 핵심 기능 (0) | 2021.04.03 |
[시큐어 코딩 가이드] 보안 약점 - 입력데이터 검증 및 표현 (0) | 2021.04.01 |
[SW개발 보안] 시큐어 코딩 가이드 (0) | 2021.04.01 |
[SW개발 보안] 암호화 알고리즘 (0) | 2021.03.30 |