ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS 스터디] 운영체제 개요
    CS📟 2022. 10. 7. 11:14

    * KMOC 반효경 교수님의 운영체제 수업을 듣고 정리하는 내용입니다.

     

    운영체제 개요

    운영체제란?

    유저가 컴퓨터 하드웨어를 알지 못해도 사용할 수 있게 도와주는 하드웨어와 소프웨어를 연결해주는 계층

     

    목적
    • 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
      • 운영체제는 동시 사용자/프로그램들이 각각 하나의 컴퓨터에서 수행되는 것 같은 일루젼 제공
      • 하드웨어를 다루는 부분을 운영체제가 컨트롤
    • 컴퓨터 시스템의 자원을 관리
      • CPU, 메모리, I/O 장치 등의 효율적 관리
        • 주언진 자원으로 최대한의 성능을 내도록 관리 (효율성)
        • 특정 사용자/프로그램에 지나친 부이익이 발생하지 않도록 관리 (형평성)
      • 사용자 및 운영체제 자신 보호
    컴퓨터 시스템의 구조
    • 내부
      • CPU
        • CPU 스케줄링 
          • CPU 사용권 분배
      • 메모리
        • 사용할 프로그램을 메모리에 올림
      • 운영체제는 항상 메모리에 있음 (커널은 항시 상주)
    • 입출력 디바이스
      • 디스크
        • 디스크 스케줄링
          • 순차적으로 실행 시 비효율적이기 때문에 스케줄링을 진행
        • 인터럽트
          • I/O작업이 끝나면 인터럽트를 이용해서 CPU에 요청
          • CPU가 할일이 끝나면 인터럽트를 검사
          • 인터럽트가 들어오면 CPU는 운영체제로 넘어감
        • 캐싱
          • 메모리에 잠시 자주 쓰는 데이터를 저장하고 같은 데이터를 요청 시 디스크에 요청하는 게 아니라 캐싱된 데이터를 가져옴
      • 키보드 등
    상태
    • CPU 큐를 이용해서 프로세스들을 관리
    • 디스크에도 입출력 큐로 관리
      • 작업이 끝나면 인터럽트를 통해 CPU에 알림
    CPU 스케줄링
    • FCFS(First-Come-First-Served)
      • 선착순처리
      • 공평해 보이지만 비효율적임
      • 먼저 온 프로세스의 작업시간에 따라 대기시간이 편차가 커짐
    • SJF(Shortest-Job-First)
      • 작업시간이 짧은 순으로 먼저 실행
      • 대기시간을 최소화 가능
      • 작업시간이 긴 프로세스는 계속 대기를 하는 기아 현상이 발생
    • Round Robin(RR)
      • 각 프로세스에 동일 크기의 할당 시간을 배정
      • 할당 시간이 끝나면 인터럽트가 발생하여 CPU를 빼앗고 큐에 맨뒤로 이동
      • 어떤 프로세스도 (n-1)*할당 시간 이상은 대기하지 않음
      • 대기시간이 프로세스의 CPU 사용시간에 비례
    메모리 관리
    • 디스크(파일 시스템)에 실행파일을 실행하면 메모리에 올라가서 프로세스가 된다.
      • 실행파일에는 가상 메모리가 있고, 가상 메모리의 필요한 부분만 물리 메모리에 올려놓음
      • 메모리가 다 차면 스왑 영역으로 메모리를 보냄
        • LRU(가장 오래전에 참조 페이지 삭제)
          • 오래된 페이지도 다시 참조될 수도 있음
        • LFU(참조 횟수가 가장 적은 페이지 삭제)
          • 앞으로 많이 사용될 수도 있는 페이지를 제거할 수도 있음
        • 미래를 알 수 없기에 둘 다 단점이 존재
    • 전원이 꺼지면?
      • 디스크는 존재
      • 메모리는 휘발성이라 전원이 꺼지면 사라짐
      • 메모리가 사라지면 스왑 영역의 데이터는 쓸모없는 데이터가 됨
    디스크 스케줄링
    • 디스크의 효율성은 헤드의 이동거리를 줄이는 게 포인트!
      • Access Time(디스크의 접근 시간)
      • 탐색 시간(Seek Time)
        • 헤드의 이동시간
      • 회전 지연(Eotational Latency)
        • 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
      • 전송시간(Transfer Time)
        • 실제 데이터의 전송시간
    • SSTF(Shortest Seek Time First)
      • Seek Time이 짧은 작업부터 처리
      • 효율성은 좋음
      • 기아 현상 발생
    • SCAN
      • 헤드가 디스크의 한쪽 끝에서 다른 쪽 끝으로 이동
      • 가는 길목에 있는 모든 요청 처리
      • 끝으로 도달하면 역방향으로 이동하며 모든 요청을 처리
    저장장치 계층 구조와 캐싱
    • CPU와 I/O장치의 갭을 완충
    Registers
    |
    Cache Memory
    |
    Main Memory
    |
    Magnetic Disk
    |
    Optical Disk
    |
    Magnetic Tape
    • 위로 갈수록 비싸고 빠름
    • Magnetic Disk부터 I/O 장치 그위는 컴퓨터 내부
    • 요청 시 데이터가 있으면 밑에까지 가지 않고 바로 갖고 있는 데이터를 넘겨주는 것이 캐싱

     

    플래시 메모리
    • 반도체 장치(하드디스크:마그네틱)
    • NAND형(스토리지), NOR(임베디드 코드 저장 용)
    • 특징
      • 가볍다
      • 작다
      • 충격에 강하다
      • 횟수 제약이 있음
      • 데이터가 변질될 우려가 있음
      • 전하의 양으로 1과 0을 구분하는데 시간이 지나서 전하의 양이 변하면 데이터가 바뀔 수 있음

     

    운영체제의 종류
    • 서버, PC, 스마트 디바이스
    • 공개
    • Linux, Android
    • 안드로이드도 리눅스 커널 사용

     

     

    'CS📟' 카테고리의 다른 글

    [CS 스터디] OS - Process  (0) 2022.10.22
    CS 스터디 - 컴퓨터 시스템의 구조  (0) 2022.10.14
    [TCP/IP] CH 6 보안  (2) 2022.09.17
    [TCP/IP] 네트워크 인터페이스 계층  (0) 2022.09.04
    [TCP/IP] 인터넷 계층  (0) 2022.08.28
Designed by Tistory.