os 1강 (반효경 교수)

Steven kim·2021년 3월 15일

OS

목록 보기
1/1

이화여대 반효경 교수님의 운영체제 강의(14년도)를 듣고 정리한 내용입니다.
강의링크

운영체제란

우리가 공부할 것은 커널!

  • 운영체제의 핵심 부분으로 메모리에 상주하는 부분

운영체제의 목적

  • 운영체제는 하드웨어를 효율적으로 관리

자원을 효율적으로 관리

  • 자원은 한정적인데 그 자원으로 최대한의 성능을 내도록
  • 어느 정도는 형평성 있게 자원을 배분해야 한다.

운영체제의 자원들

  • 하드웨어 → 프로세서, 기억장치, 메모리
  • SW → 프로세스, 파일, 메시지 등
  • HW SW 자원들을 모두 운영체제가 관리

컴터를 편리하게 사용할 수 있도록 제공함.

  • cpu는 굉장히 빠른 자원
    • 짧은 시간 cpu를 번갈아 할당함.
  • 메모리
    • 각 프로그램이 메모리에 조금씩 할당 됨.

운영체제의 분류

동시작업 가능 여부

단일 작업

  • 한 번에 하나의 작업만 처리
  • MS-DOS
  • 엘리베이터
  • 전화만 가능한 전화기

다중 작업

  • 동시에 두 개 이상의 작업 처리
  • 지금 우리가 쓰고 있는 현대 컴퓨터

사용자의 수

단일 사용자

  • MS Windows

다중 사용자

  • 서버 컴퓨터에 사용 되는 OS(UNIX linux)

처리 방식

일괄 처리(batch processing)

  • 작업 요청을 모아서 한꺼번에 처리
  • 완전 옛날 방식
  • 인터렉티브 하지 않음. → 입력시 바로 결과가 나오지 않음.
  • 오늘 컴파일 하면 내일 오류를 알 수 있음.

시분할

  • 현대 컴퓨터의 처리 방식
  • 여러 작업을 수행 할 때 시간 단위로 분활 해서 처리
    • 지금은 이것이 밀리초 단위이기 떄문에 우리가 느끼기에는 동시에 여러 작업을 하는 것처럼 느껴짐.
  • 인터렉티브 함.
    • 입력 했을 때 결과가 바로 나옴.
  • 사람에 특화 된 시스템

실시간

  • 정해진 시간 안에 반드시 결과 나오는 것을 보장해주는 방식
  • 특수한 목적을 가진 시스템에서 사용
  • 정확한 시간을 맞추어야 하는 것... 오차가 없어야 하는 것.
  • 공장 제어, 미사일 제어, 반도체 장비
    • 반도체 공정에 정전이 하루나면 큰 손실
  • Hard realtime system -> 반도체, 공장 등
    • 엄격해야 하는 것
  • soft realtime system 데드라인은 있지만 조금 시간을 어겨도 괜찮은 것
  • 요즘은 실시간 방식이 요구되고 있다.
    • 블랙박스 네비게이션 등등

우리가 실시간으로 영화를 보는 것이 실시간 방식은 아니다 시분할 방식이다!!

몇가지 용어

멀티테스킹

  • 컴퓨터 전반에서 여러 프로그램이 동작하는 것

멀티프로그래밍

  • 메모리에 여러 프로그램이 올라가는 것.

타임 쉐어링

  • cpu 의 시간을 분활해서 나누어 쓴다.

멀티프로세서

  • 프로세서는 cpu
  • 하나의 컴터에서는 cpu가 여러개

운영체제의 예

유닉스

  • 여러 사용자와 큰 기계를 위해서 만들어 졌음.(대형 컴퓨터, 서버)
  • 어셈블리로 만들기 어려워서 c언어가 나옴. c언어로 작성된 운영체제
  • 소스코드 공개
  • 높은 이식성
    • 다른 종류의 컴터에 이식 하기 쉬움.
  • 커널을 아주 작게 만들어 놨음.
    • 핵심적인 것만 넣어줌
  • 확장성이 높음
  • 오픈소스 였음.
    • 지금은 아님.
    • 리눅스는 오픈 소스!
  • 다양한 버전

MS

  • 단일 사용자, 개인 사용자를 위함.
  • 도스는 메모리가 640kb
  • 하드웨어의 발전으로 망함.
  • 윈도우가 나옴

운영체제의 구조

CPU

  • 누구한테 cpu를 줄까 → cpu 스케줄링
    • 여러 프로그램에게 cpu를 주었다 뺴았다.
    • cpu는 선착순으로 처리 하지 않는다.
      • 만약 화장실이 한개인데 한시간씩 하면...
      • 은행원 한명인데 처음 사람이 한시간이 걸리면....
      • 짧게 쓰는 것을 먼저 주는 것이 좋다.
      • 그래서 주었다 빼었다 한다

메모리

  • 한정된 메모리를 어떻게 쪼개어 쓰지?
  • 중요한 것은 메모리에 주고 나머지는 디스크에 주고
  • 과거를 통해서 메모리는 관리 하는 방법

디스크

  • 디스크에 파일을 어떻게 보관하지?
  • 파일 관리
  • 해드를 움직이면서 처리
  • 우체부나 택배 기사님들... 엘리베이터

입출력 관리

  • 엄청 느림
  • 인터럽트 사용해서 처리
  • 입력이 들어오면 cpu에게 인터럽트를 걸어서 처리

프로세스 관리.. 그외...

내가 운영체제가 되었다고 가장하자

내가 왕이 되었다고 생각하고 나라를 어떻게 관리 할지 고민해보자!!!

profile
기록과 정리

0개의 댓글