hyunjungkimm / cs

0 stars 0 forks source link

운영체제 #1

Open hyunjungkimm opened 4 months ago

hyunjungkimm commented 4 months ago

운영체제

부팅과정

image
  1. 컴퓨터 전원이 켜지면, 프로세서는 메모리 0번(Rom)에 위치하는 POST(power-on-self-test) 실행
  2. POST는 Boot loader를 실행시키고, Boot loader는 하드 디스크에 있는 OS를 RAM(메인 메모리)로 가져옴
hyunjungkimm commented 4 months ago

프로그램

파일 시스템(하드)에 존재하는 실행파일

프로세스

할당받는 시스템 자원의 예

프로세스 특징

스레드

프로세스 내에서 실행되는 여러 흐름의 단위(실행의 단위)

image

스레드 종류

단일 스레드 프로그램

한 프로세스에 1개의 스레드 사용

다중 스레드 프로그램

한 프로세스에 여러 개의 스레드 사용

스레드 특징

멀티 프로세스 대신 멀티 스레드를 사용하는 이유

멀티 스레드의 장단점

장점

hyunjungkimm commented 4 months ago

Process Management

CPU가 프로세스가 여러 개일때 CPU스케줄링을 통해 관리하는 것

PCB(Process Control Block)

운영체제가 프로세스의 중요한 정보를 저장하는 저장소

Context Switching

CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할때 기존의 프로세스의 상태 또는 레지스터값(context)를 PCB에 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 PCB에서 값을 불러 교체하는 작업

인터럽트

IPC(Inter Process Communication)

hyunjungkimm commented 3 months ago

Race Condition(경쟁 상태)

OS에서 Race Condition 상황

Thread-safe(스레드 안전)

hyunjungkimm commented 3 months ago

참고

https://github.com/WeareSoft/tech-interview/blob/master/contents/os.md#3-operating-system