운영체제와 컴퓨터

권현석·2023년 2월 2일
0

CS

목록 보기
1/1

운영체제의 역할과 구조

운영체제의 역할

  1. CPU 스케줄링, 프로세스 관리
  • CPU 소유권 할당할 프로세스 선택, 프로세스 생성 및 삭제, 자원 할당 및 반환 관리
  1. 메모리 관리
  • 프로세스에 얼마만큼의 메모리 할당할지 관리
  1. 디스크 파일 관리
  • 디스크파일 보관 방법 관리
  1. I/O 디바이스 관리
  • I/O 디바이스와 컴퓨터간 데이터 주고받음 관리

운영체제의 구조

유저프로그램
GUI
시스템 콜
커널
드라이버
하드웨어

  • 운영체제는 위와 같은 순서로 구성되어 있고, GUI부터 드라이버까지를 운영체제라 지칭함.

시스템콜

시스템콜은 추상화 계층이라 낮은 단계의 영역처리(네트워크 통신, 데이터베이스)는 신경쓰지 않고 프로그램 구현 가능

유저프로그램이 I/O 요청을 한 경우(사진 추가 아이패드로 그리기)
1. 올바른 I/O요청인지 확인
2. 유저모드가 시스템콜에 의해 커널모드로 변환되어 요청을 읽음
3. 이를 다시 유저모드로 돌아가 프로그램 로직 수행
=> 위와 같은 과정을 거치면 컴퓨터자원에 직접 접근을 차단하고, 한 프로그램을 다른 프로그램으로부터 보호할 수 있음
(유저모드에서 I/O요청을 읽는 경우 외부로부터 공격받을 수 있음)
⚡️ 유저모드: 유저의 접근영역을 제한해 컴퓨터 자원에 접근 제한된 모드
⚡️ 커널모드: 모든 컴퓨터자원에 접근가능한 모드

⭐️ modebit

  • 시스템콜 작동시 modebit으로 유저모드, 커널모드 구분함
    (modebit은 1 or 0을 값으로 가지는 플래그 변수. 여기서 플래그 변수는 조건에 따라 그 값이 true에서 false 또는 false에서 true로 바뀌는 변수)
  • 유저모드에서 modebit = 1, 커널모드에서 modebit = 0
profile
wanna be an iOS developer

0개의 댓글