본문 바로가기

운영체제

0. 운영체제 들어가기

인프런의 [그림으로 쉽게 배우는 운영체제]강의를 듣고 정리한 내용이다.
유료지만 운영체제 강의를 좀 더 쉽고 알차게 배우고 싶은 마음에 구매했다.
단순히 듣고 정리한 내용이라, 자세한 내용은 위 강의를 구매하는 것을 추천한다.

✏️ 운영체제 개요

  • 개인용 컴퓨터 - Windows, MacOS 등
  • 대형 컴퓨터/서버용 - Unix, Linux
  • 스마트폰/태블릿 - 안드로이드, ios 운영체제
  • 네비게이션/스마트워치/냉장고/세탁기 등 - 임베디드 운영체제

📌 컴퓨터는 운영체제가 없어도 동작한다. (다른 기능은 추가할 수 없음. 유연성 X)

💡 운영체제가 하는 일

  1. 프로세스 관리
  2. 메모리 관리
  3. 하드웨어 관리
  4. 파일 시스템 관리

✏️ 운영체제의 역사

  • 1940년도 - 애니악
  • 1950년도 - 직접 회로(IC; 현대적인 CPU의 등장)
  • 1960년도 - 싱글 스트림 배치 시스템의 개선, UNIX, 멘붕의 시대
  • 1970년도 이후 - 개인용 컴퓨터의 시대

✏️ 운영체제의 구조 & 컴퓨터 하드웨어와 구조

  • 커널 - 운영체제의 핵심. 프로세스와 메모리, 저장장치를 관리. 사용자는 직접 커널에 접근할 수 없으며, 인터페이스를 통해서만 접근 가능
    • 시스템 콜 - 사용자로부터 커널을 보호하기 위한 인터페이스
  • 폰 노이만 구조 - 프로그램 내장 방식으로, 오늘날 대부분의 컴퓨터가 이 양식 채택
    • 폰 노이만이라는 수학자가 고안해서 폰 노이만 구조라고 명명
    • 에니악과 같이 하드웨어로 프로그램은 만든 경우, 프로그램이 달라질 때마다 매번 스위치와 배선을 재조정 → 해결 위해 CPU와 메모리(RAM)를 두고 이를 버스(데이터를 연결하는 통로)로 연결
  • 메인보드 - 다른 하드웨어를 연결하는 장치로, 가장 기본이 됨. CPU와 메모리가 필수적.
  • CPU(Central Processing Unit, 중앙처리장치) 
    • 산술논리 연산장치(Arithmetic and Logit Unit, ALU) - CPU에서 실제 연산을 담당하는 장치
    • 제어 장치(Control Unit) - 모든 장치들의 동작을 지시하고 제어하는 장치
    • 레지스터(Register) - CPU 내에서 계산을 위해 임시로 보관하는 장치로, 변수라고 생각
  • 메모리의 종류 - RAM(Random Access Memory), ROM(Read Only Memory)
    • RAM - 랜덤으로 데이터를 읽어도 저장된 위치와 상관없이 읽는 속도가 같음. but 전력이 끊기면 데이터를 잃기 때문에 메인 메모리로 사용됨
    • ROM - 전력이 끊겨도 데이터를 잃지 않지만 데이터를 한 번 쓰면 수정 불가능. 컴퓨터의 부팅과 관련된 바이오스에서 사용 

✏️ 부팅과정

전원 → 바이오스 실행(ROM 저장) → 주요 하드웨어(CPU, RAM, 키보드, 마우스 등) 이상 유무 확인 → 이상이 없다면 정상 실행. 이상이 있다면 부트로더(하드디스크의 마스터 부트 레코드)를 메모리로 가져와 실행 → 운영체제 선택 → 운영체제를 메모리로 로드 → 실행


✏️ 인터럽트

  • 폴링(Polling)방식 - 주기적으로 CPU가 확인해줘야 함(성능 bad)
  • 인터럽트 - 폴링 방식의 단점 해결. 비동기적으로 동작.
    • 하드웨어 방식 - 입출력 등과 같은 인터럽트
    • 소프트웨어 방식 - 사용자 프로그램 인터럽트

'운영체제' 카테고리의 다른 글

2. CPU 스케줄링  (0) 2022.05.07
1. 프로세스와 쓰레드  (0) 2022.05.06
23. Disk Management & Scheduling 1, 2  (3) 2022.04.23
22. File System Implementations 1 & 2  (0) 2022.04.09
21. File Systems  (0) 2022.04.09