패킷 교환 네트워크 주고받는 정보를 패킷(packet) 단위로 주고받는 네트워크 패킷이란 패킷 교환 네트워크에서 주고받는 데이터 단위 회선 교환 네트워크 정해진 회선(circuit)으로만 통신하는 네트워크 사전에 연결 수립 작업 다른 호스트는 도중에 끼어들 수 없음 장점: 전송률 보장 단점: 회선 이용률 저하 패킷 구성 요소 헤더(header): 패킷에 붙일 부가 정보 페이로드(payload): 패킷에 보낼 정보 [트레일러(trailer)]: 패킷 뒤에 붙일 부가정보 프로토콜(protocol) 장비 간 정보를 주고받을 규칙이나 방법 호스트 간에 합의된 의사소통 규칙 패킷의 헤더는 프로토콜의 영향을 받는다. (따라서 프로토콜이 달라지면 헤더의 내용이 달라질 수 있다.) 네트워크 참조 모델 OSI 모델 (이..
네트워크란? : 여러 장치들이 서로 정보를 주고받을 수 있는 통신망 인터넷이란? : 네트워크의 네트워크 컴퓨터 네트워크 구성 요소 노드 종간 시스템, 호스트 메세지를 최초로 송신, 생성하는 대상 '주소'를 통해 위치를 특정 ==> 유니캐스트: 1대1 통신 ==> 브로드캐스트: 1대 多 통신 ==> 멀티캐스트: 특정 그룹에게 통신 서버와 클라이언트 - 서버: 응답을 보내는 호스트 - 클라이언트: 요청을 보내는 호스트 (중간) 노드 ==> 네트워크 장비 (라우터, 스위치, 공유기...) 호스트와 배타적 개념은 아니다. 메세지 주고받는 정보 웹페이지, 사진, 동영상 간선 (통신 링크) 유선 케이블(트위스트 페어 케이블, 광케이블) 무선(와이파이)
1. 파일과 디렉터리 파일 시스템 : 파일과 디렉터리(폴더)를 관리하는 커널의 한 부분 다양한 파일 시스템이 있고, 여러 파일 시스템을 동시에 사용할 수 있다. 파일 : 보조기억장치의 의미있는 정보의 집합 구성 요소 - 이름 - 실행하기 위한 정보 - 메타데이터 / 속성 파일 속성 유형(확장자) 크기 생성 날짜 마지막 접근 날짜 마지막 수정 날짜 생성자 소유자 위치 파일(+디렉터리) 접근 단위 : 블록(block) - 섹터 단위로 접근하지 않는다. 디렉터리 : 많은 운영체제는 디렉터리를 파일과 동일하게 간주한다. 구성 요소 - 파일 이름 - 위치를 유추할 수 있는 정보 - (파일 속성) 파티셔님(partitioning): 보조기억장치의 영역을 구획하는 작업 파티션(partition): 보조기억장치에서 구..
1. 소프트웨어의 가치 소프트웨어는 시간에 지남에 따라 변화하는 요구사항에 적응할 필요가 있다. 따라서 소프트웨어 개발자는 새로운 가치를 제공할 수 있고, 변환하는 요구사항에 적응할 수 있는 소프트웨어를 만들 필요가 있다. 변화에 적응하는 소프트웨어의 특징 3가지 유연성 확장성 유지 보수성 2. 의존 사전적 정의: 어떠한 일을 자신의 힘으로 하지 못하고 다른 어떤 것의 도움을 받아 의지한다. 코드에서 표현되는 의존 객체 참조에 의한 연관 관계 메서드 리턴타입이나 파라미터로서의 의존 관계 상속에 의한 의존 관계 구현에 의한 의존 관계 /* 1. 객체 참조에 의한 연관 관계 */ class Car { constructor(brand) { this.brand = brand; } startEngine() { c..
1. 페이징과 페이지 테이블 스와핑(swapping) : 프로세스를 보조기억장치의 일부 영역으로 쫓아내고 당장 필요한 프로세스를 적재하는 메모리 관리 기법 스왑 아웃(swap-out) : 프로세스를 보조기억장치의 일부 영역으로 쫓아내는 것 스왑 인(swap-in) : 스왑 아웃된 프로세스를 메모리에 적재하는 것 스왑 영역 : 스왑 아웃된 프로세스가 적재되는 보조기억장치 영영 연속 메모리 할당 : 프로세스를 메모리에 연속적으로 배치하는 방식 ==> 부작용: 외부 단편화 > 프로세스들이 실행되고 종료되길 반복하며 빈 공간이 생기는 메모리 낭비 현상 연속 메모리 할당의 부작용을 극복할 수 있는 방법은? ==> 메모리와 프로세스를 일정 단위로 자르고 잘라진 공간에 프로세스를 할당하기 페이징 : 물리 메모리를 프..
1. 프로세스 동기화 운영체제가 제공하는 동기화의 의미 실행 순서 제어: 프로세스를 올바른 순서로 실행하기 상호 배제: 동시에 접근해서는 안되는 자원에 하나만 접근하기 동시에 실행되는 프로세스 예제 1 Book.txt가 없다면 파일을 만들고 값을 쓰고 저장하는 프로세스 Book.txt를 읽어들이는 프로세스 > 2번은 Book.txt가 없을 경우 실행할 수 없다. 따라서 1 => 2번 순서로 넘어가는게 맞다. 동시에 실행되는 프로세스 예제 2 2만원 입금 프로세스 잔액을 읽어들인다. 잔액에 2만원을 더한다. 더한 값을 저장한다. 5만원 입금 프로세스 잔액을 읽어들인다. 잔액에 5만원을 더한다. 더한 값을 저장한다. > 중간에 잔액이란 자원에 접근하는 프로세스를 순차적으로 진행하지 않는다면 원하는 결과인 1..