양찬우 2021. 5. 29. 00:49
728x90

1. 운영체제

하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어(시스템의 자원과 동작을 관리하는 소프트웨어)

2. 운영체제의 역할 

1. 프로세스 관리

  • 프로세스, 스레드
  • 스케줄링
  • 동기화
  • IPC 통신

운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.

어떤 의미에서는 프로세서(CPU) 관리하는 것이라고 볼 수도 있다. 현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 된다.

 

2. 저장장치 관리

  • 메모리 관리
  • 가상 메모리
  • 파일 시스템

1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능이다.

  • 1차 저장장치(Main Memory)
    • 프로세스에 할당하는 메모리 영역의 할당과 해제
    • 각 메모리 영역 간의 침범 방지
    • 메인 메모리의 효율적 활용을 위한 가상 메모리 기능
  • 2차 저장장치(HDD, NAND Flash Memory 등)
    • 파일 형식의 데이터 저장
    • 이런 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
    • FAT, NTFS, EXT2, JFS, XFS 등 많은 파일 시스템들이 개발되어 사용 중

3. 네트워킹

  • TCP/IP
  • 기타 프로토콜

네트워킹은 컴퓨터 활용의 핵심과도 같아졌다. TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 한다. 현재 상용 OS들은 다양하고 많은 네트워크 프로토콜을 지원한다.

이처럼 운영체제는 사용자와 컴퓨터 하드웨어 사이에 위치해서, 하드웨어를 운영 및 관리하고 명령어를 제어하여 응용 프로그램 및 하드웨어를 소프트웨어적으로 제어 및 관리를 해야한다.

 

4. 사용자 관리

  • 계정 관리
  • 접근권한 관리

우리가 사용하는 PC는 오직 한 사람만의 것일까? 아니다. 하나의 PC로도 여러 사람이 사용하는 경우가 많다. 그래서 운영체제는 한 컴퓨터를 여러 사람이 사용하는 환경도 지원해야 한다. 가족들이 각자의 계정을 만들어 PC를 사용한다면, 이는 하나의 컴퓨터를 여러 명이 사용한다고 말할 수 있다.

따라서, 운영체제는 각 계정을 관리할 수 있는 기능이 필요하다. 사용자 별로 프라이버시와 보안을 위해 개인 파일에 대해선 다른 사용자가 접근할 수 없도록 해야 한다. 이 밖에도 파일이나 시스템 자원에 접근 권한을 지정할 수 있도록 지원하는 것이 사용자 관리 기능이다.

 

5. 디바이스 드라이버

  • 순차접근 장치
  • 임의접근 장치
  • 네트워크 장치

운영체제는 시스템의 자원, 하드웨어를 관리한다. 시스템에는 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고 관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다.

따라서, 운영체제 안에 하드웨어를 추상화 해주는 계층이 필요하다. 이 계층이 바로 디바이스 드라이버라고 불린다. 하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 많이 존재한다.

이러한 수많은 디바이스 드라이버들을 관리하는 기능 또한 운영체제가 맡고 있다.

 



참고문헌

tech-interview-for-developer: OS

 



728x90