운영체제 스터디 1주차 - 운영체제 개요

케이·2022년 2월 9일
0

운영체제 스터디

목록 보기
1/11

해당 게시글은 운영체제 스터디를 위해 반효경 교수님 운영체제 강의를 보고 기록한 게시물입니다. 틀린 정보가 있다면 언제든 지적해주세요🙏🏻

운영체제 개요 - 1강

  • 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분.
  • 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 요서 및 그 알고리즘의 핵심적인 부분에 대해 기초부터 학습.
  • 설계자의 입장에서 학습하게 됨. 어떻게 동작하는지 알 수 있게.

운영체제란 무엇인가?

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
-> 운영체제가 cpu, 하드디스크 등등 직접 관리.

운영체제의 목적?

  1. 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공.
    -> 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상(illusion)을 제공 = 여러대가 있는것처럼, 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
  2. 컴퓨터 시스템의 자원을 효율적으로 관리 (중요!)
    -> cpu, 메모리, I/o 장치 등의 효율적으로 관리
    실행중인 프로그램들에게 짧은 시간씩 cpu를 번갈아 할당 - 효율성
    실행중인 프로그램들에 메모리 공간을 적절히 분배 - 형평성

운영체제의 기능

  • cpu의 작업공간을 메모리라고 부른다.
  1. cpu 스케줄링 - 어떤 프로그램에게 cpu 사용권을 줄것인가
  2. 메모리 관리 - 한정된 메모리를 쪼개어 쓰기
  3. 디스크 스케줄링 - i/o장치도 여러가지 요청을 받을 수 있음. 디스크에 들어온 요청을 어떤 순서로 처리할까?
    디스크 스케줄링이랑 똑같은게 엘리베이터 스케줄링
  4. 인터럽트와 캐싱 - 캐싱은 중간단계를 두는 것. CPU와 메모리 사이 또는 메모리와 디스크 사이에..
    인터럽트는 '아까 시킨 일 다했다'를 알려줄때 사용된다.
    인터럽트 들어오면 CPU는 운영체제한테 바로 가서 확인하고 난 뒤에 작업을 하게 된다.

프로세스의 상태
사람이 쓰는 프로그램은 cpu와 I/O에서 왔다갔다 하는 것.

운영체제 개요 - 2강

Cpu 스케줄링

  1. FCFS(First Come First Served)
  • 프로세스를 오래 쓸 것이 먼저 오는지 아니면 짧게 쓰는 것이 먼저 오는지에 따라서 평균 대기 시간이 달라지게 된다.
  1. SJF (Shortest Job First)
  • 위의 FCFS의 단점을 보완하는 방법
  • 매 순간 가장 짧은 프로세스에게 제일 먼저 스케줄(실행할 수 있게 한다.)
  • Minimum average waiting time을 보장.
  • 문제점: starvation(기아현상) 발생 가능 -> CPU를 오래 써야하는 프로그램이 무한정 기다리게 되는 현상이 나타날 수 있다.

그렇기에 효율성과 형평성을 모두 고려 해야한다.

  1. Round Robin(RR)
  • 한번에 사용할 수 있는 시간이 미리 정해져있음.
  • 할당시간이 끝나면 인터럽트가 발생하여 프로세스는 CPU를 빼앗기고 CPU 큐의 제일 뒤에 줄을 섬
    -> 어떤 프로세스도 (n-1)*할당시간 이상 기다리지 않음
    -> 대기 시간이 프로세스의 CPU 사용시간에 비례

메모리 관리

  • 프로그램을 실행시키면 메모리 주소가 생기고 본인만의 메모리 공간이 생김 - 가상메모리

  • 실제 메모리에는 가상 메모리에서 지금 당장 필요한 것만 올라가게 됨.

  • 스왑영역은 메모리의 연장 공간이다.

  • LRU vs LFU
    LRU 가장 오래전에 참조 페이지 삭제
    LFU 참조횟수가 가장 적은 페이지 삭제

디스크 스케줄링

  1. 디스크 접근 시간의 구성
  • 탐색시간
    헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간

  • 회전지연
    헤드가 원하는 섹터에 도달하기까지 걸리는 시간

  • 전송시간
    실제 데이터의 전송시간

  • 디스크 스케줄링은 탐색시간(Seek Time)을 줄이는 것이 중요함

  • SSTF(Shortest Seek Time First)를 사용함.

    • 문제점: starvation
  • 현재 가장 많이 쓰는 방법은 scan. 헤드는 갈 길을 가다가 요청이 들어오면 하고 지나감.

저장장치 계층구조와 캐싱(caching)

빠른 CPU와 느린 I/O 장치 간의 gap을 줄이기 위함.

그림출처: 반효경 교수님 운영체제 강의 2강 중에서 캡쳐

곁다리: 플래시메모리

  • 반도체장치(하드디스크: 마그네틱)
  • NAND형(스토리지), NOR(임베디드 코드 저장용)
    특징
  • 비휘발성, 전력소모가 적다, 충격에 강함, 작고 가볍다,
  • 단점 : 쓰기 횟수 제약. 데이터가 시간이 지나서 변질될 수 있음.(전하가 빠져나가서)
    -> 이 단점은 소프트웨어에서 보완할 수 있도록 하고 있음.

운영체제의 종류

서버용, PC용, 스마트 디바이스 운영체제

profile
삽질하며 깨닫고 배웁니다. (a.k.a 프로삽질러) + 이 구역의 회고왕

0개의 댓글