[기술면접] 운영체제

uddi·2023년 11월 28일
0

기술면접

목록 보기
1/3

운영체제 (OS)

하드웨어 위에 설치되어 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어 계층

🚨 운영체제의 역할

  • 컴퓨터 시스템의 자원을 관리
  • 사용자가 컴퓨터를 사용할 수 있는 환경을 제공

⭐️운영체제의 목적

  • 처리 능력 향상 : 자원관리를 통해 일정 시간 내에 시스템이 처리하는 일의 양을 향상시킴
  • 반환 시간 단축 : 사용자가 시스템에 요청한 작업을 완료할 때까지 소요되는 시간을 단축시킴
  • 사용 가능도 향상 : 사용자가 컴퓨터를 사용해야 할 때 자원을 즉시 사용할 수 있게 함
  • 신뢰도 향상 : 입력 값에 대한 정확한 결과 값을 줄 수 있도록 신뢰도를 향상해야 함

⭐️⭐️CPU와 메모리 구조

🚨 CPU는 컴퓨터에서 프로그램을 실행하는 데 필요한 연산을 처리하고 수행한다 ( =프로세서라고도 함)

🚨 메모리는 데이터를 저장하기 위한 기억장치로, 휘발성 메모리인 주 기억장치와 비휘발성 메모리인 보조 기억장치가 있다

  • 주 기억장치(=메인 메모리) : RAM
  • 보조 기억장치 : SSD, HDD

메모리의 계층 구조

  • 레지스터 : CPU가 사용자 요청을 처리하는 데 필요한 데이터를 임시로 저장하는 기억장치로 CPU 내부에 존재하며 접근 속도 빠름
  • 캐시 메모리 : CPU와 RAM 사이의 속도 차이를 해결하기 위한 기억장치
  • RAM : 컴퓨터에서 실행할 때 필요한 정보를 저장
  • 하드 디스크 : 사용자가 필요한 데이터와 프로그램을 저장

프로그램을 실행하면 운영체제가 디스크에 있는 프로그램을 메모리로 로드하는데, 메모리에 로드한 프로그램을 프로세스라고 하며 CPU가 처리한다

CPU는 하나의 프로세스만 처리할 수 있어서 멀티 프로세스 환경에서는 운영체제가 스케줄링을 통해 CPU에 프로세스를 할당함

⭐️⭐️⭐️커널과 시스템 콜

🚨 커널은 운영체제의 핵심 요소로, 컴퓨터 하드웨어와 프로세스의 보안, 자원 관리, 하드웨어 추상화 같은 중요한 역할을 수행한다

자원 관리를 위해 CPU 스케줄링, 메모리 관리, 입출력 관리, 파일 시스템 관리 등을 담당

운영체제는 커널에서 관리하는 중요 자원에 사용자가 쉽게 접근하지 못하도록 모드를 나눈다

  • 커널 모드 : 하드웨어에 직접 접근해 메모리, CPU 같은 자원을 사용할 수 있음
  • 사용자 모드 : 커널 모드의 자원에 접근할 수 없게 제한을 둠

🚨 사용자 모드에서 실행된 프로세스가 자원에 접근하려면 시스템 콜을 호출해 커널에 요청해야 한다

커널은 시스템 콜로 받은 요청을 처리한 후 다시 시스템 콜로 결과 값 반환

시스템 콜에서 커널에 매개변수를 전달하는 방법

  1. 매개변수를 CPU의 레지스터에 직접 전달 → 매개변수의 개수가 레지스터의 개수보다 많은 경우 문제가 될 수 있어서 권장하지 않음
  2. 매개변수를 메모리에 저장한 후 메모리의 주소값을 레지스터에 저장
  3. 매개변수를 프로그램의 스택에 push하고 운영체제에서 pop해 매개변수 전달
profile
거북이는 느리지만 결국 결승선을 통과한다

0개의 댓글