운영체제
정의
컴퓨터 시스템의 하드웨어, 소프트웨어적인 자원들을 효율적으로 운영 및 관리함으로써 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 하는 시스템 소프트웨어. 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 중개자 역할을 해주는 프로그램.
목적
자원 관리
여러 응용 프로그램이 자원을 요청하면 적절한 순서로 배분하고 회수하여 자원을 효율적으로 관리한다.
⇒ 효율성
자원 보호
CPU, 메모리 등에 대한 사용자와 응용 프로그램의 직접 접근을 막는다.
⇒ 안정성
하드웨어 인터페이스 제공
다양한 제조사, 각기 다른 구성으로 되어있는 마우스, 키보드 등을 복잡한 과정없이 사용할 수 있도록 하드웨어 인터페이스를 제공한다.
⇒ 확장성
소프트웨어 인퍼테이스 제공
사용자가 운영체제를 편리하게 사용하기 위해 제공되는 것으로, 대부분의 작업을 마우스로 수행하거나 스마트폰의 터치스크린 등을 통해 제공되는 기능을 말한다.
⇒ 편리성
기능
프로세스 관리
OS에서 동시에 실행되는 많은 프로세스를 스케줄링 및 문맥 관리를 통해 효율적으로 관리
파일 관리
파일과 디렉토리를 관리하여 저장 장치에 저장된 데이터를 계층적으로 구성
네트워크 관리
네트워크 통신을 통해 컴퓨터가 연결되고 데이터를 공유할 수 있도록 지원
메모리 관리
프로세스에 메메로를 할당/해제하여 사용 가능한 메모리의 효율적인 활용을 보장하고 프로세스 간 충돌 방지
리소스 관리
CPU 시간, 메모리 및 네트워크같은 리소스를 다른 프로세스와 응용 프로그램에 분배
장치 관리
입출력 장치와 상호작용하여 장치와 컴퓨너 간의 데이터 전송
보안 관리
시스템 보호 및 오류로 인한 시스템 손상 방지
사용자 인터페이스
사용자가 컴퓨터 시스템과 상호작용할 수 있는 사용자 친화적 인터페이스 제공(CLI/GUI)
종류
Windows
Microsoft에서 개발한 대표적인 운영체제로, 데스크탑에서 사용되는 OS 중 가장 많은 점유율을 차지하고 있다. GUI를 통해 사용자에게 최적화되어있다는 장점이 있다.
Unix
CLI가 잘 되어있고 이식성이 높아 널리 사용되고 있는 운영체제. 다중 작업 및 다중 사용자 기능을 제공한다. 오랜 역사를 거쳐 발전해 오면서 현대 컴퓨터 운영체제의 원형이 되었다.
- Linux : 리눅스 커널을 사용하는 운영체제로, 무료 오픈 소스이므로 사용자의 수정 및 배포가 용이하다. 오픈 소스인 만큼 보안에는 취약하다.
- Mac OS : Apple에서 개발한 GUI 운영체제. MacBook, iMac에서 사용한다.
- Android : Google에서 개발한 리눅스 기반 운영체제. 스마트폰 및 태블릿에서 사용한다.
references
👉 https://cocoon1787.tistory.com/685