읽은 책 정리 53

[정리] 12 네트워크와 분산 시스템

목차 1. 네트워크와 인터넷 2. 분산시스템 3. 분산 시스템의 고가용성 1. 네트워크와 인터넷 1.1 통신과 네트워크 - 통신은 의사소통하는것을 뜻한다. 세월이 지나면서 아래와 같은 통신 방법들이 나오게되었다. 단방향 통신 : 한쪽 방향으로만 통신이 이루어지는 방식 > 모스부호, 라디오 , TV 등 이있다 양방향 통신 : 양쪽 방향으로 동시에 통신이 이루어지는 방식. > 일반적으로 전화기가 해당 반양방향 통신 : 단방향,양방향 통신의 중간형태. > 무전기가 대표적이다. 1.2 네트워크 환경의 발전 - 네트워크는 유/무선 통신 기술을 이용해 여러기기를 하나로 연결한것, 우리나라 말로는 '망'이라고 할수있다. 아날로그망 - 음성 신호를 전송한다. (전화기) 디지털망 - 디지털 데이터를 전송한다. (인터넷)..

[정리] 11 파일시스템

목차 1. 파일과 파일 시스템 2. 디렉터리의 구조 3. 디스크 파일 할당 4. 유닉스 파일의 특징 1. 파일과 파일 시스템 - 가상 메모리에서 메모리 관리자가 메모리를 관리하듯이, 파일의 경우 파일을 보관하고 관리하는 파일 관리자를 두어 저장장치의 전체 관리를 맡긴다. 이를 파일 시스템 이라고 한다. * 파일 디스크럽터 - 사용자가 특정 파일에 접근하려면, 파일 관리자로부터 얻어내야하는 파일에 접근할수 있는 권한. 1.1 파일 분류와 확장자 - 파일은 논리적인 데이터의 집합으로 0과 1의 비트 패턴으로 이루어지며, 운영체제의 입장에선 실행파일 과 데이터 파일로 나뉜다. - 실행파일을 제외한 나머지는 모두 데이터 파일의 확장자 이다. 실행 파일 - 운영체제가 메모리로 가져와 CPU를 이용해 작업하는 파일..

[정리] 09 가상메모리 관리

목차 1. 요구 페이징 2. 페이지 교체 알고리즘 3. 스레싱과 프레임 할당 4. 프레임 관련 이슈 * 가져오기 정책 - 프로세스가 필요로 하는 데이터를 언제 메모리로 가져올지 결정하는 정책 * 배치 정책 - 가져온 프로세스를 어느 위치에 올려놓을지 결정하는 정책 * 재배치 정책 - 메모리가 꽉 찼을때 메모리 내에 있는 어떤 프로세스를 내보낼지 결정하는 정책 1. 요구 페이징 - 프로세스가 필요로 하는 데이터를 언제 메모리로 가져올지 결정할때 가져오기 정책은 일반적으로 사용하는 방법인데, 이를 요구 페이징 이라 한다. - (현대 운영체제는 요구 페이징을 기본으로 채택해서 사용중 ). ( 필요한 모듈만 메모리에 올려 실행하고 나머지 모듈은 필요하다고 판단될 때 메모리로 불러온다. ) 장점 : 메모리 절약 ..

[정리] 08 가상 메모리 기초

목차 1. 가상 메모리의 개요 2. 페이징 기법 3. 세그먼테이션 기법 4. 세그먼테이션-페이징 혼용 기법 5. 캐시 매핑 기법 1. 가상 메모리의 개요 - 가상메모리는 물리메모리(실제 메모리)의 크기와 상관없이 메모리를 이용할 수 있도록 지원하는 기술. ( 가상메모리의 크기 : 전체 크기는 물리메모리와 스왑 영역을 합한 크기 ) 1.1 가상주소와 논리주소의 차이 논리주소 : 물리 메모리의 주소 공간 가상주소 : 물리 메모리의 공간이 아닌 가상의 주소 공간을 가진다. * 동적 주소 변환 : 메모리 관리자가 물리메모리와 스왑영역을 합쳐서, 프로세스가 사용하는 가상 주소를 실제 메모리의 물리주소로 변환하는 작업 1.2 매핑 테이블 - 메모리를 관리 할때 매핑 테이블을 작성하여 관리한다. - 가상 메모리 시스..

[정리] 07 물리 메모리 관리

목차 1. 메모리 관리의 개요 2. 메모리 주소 3. 단일 프로그래밍 환경에서의 메모리 할당 4. 다중 프로그래밍 환경에서의 메모리 할당 1. 메모리 관리의 개요 - 폰노이만 구조의 컴퓨터에서 메모리는 유일한 작업 공간이며, 모든 프로그램은 메모리에 올라와야 실행이 가능. 1.1 메모리 관리 시스템 - 메모리에는 사용자 프로세스뿐 아니라 운영체제 프로세스도 같이 공존한다. 여러 작업을 동시에 처리 할 때 메모리는 메모리 관리 시스템 이 담당해서 관리한다. 1.2 메모리 관리의 이중성 - 프로세스 입장에서 작업의 편리함과 관리자 입장에서 관리의 편리함이 충돌을 일으키는것을 말한다. ( 메모리 공간 관리는 매우 복잡하다. 작업하다 메모리가 부족하거나 빈공간이 남았을경우 어떻게 처리할지에 대한 충돌) 1.3 ..

