-
[운영체제] 운영체제란?개발/OS 2022. 2. 17. 01:54
운영체제
운영체제란 일종의 소프트웨어로 어플리케이션 소프트웨어와 하드웨어 자원을 연결해주는 인터페이스 역할을 한다.
자원을 추상화하여 관리하고 동작시킨다. ->Resource manager
자원에는 CPU, Memory와 같은 물리적 자원일 수도 있고, process나 address space와 같은 virtual자원일 수도 있다.
물리적 자원들은 어플리케이션 SW가 사용하기 쉽도록 추상화 하여 가상의 자원으로 바꿔주고,
이러한 자원들을 다중화(Multiplexing)해서 여러 프로세스들이 사용할 수 있도록 공유한다.
또한 여러 프로세스들이 동시에 사용할 수 있도록 스케쥴링 기능도 제공한다.
프로세스 관리
프로세스란 쉽게 말해서 실행된 프로그램이다.
프로세스는 작업을 수행하기 위해서 CPU, memory, data, file 등 과 같은 자원이 필요한데,
OS가 이를 적절하게 분배하여 프로세스가 잘 실행될 수 있도록 한다.
메모리 관리
프로그램을 실행하기 위해서는 명령어들과 데이터가 메모리에 있어야 한다.
메모리 관리 기능은 프로세스에 할당할 메모리 영역을 정하고, 할당 혹은 해제한다.
이렇게 할당된 메모리에 어떤 명령어나 데이터를 넣을지도 결정한다.
파일 시스템 관리
파일과 디렉토리를 생성-제거 하여 파일을 관리하고,
파일을 Hard Disk나 SSD와 같은 2차 저장소에 적절히 저장한다.
디바이스 관리
여러 하드웨어들을 운영체제에서 인식하고 관리해서, 다른 SW들이 이를 사용할 수 있게 한다.
각 디바이스마다 드라이버가 다르므로 OS가 이 드라이버들을 모두 관리한다.
보안
프로세스나 유저가 바로 하드웨어에 접근하지 못하게 해서 하드웨어를 보호할 수 있다.
바이러스나 웜 등과 같은 내외부의 공격으로부터 방어하는 역할도 한다.
윈도우에서 여러 유저를 만들 수 있는 것 처럼 하나의 기기에 여러 권한을 부여해 유저를 구분하는 역할도 한다.
'개발 > OS' 카테고리의 다른 글
[운영체제] 스레드 (0) 2022.04.12 [운영체제] 프로세스 (0) 2022.04.11 [운영체제] OS의 구조(2) (0) 2022.02.21 [운영체제] OS의 구조 (0) 2022.02.18