본문 바로가기

전공/운영체제

(6)
[운영체제]7장 물리 메모리 관리 책 "쉽게 배우는 운영체제"를 참고하여 쓴 글입니다 메모리 관리의 개요 메모리 이해하기 메모리: 폰노이만 구조에서의 유일한 작업 공간 주소: 1B로 나뉜 각 영역, 데이터를 가져오거나 작업 결과를 메모리에 저장하기 위해 사용 캐시: CPU와 메모리의 속도 차이 극복 위해 CPU안에 캐시를 만들어두고 메모리의 일정부분을 미리 가져와(prefetch) 작업 메모리 관리의 이중성 메모리 관리 시스템(MMS): 메모리 관리 담당 메모리 관리의 이중성 프로세스 입장: 메모리 독차지 메모리 관리자 입장: 관리를 효율적으로 소스코드의 번역과 실행 소스코드의 번역 방식: 프로그램은 프로그래밍 언어로 만들고 프로그램은 컴파일러를 사용하여 실행 가능한 코드로 변경 저급언어: 기계어, 어셈블리어 고급언어: C언어, 자바 언..
[운영체제]6장 교착 상태 책 "쉽게 배우는 운영체제"를 참고하여 쓴 글입니다 교착 상태의 개요 교착 상태의 정의 교착 상태: 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태, 여러 프로세스가 작업을 진행하다가 자연적으로 일어나는 문제 아사 현상: 운영체제가 잘못된 정책을 사용하여 특정 프로세스의 작업이 지연 교착 상태의 발생 시스템 자원 다른 프로세스와 공유할 수 없는 자원을 사용할 때 교착 상태 발생 공유 변수 공유 변수를 사용할때 교착 상태 발생 한 변수를 할당받은 상태에서 다른 변수를 기다리면 교착 상태 발생 응용 프로그램 데이터베이스는 데이터의 일관성을 유지하기 위해 잠금을 사용, 이때 교착 상태 발생 가능 자원 할당 그래프 프로세스가 어떤 자원을 사용 중이고 어떤 자..
[운영체제]5장 프로세스 동기화 책 "쉽게 배우는 운영체제"를 참고하여 쓴 글입니다 프로세스 간 통신(IPC: Inter Process Communication) 프로세스 간 통신의 개념 프로세스 내부 데이터 통신: 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우, 데이터 주고받는 방법을 프로세스끼리 알아서 결정 프로세스 간 데이터 통신: 같은 컴퓨터에 있는 여러 프로세스끼리 통신, 보통 파이프는 fork()로 만들어진 부모-자식 간 통신에 사용 네트워크를 이용한 데이터 통신: 여러 컴퓨터가 네트워크로 연결되어 있을때의 통신, 소켓을 이용한 통신, 같은 컴퓨터 내에서 소켓 통신은 비효율적, 임의의 포트를 정하고 해당 포트간의 대화를 통해 데이터 주고받는 방식 프로세스 간 통신의 분류 양방향 통신: 데이터를 동시에 양쪽 방향으로..
[운영체제]4장 CPU 스케줄링 책 "쉽게 배우는 운영체제"를 참고하여 쓴 글입니다 스케줄링의 개요 CPU 스케줄링 고수준 스케줄링(장기 스케줄링, 작업 스케줄링): 시스템 내의 전체 작업 수를 조절하는 것이다. 이를 통해 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수가 정해진다. 저수준 스케줄링(단기 스케줄링): 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정한다. 중간 수준 스케줄링: 중지와 활성화로 전체 시스템의 활성화된 프로세스 수를 조절하여 과부화를 막는다. 일부 프로세스를 중지 상태로 옮김으로써 나머지 프로세스가 원만하게 작동하도록 지원한다. 스케줄링의 목적(중요) 공평성: 모든 프로세스가 자원을 공평하게 배정받아야 하며, 그 과정에서 특정 프로세스가 배제되어서는 안된다. 효율성: 시..
[운영체제]3장 프로세스와 스레드 책 "쉽게 배우는 운영체제"를 참고하여 쓴 글입니다 프로세스의 개요 프로세스의 개념 프로세스: 하나의 작업 단위, 실행을 위해 메모리에 올라온 동적인 상태이다. 프로세스 운용 기법 일괄 작업 방식 시분할 방식 프로그램에서 프로세스로의 전환 시분할 방식 시스템에서 프로그램이 프로세스로 전환될 때 운영체제가 프로그램을 메모리의 적당한 위치로 가져옴 -> 작업 지시서 만듬 == 프로세스 제어 블록 (PCB) 프로세스 제어 블록(PCB): 아래 정보를 보관하는 데이터 구조 프로세스 구분자(PID): 각 프로세스를 구분하는 구분자 메모리 관련 정보: 프로세스의 메모리 위치 정보 각종 중간값: 프로세스가 사용했던 중간값 프로세스의 상태 프로세스의 네 가지 상태(간단한 상태) 생성 상태: 프로세스가 메모리에 올라와 ..
[운영체제] 2장 컴퓨터의 구조와 성능 향상 책 "쉽게 배우는 운영체제"을 참고하여 쓴 글입니다 컴퓨터의 기본 구성 하드웨어의 구성 중앙처리장치(CPU), 메인메모리, 입력장치, 출력장치, 저장장치 폰노이만 구조 폰노이만 구조: CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어 있는 구조 ⇒ 모든 프로그램은 메모리에 올라와야 실행할 수 있다 요리사 모형 요리사(CPU), 도마(메모리), 냉장고(저장장치) 요리 방법 결정 ↔ 프로세스 관리 도마 정리 ↔ 메모리 관리 보관 창고 정리 ↔ 저장장치 관리 CPU와 메모리 CPU의 구성과 동작 CPU: 명령어를 해석하여 실행하는 장치 → 산술논리 연산장치, 제어장치, 레지스터로 구성 산술논리 연산장치(ALU): 산술연산, 논리연산 수행 제어장치: CPU에서 작업을 지시하는 부분 레지스터: 데이터를 임..