[정리] 06 교착 상태

목차 1. 교착 상태의 개요 2. 교착 상태 필요조건 3. 교착 상태 해결 방법 1. 교착 상태의 개요 1.1 교착 상태의 정의 - 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기까지 기다리며, 작업을 더이상 진행하지 못하는 상태 ( 여러 프로세스가 작업을 진행하다보니 자연적으로 일어나는 문제이다. ) * 아사현상 - 운영체제가 잘못된 정책을 사용해, 특정 프로세스의 작업이 지연 되는 문제 (최단 작업 우선 스케줄링 알고리즘에서 작업 시간이 긴 프로세스가 작업시간 짧은 프로세스 때문에 작업이 진행 X) 1.2 교착 상태의 발생 - 교착상태는 시스템 자원, 공유변수(또는파일), 응용 프로그램등을 사용할때 발생 할수 있다. 시스템자원 - 한 프로세스가 임계구역으로 보호되는 프린터나,스캐너 등을 할당받아..

[정리] 05 프로세스 동기화

목차 1. 프로세스 간 통신 2. 공유 자원과 임계구역 3. 임계구역 해결 방법 4. 파일, 파이프, 소켓 프로그래밍 1. 프로세스 간 통신 - 독립적인 프로세스끼리 작업을 하다 서로 데이터를 주고 받아야 할때, 통신을 사용한다. 프로세스 내부 데이터 통신 - 하나의 프로세스 내에서 2개 이상의 스레드가 존재하는경우, [전역변수] or [파일]을 이용 프로세스 간 데이터 통신 - 같은 컴퓨터에 있는 여러 프로세스 끼리 통신하는경우, [공용파일] or [운영체제 파이프라인]을 이용 네트워크를 이용한 데이터 통신 - 여러 컴퓨터가 네트워크로 연결되어 있을때, [소켓]을 이용 1.1 프로스세 간 통신의 분류 - 프로세스 간 통신은 동시에 실행되는 프로세스끼리 데이터를 주고 받은 작업을 의미. - 데이터가 전송..

[정리] 04 CPU 스케줄링

목차 1. 스케줄링의 개요 2. 스케줄링 시 고려사항 3. 다중 큐 4. 스케줄링 알고리즘 5. 인터럽트 처리 1. 스케줄링의 개요 - CPU스케줄러는 프로세스가 생성된후 종료 될때 까지의 모든 상태 변화를 조정하는 일을 담당한다. ( 여러 프로세스의 상황을 고려하여, CPU와 시스템 자원을 배정할지에 대한 결정권을 가지고 있다.) 1.1 스케줄링의 단계 - CPU 스케줄링은, 규모에 따라 고수준/중간수준/저수준 스케줄링으로 구분됨. 1) 고수준 스케줄링 ( 승인 스케줄링 ) - 시스템내의 전체 작업수를 조절하는 역할. - 어떤 작업을 시스템이 승인할지, 거부할지 결정권자. 2) 중간 수준 스케줄링 - 프로세스가 승인이 되어 활성화가 되더라도 여러가지 상황으로 시스템에 과부화가 걸릴수 있다. 그럴때 중간..

[정리] 03 프로세스와 스레드

목차 1. 프로세스의 개요 2. 프로세스 제어 블록과 문맥 교환 3. 프로세스의 연산 4. 스레드 1. 프로세스의 개요 1.1 프로세스의 개념 - 프로세스는 하나의 작업단위이다. > 폰노이만 구조에서 프로그램이 실행된다는것은 해당 코드가 메모리에 올라갔다는 의미. (프로그램은 저장장치에 저장되어 있는 정적인상태, 프로세스는 실행을 위해 메모리에 올라온 동적인 상태.) (누군가 작성한 프로그램이 실행되면 프로세스가 되는것이다.) 1.2 프로그램에서 프로세스로의 전환 - 프로세스는 컴퓨터 시스템의 작업 단위로 태스크(task) 라고도 부른다. 1) 운영체제가 프로그램을 메모리의 적당한 위치로 가져온다. 2) 위의 동작과 동시에 프로세스 제어블록을 생성한다. 3) 프로세스 제어 블록을 운영체제가 받으면, 프로..

[정리] 02 컴퓨터의 구조와 성능 향상

목차 1. 컴퓨터의 기본 구성 2. CPU와 메모리 3. 컴퓨터 성능 향상 기술 4. 병렬 처리 1) 컴퓨터의 기본 구성 1.1) 하드웨어의 구성 - 컴퓨터는 CPU, 메인메모리, 입력장치, 출력장치, 저장장치로 구성 되어 있다. ( 컴퓨터의 작업 대부분은, CPU와 메인메모리의 협업으로 이루어진다. 메인 메모리는 전력이 끊기면 데이터를 잃어버리기 때문에 데이터를 영구히 저장할 하드 디스크(HDD, SDD) 등 장비 추가 사용) 1.2) CPU와 메모리 - CPU는 명령어를 해석하여 실행하는 장치. 인간의 두뇌와 같은 역할. - 메모리는 작업에 필요한 프로그램과 데이터를 저장하는 장소. 1.3) 메인보드 - 메인보드는 CPU와 메모리등 다양한 부품을 연결하는 커다란판. ( 컴퓨터도 일정한 규칙에 따라 ..