4. System Structure & Program Execution 2

2022. 3. 4. 22:04· CS/OS
  • 동기식 입출력: I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감
    • 구현 방법 1
      • 입출력이 끝날 때까지 CPU 낭비 -> 매 시점 하나의 입출력만 일어날 수 있음
    • 구현 방법 2
      • 입출력 완료까지 해당 프로그램에게서 CPU 빼앗음
      • 입출력 처리를 기다리는 줄에 그 프로그램을 줄 세움
      • 다른 프로그램에게 CPU를 줌
  • 비동기식 입출력: I/O 시작 후 입출력 작업이 끝나기 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감
  • 두 경우 모두 I/O의 완료는 인터럽트로 알려줌

  • 서로 다른 입출력 명령어
    • 메모리에 접근하는 인스트럭션, I/O 수행 인스트럭션 따로
    • Memory Mapped I/O: 메모리에 접근하듯이 I/O 수행

  • 저장장치 계층 구조
  •  

  • 윗 계층일수록 빠르며, 가격이 높아 용량이 적다
  • primary: CPU가 직접 접근하여 처리 가능하고, 휘발성
  • secondary: CPU의 직접 접근 불가, 비휘발성

 

  • 프로그램 실행

  • 디스크의 파일 시스템에서 파일을 실행하면 각각 가상메모리(메모리 주소 공간)가 형성되어 프로세스가 올라감
  • 각 프로세스의 당장 필요한 부분만 실제 물리 메모리에 올라간다
  • 당장 필요하지 않은 부분과 물리 메모리에서 탈락한 부분이 스왑 공간에 담긴다
    • 컴퓨터 전원이 종료돼도 휘발되지 않지만 그 데이터들이 의미는 없음
  • 메모리 주소 변환: 가상메모리에서의 주소가 물리 메모리에서 어떤 주소를 가지는지 변환 (하드웨어의 역할)

 

  • 커널 주소 공간의 내용

  • data:  하드웨어나 소프트웨어를 관리하기 위한 자료구조 정보가 담긴 부분
  • stack: 운영체제의 함수를 호출하거나 리턴할때 사용되는 부분

 

  • 사용자 프로그램이 사용하는 함수
    • 사용자 정의 함수: 자신의 프로그램에서 정의한 함수
    • 라이브러리 함수: 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수
      • 자신의 프로그램의 실행 파일에 포함됨
    • 커널 함수: OS 프로그램 함수
      • 커널 함수의 호출 = 시스템콜
  • 프로그램의 실행 (A 관점에서)

 

출처: https://core.ewha.ac.kr/publicview/C0101020140314151238067290?vmode=f

저작자표시 비영리 동일조건 (새창열림)

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

6. Process2 & 7. Process3  (0) 2022.03.08
5. Process1  (0) 2022.03.07
3. System Structure & Program Execution 1  (0) 2022.03.04
2. Introduction to Operating Systems  (0) 2022.03.02
(OS 개요)  (0) 2022.03.01
'CS/OS' 카테고리의 다른 글
  • 6. Process2 & 7. Process3
  • 5. Process1
  • 3. System Structure & Program Execution 1
  • 2. Introduction to Operating Systems
hjkim0502
hjkim0502
개발 일지
hjkim0502
CODELOG
hjkim0502
글쓰기
전체
오늘
어제
  • Codelog (168)
    • course (61)
      • nomadcoder (5)
      • spartacoding (22)
      • inflearn (27)
      • 생활코딩 (7)
    • CS (68)
      • algorithm & data structure (34)
      • OS (26)
      • CA (0)
      • DB (8)
      • Network (0)
    • 코딩테스트 (2)
    • 이노베이션 캠프 (37)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬
  • spring
  • css
  • KOCW
  • 프로그래머스
  • API
  • dfs
  • cs
  • QueryDSL
  • 자바
  • MongoDB
  • OS
  • html
  • JPQL
  • 인프런
  • inflearn
  • ORM
  • 레벨2
  • Memory
  • Java
  • til
  • JS
  • SQL
  • 생활코딩
  • db
  • Python
  • ajax
  • JPA
  • 카카오
  • leetcode

최근 댓글

hELLO · Designed By 정상우.v4.2.2
hjkim0502
4. System Structure & Program Execution 2
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.