반응형
이번 포스팅에서는 운영체제(Operating System)에 대해 알아보고자 한다.
< 목차 >
- 운영체제(OS)
- 운영체제의 역할/기능
- 운영체제의 종류
1. 운영체제(OS)
운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 다시 말해, 운영체제는 사용자가 컴퓨터를 쉽게 다루게끔 해주는 인터페이스라고 볼 수 있다.
- 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종이다.
- 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
- 운영체제는 프로세스, 기억장치, 주변장치, 파일 등을 관리하는 기능을 수행한다.
2. 운영체제의 역할 / 기능
운영체제는 다음과 같은 역할을 한다.
- CPU 스케줄링과 프로세스 관리
- CPU 소유권을 어떤 프로세스에게 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리한다.
- 메모리 관리
- 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리한다.
- 디스크 파일 관리
- 디스크 파일을 어떠한 방법으로 보관할지 관리한다.
- I/O 디바이스 관리
- I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고 받는 것을 관리한다.
다음은 기능적 측면에서 운영체제를 살펴본 것이다.
- 프로세서(Processor) , 기억장치(주기억장치, 보조기억장치) , 입·출력장치 , 파일 및 정보 등의 자원을 관리한다.
- 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공한다.
- 사용자와 시스템 간의 편리한 인터페이스를 제공한다.
- 시스템의 각종 하드웨어와 네트워크를 관리·제어한다.
- 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공한다.
스케줄링(Scheduling) ??
- 스케줄링은 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미한다.
- 프로세스가 생성되어 완료될 때까지 프로세스는 여러 종류의 스케줄링 과정을 거치게 된다.
3. 운영체제의 종류
- Windows
- UNIX
- LINUX
- MacOS
- Android
- iOS
여러 운영체제들 중 UNIX 와 LINUX에 대해서만 좀 더 알아보고자 한다.
👉 UNIX
- UNIX는 1960년대 AT&T 벨(Bell) 연구소, MIT, General Electric이 공동 개발한 운영체제이다.
- 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제이다.
- 소스가 공개된 개방형 시스템(Open System)이다.
- 대부분 C 언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.
- 다중 사용자(Multi-User) , 다중 작업(Multi-Tasking)을 지원한다.
▶ UNIX 시스템의 구성
- 커널(Kernel)
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당한다.
- UNIX의 가장 핵심적인 부분이다.
- 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입·출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러가지 기능을 수행한다.
- 쉘(Shell)
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- 유틸리티 프로그램(Utility Program)
- 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용한다.
- DOS에서의 외부 명령어에 해당된다.
- 종류 : 에디터, 컴파일러, 인터프리터, 디버거 등
👉 LINUX
- LINUX는 1991년 리누스 토발즈(Linus Torvalds)가 UNIX를 기반으로 개발한 운영체제 이다.
- 프로그램 소스 코드가 무료로 공개되어 있기 때문에 프로그래머가 원하는 기능을 추가할 수 있다.
- 다양한 플랫폼에 설치하여 사용이 가능하며 재배포가 가능하다.
- UNIX와 완벽하게 호환된다.
- 대부분의 특징이 UNIX와 동일하다.
반응형
'ABOUT CS' 카테고리의 다른 글
ABOUT.Series (11) 인터페이스; interface (0) | 2023.06.11 |
---|---|
ABOUT.Series (10) 디자인 패턴 (0) | 2023.05.01 |
ABOUT.Series (7) HTTP 헤더 - 인증 / 쿠키 (0) | 2023.03.08 |
ABOUT.Series (6) HTTP 헤더 (0) | 2022.12.30 |
ABOUT.Series (5) HTTP 상태 코드 (0) | 2022.12.29 |