본문 바로가기
728x90

CS9

[OS] 물리 메모리 관리 메모리 관리 CPU의 작업 공간 = 메모리, 모든 프로그램은 메모리에 올라와야 실행 가능 메모리 구조는 1B 크기로 나뉨, 각 영역은 메모리 주소로 구분 (0번지부터 시작) 메모리 주소 레지스터 (MAR) : CPU가 메모리에 있는 내용을 가져오거나 작업 결과를 메모리에 저장하기 위해 사용 - 메모리 관리의 이중성 프로세스 입장에서는 메모리를 독차지하려 하고, 메모리 관리자 입장에서는 되도록 관리를 효율적으로 하고 싶어 하는 것 프로세스 입장에서의 작업의 편리함과 관리자 입장에서 관리의 편리함이 충돌을 일으키는 것 소스코드의 번역과 실행 - 컴파일러와 인터프리터 저급 언어 (low level language) : 컴퓨터의 동작을 가장 직접적으로 표현한 언어, 기계어(0과 1)/어셈블리어 고급 언어 (hi.. 2021. 12. 9.
[OS] 교착 상태 교착 상태 (dead lock) 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 아사 현상과 달리, 정책상 잘못이나 오류가 없어도 자연적으로 발생 - 교착 상태의 발생 시스템 자원, 공유 변수 (또는 파일), 응용 프로그램 사용 시 발생 시스템 자원 : 어떤 프로세스가 임계구역으로 보호되는 프린터, 스캐너, CD 레코더 등 동시에 같이 사용할 수 없는 시스템 자원을 할당받은 후 양보하지 않는 경우 공유 변수 : 한 변수를 할당받은 상태에서 다른 변수를 기다릴 경우, 모든 프로세스가 임계구역에 들어가지 못하는 교착 상태 발생 (무한 대기) 응용 프로그램 : 데이터베이스가 데이터 일관성을 유지하기 위해 사용하는 잠금에서 교착 상태 발생 가능 자원 할당 그.. 2021. 12. 9.
[OS] 임계구역, 임계구역 해결 공유 자원 shared resource 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등 공동으로 이용되기 때문에 프로세스들의 접근 순서를 정하여 예상치 못한 문제가 발생하지 않도록 해야함 경쟁 조건 (race condition) : 2개 이상의 프로세스가 공유 자원을 병행적으로 읽거나 쓰는 상황 임계구역 critical section 공유 자원 접근 순서에 따라 실행 결과가 달라지는 프로그램의 영역 임계구역에서는 프로세스들이 동시에 작업하면 안 됨 - 생산자-소비자 문제 (producer-consumer problem) 생산자는 계속 물건을 생산해 버퍼에 넣고 : input(buf) 소비자는 계속 버퍼에서 물건을 가져온다 : output(buf) 버퍼는 작업을 계속하기 위해 원형 버퍼(circ.. 2021. 12. 6.
[OS] 프로세스 간 통신 프로세스 간 통신 : 프로세스는 시스템 내에서 독립적으로 실행되기도 하고 데이터를 주고받으며 협업하기도 함 프로세스 내부 데이터 통신 : 하나의 프로세스에 2개 이상의 스레드가 존재하는 경우의 통신, 전역변수, 파일 이용 프로세스 간 데이터 통신 : 같은 컴퓨터에 있는 여러 프로세스끼리 통신, 공용파일, 파이프 이용 네트워크를 이용한 데이터 통신 (= 네트워킹) : 여러 컴퓨터가 네트워크로 연결된 경우, 소켓 이용 - 프로세스 간 통신 분류 분류 방식 종류 설명 예 통신 방향 양방향 통신 데이터를 동시에 양방향으로 전송할 수 있는 구조 소켓 반양방향 통신 데이터를 양방향으로 전송할 수 있지만 동시 전송은 불가 무전기 단방향 통신 데이터를 한쪽 방향으로만 전송할 수 있는 구조 전역 변수, 파일, 파이프 통.. 2021. 12. 5.
728x90