1장 데이터 모델링의 이해 스키마 개념 스키마 조직체 전체를 관장하는 입장에서 DB를 정의한 것 DB 전체를 기술한 것이기 때문에 한 개밖에 존재할 수 없음 DB의 전체적인 논리적 구조 스키마 라고 하면 보통 이 친구 내부 스키마 물리적인 저장장치 입장에서 DB가 저장되는 방법을 기술한 것 구체적으로 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한 것으로서, 주된 내용은 실제로 저장될 내부레코드 형식, 내부레코드의 물리적 순서, 인덱스의 유/무 데이터의 실제 저장방법을 기술 외부 스키마 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치 화면을 통해 사용자에게 보여줄 것인가 전체 데이터 베이스의 한 논리적 부분 → 서브 스키마 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할..
네트워크 터널링 연결해야 할 두 지점 간에 마치 터널이 뚫린 것처럼 통로를 생성하는 것. 패킷 내에 터널링할 대상을 캡슐화 시켜 목적지까지 전송 데이터 스트림을 가상의 파이프를 통해 전달시키는 기술 인터넷을 사적이고 안전한 네트워크의 일부로 사용하게 하는 기술 경유지를 통하지 않고 두 지점을 바로 연결하게 함 터널링 되는 데이터를 페이로드(Payload)라고 부르며 터널링 구간에서 페이로드는 전송되는 데이터로만 취급, 내용이 변하지 않음 VPN 터널링 기법 PPTP(Point to Point Tunneling Protocol) MS사에서 개발한 패킷 전송 프로토콜 RFC 2637이라는 기술 문서를 통해 표준화 규격이 발표됨 IP를 통과하는 모든 패킷을 암호화하기 때문에 모든 운영체제에서 사용이 가능 PP..
데드락(Deadlock) == 교착상태 리소스에 대한 요청이 뒤엉킨 상태 서로 다른 프로세스가, 서로 점유하고 있는 자원을 기다릴 때 무한 대기에 빠지는 상황 데드락 발생 조건 아래 4가지 조건이 동시에 성립해야 발생함 상호 배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있음 점유 대기 프로세스가 할당된 자원을 가진 상태에서 다른 자원을 기다림 비선점 프로세스가 작업을 마친 후 자원을 자발적으로 반환할 때까지 기다림 순환 대기 프로세스의 자원 점유 및 점유된 자원의 요구 관계가 원형을 이루면서 대기하는 조건 데드락 해결 방법 예방(Prevention) 위 발생 조건 4가지 중 하나를 방지하여 데드락 발생을 예방하는 방법 상호 배제 방지 점유 대기 방지 비선점 방지 순환 대기 방지 위 예방 방법은 ..
프로세스 동기화 💡 여러 개의 프로세스가 동시에 실행될 때, 서로가 영향을 주지 않도록 프로세스 간의 상호작용을 조절하는 것을 프로세스 동기화라고 함 여러 프로세스가 서로 협력해 공유 자원을 사용하는 상황에서 경쟁(race condition)이 발생하면 공유 자원의 신뢰성이떨어짐 Critical Section(임계 영역) 공유 데이터를 접근하는 코드 부분을 의미 하나의 프로세스만 사용할 수 있는 구역 공유되는 자원에서 문제가 발생하지 않도록 독점 보장 Mutual Exclusion(상호 배제) Progress(진행) Bounded Waiting(한정 대기) 스핀락(Spinlock) 특정한 자료구조를 획득(lock), 또는 해제(unlock) 함으로써 공유 데이터에 대한 접근 권한을 관리하는 방식 권한을 ..
프로세스의 개념 실행 중인 프로그램 비동기적 행위 실행 중인 프로시저 실행 중인 프로시저의 제어 추적 운영체제에 들어 있는 프로세스 제어 블록 프로세서에 할당하여 실행할 수 있는 개체 디스패치가 가능한 대상 💡 프로시저 : 루틴, 서브루틴, 함수와 같은 뜻으로 사용되며, 하나의 프로시저는 특정 작업을 수행하기 위한 프로그램의 일부이다. 또는 어떤 행동을 수행하기 위한 일련의 작업 순서를 말한다. 💡 디스패치 : 준비 리스트의 맨 앞에 있던 프로세스가 CPU를 점유하게 되는 것, 즉 준비 상태에서 실행 상태로 바뀌는 것을 디스패치라고 한다. 💡 프로세스 제어 블록(Process Control Block, PCB) : 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조. 운영체제가..
라우팅 패킷을 목적지까지 전달하는 빠른 경로를 찾아주는 작업 A.B… F는 라우터를 나타내고 라우터를 연결하는 링크에 기록된 숫자는 이 링크를 지나가는데 소요되는 코스트를 의미 코스트란 패킷이 이 링크를 지나가는데 걸리는 시간을 의미 C → F 가장 빨리 전달될 수 있는 경로는 C→ B →E → F 하지만 C 라우터에서 모든 경로에 대해서 알고 있는 것이 아니라 인접한 노드 중에서 최적을 찾음 이와 같이 라우팅이 이루어 지려면 라우터는 목적지를 찾아가기 위한 최적의 경로를 알고 있어야 하는데, 최적의 경로를 찾아내기 위해서 라우팅 알고리즘 사용 패킷이 도착할 때 마다 라우팅 알고리즘을 실행하는 것이 아니라, 어느 경로가 최적인지를 먼저 구해놔야 함 라우팅 알고리즘을 통해 얻은 정보를 정리해 둔 것 ⇒ 라..
TCP 흐름제어와 혼잡제어 흐름제어 흐름제어란 ? 송신 측과 수신 측의 TCP 버퍼 크기 차이로 인해 생기는 데이터 처리 속도 차이를 해결하기 위한 기법 흐름 제어 기법 Stop and Wait 매번 전송 패킷에 대해 확인 응답(ACK)을 받으면 다음 패킷을 전송하는 방법 패킷을 하나씩 보내기 때문에 비효율적 Sliding Window 수신 측에서 설정한 윈도우 크기만큼 송신 측에서 확인 응답(ACK) 없이 전송할 수 있게 하여 데이터 흐름을 동적으로 조절하는 제어 기법 ✨ 윈도우 크기 ? 최초의 윈도우 크기는 3way handshaking을 통해 수신 측 윈도우 크기로 설정되며, 이후 수신 측의 버퍼에 남아있는 공간에 따라 변한다. 윈도우 크기는 수신 측에서 송신 측으로 확인 응답(ACK)을 보낼 때 ..
1강 운영체제가 뭐길래? 정보란건 뭘까? 정보의 최소 단위 : bit(Binary digit) 정보의 처리 : 정보의 상태 변환(0에서 1로, 1에서 0으로) 부울 대수(Boolean Algebra) : NOT, AND, OR 논리 게이트 : NOT, AND, OR, XOR, NAND, NOR 논리 회로 : IC, LCI, VLCI, ULCI, SoC 정보의 저장과 전송 : 플립-플롭, 데이터 버스, RF 무어의 법칙 황의 법칙 그래서, 컴퓨터가 정보를 어떻게 처리하죠? 덧셈은 ? 반가산기, 전가산기 뺄셈은 ? 2의 보수 표현법 곱셈과 나눗셈은 ? 덧셈과 뺄셈의 반복 → 단일 회로로 구현 가능 실수 연산은 ? 부동 소수점 표현법, 별도의 회로로 구성하면 GPU? 함수는 ? GOTO 그럼, 컴퓨터는 만능인..