Angel Wing Heart

이론/운영체제

이론/운영체제

[운영체제] CPU Scheduling

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. CPU 스케줄링 CPU 스케줄링은 멀티 프로그래밍 운영체제에서 기본 멀티 프로그래밍의 목적 CPU 효율을 극대화 여러 프로세스를 동시에 돌릴 수 있음 CPU bound(CPU를 많이 쓰는) 보다 I/O bound가 더 많으면 ⇒ 스케줄링을 통한 time sharing이 필요 CPU 스케줄러 CPU 스케줄러는 메모리에 로드된 프로세스 중 누구를 CPU에 할당할 것인지 선택해야 함 ⇒ ready 상태에 있는 프로세스 중 선택 프로세스 선택 ready 상태에 있는 프로세스들 중 선택하기 위해 queue를 만들 필요가 있음 FIFO Queue : First In, First Out Prority Queue : 우선순위가 높은 순으로 결정 선점형 / 비선..

이론/운영체제

[운영체제] Thread & Concurrency

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. 멀티 스레딩 하나의 프로세스가 여러 개의 스레드를 가질 수 있음 스레드 (Thread) 스레드는 가벼운 프로세스임 (LWP : Light Weight Process) 멀티스레딩이 제공된다면, CPU를 점유하는 단위가 스레드가 됨 CPU를 점유하는 것이 PID(Process ID)가 아닌 TID(Thread ID)가 됨 스레드 별로 나뉘는 것 program counter register set stack 나머지 메모리 영역은 프로세스 내의 모든 스레드가 공유 멀티 스레딩의 장점 Responsiveness : 유저 인터페이스를 처리할 때 block할 필요 없이 실행을 계속 할 수 있음 Resource Sharing : 스레드는 코드와 데이터 영역을 ..

이론/운영체제

[운영체제] Processes

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. 프로세스 (Process) 메모리에 할당된 실행 중인 프로그램 프로세스는 운영체제에서 작업의 단위 프로세스가 필요한 자원 CPU time memory files I/O device 메모리 구조 프로세스의 메모리 레이아웃은 여러 개의 섹션으로 나누어짐 text : 명령어들이 있는 영역 data : 전역 변수와 static 변수가 있는 영역 heap : 동적으로 할당되는 영역 stack : 함수 호출시 쌓이는 영역 (매개 변수, 지역 변수, return 주소값) 프로세스의 생명 주기 프로세스의 생명 주기를 통해 상태가 나누어지는데, 이를 이용해 운영체제가 프로세스들을 관리함 New : 프로세스가 생성된 상태 Running : CPU를 점유해 프로세스..

이론/운영체제

[운영체제] O/S Structures

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. 운영체제의 정의 하드웨어 제어, 사용자와 어플리케이션 프로그램에 서비스를 제공하는 소프트웨어 컴퓨터에서 항상 실행하고 있는 프로그램 → 여기서 핵심은 커널(Kernel) 프로그램의 두 가지 타입 시스템 프로그램 응용 프로그램 커널 커널에서 시스템 프로그램과 어플리케이션 프로그램에 대한 인터페이스 제공 인터럽트 (Interrupts) CPU와 I/O device가 서로 통신하는 방법 중 하나 하드웨어가 언제나 인터럽트를 트리거 시킬 수 있음 트리거 시키면, 시스템 버스를 통해 CPU에 신호를 보냄 저장 시스템 용량, 속도에 따라 계층 구조가 나뉨 계층 구조 (상위 → 하위) CPU 내부에 있는 레지스터 캐시 메인 메모리 (RAM) SSD (soli..

조 히
'이론/운영체제' 카테고리의 글 목록