[운영체제 역할과 구조]

2023. 1. 8. 19:00·CS/OS

[1] 운영체제란?

운영체제는 사용자와 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어다.
한정된 메모리나 시스템 자원을 효율적으로 관리함으로써 사용자가 컴퓨터를 쉽게 다룰 수 있게 해준다.

[2] 운영체제의 역할

운영체제의 대표적인 역할은 네 가지가 있다.

  1. CPU 스케줄링과 프로세스 관리
    CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원할당 및 반환을 관리한다.
  2. 메모리 관리
    어떤 프로세스에 얼만큼 메모리를 할당할지 관리한다.
  3. 디스크 파일 관리
    디스크 파일을 어떤 방법으로 보관할지 관리한다.
  4. I/O 디바이스 관리
    IO 디바이스들 간에 데이터를 주고받는 것을 관리한다.

[3] 운영체제 구조

 

 

 

 

 

 

 

 

 

 

GUI

사용자가 하드웨어와 상호작용할 수 있도록 해주는 사용자 인터페이스의 일종이다.
EX) 명령어 창이 아닌 프로그램 아이콘을 더블 클릭하여 컴퓨터와 상호작용 

시스템콜

운영체제가 커널에 접근하기 위한 인터페이스이다.
유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 사용된다.

 

- 작동방식

시스템콜은 유저모드와 커널모드를 전환하면서 운영체제에 대한 요청을 처리해준다.
modebit을 참고해서 유저모드와 커널모드를 구분해준다.  modebit는 0 또는 1 값을 가지는 플래그 변수이다. 
0은 커널 모드, 1은 유저모드라고 생각하면 쉽다. 


시스템콜이 요청을 처리하는 흐름은 다음과 같다.
1. 유저 프로그램이 운영체제로 어떤 요청을 한다.
2. 시스템콜이 호출되면서,  modebit을 0 -> 1로 변경하여 커널모드로 전환한다.

3. 컴퓨터 자원을 이용한 로직을 수행한다.

4. modebit을 1 -> 0으로 변경하여 유저모드로 전환한다. 이후 기존의 로직을 이어서 수행한다.

 

* 용어
유저모드: 유저가 접근할 수 있는 영역을 제한하여 컴퓨터 자원에 함부러 접근하지 못하게 하는 모드

커널모드: 모든 컴퓨터 자원에 접근할 수 있는 모드
커널: 시스템콜 인터페이스를 제공하며 보안, 메모리, 프로세스, 파일 시스템, I/O 디바이스, I/O요청 관리 등 운영체제의 중추적인 역할을 한다.

드라이버: 하드웨어를 제어하기 위한 소프트웨어

 

더보기

| References

면접을 위한 CS 전공지식 노트

 

'CS > OS' 카테고리의 다른 글

[CPU 스케줄링 알고리즘]  (0) 2023.01.18
[프로세스 구조와 프로세스 통신]  (0) 2023.01.11
[메모리 관리]  (0) 2023.01.10
'CS/OS' 카테고리의 다른 글
  • [CPU 스케줄링 알고리즘]
  • [프로세스 구조와 프로세스 통신]
  • [메모리 관리]
저스티
저스티
  • 저스티
    justy
    저스티
  • 전체
    오늘
    어제
    • 분류 전체보기 (20)
      • CS (14)
        • Computer Architecture (4)
        • Network (5)
        • OS (4)
        • Database (1)
      • TDD (4)
      • 생각 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    유지보수성
    도메인주도설계
    ㅕㄴㅗ
    DDD
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
저스티
[운영체제 역할과 구조]
상단으로

티스토리툴바