OS
-
[OS] Interrupt 인터럽트란?CS 2021. 8. 15. 23:45
인터럽트란? CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것 우선적으로 처리해야할 일이 발생하였을 때 그것을 처리하고 원래 동작으로 돌아옴 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나눔 하드웨어 인터럽트 일반적으로 인터럽트를 이르는 말 CPU외부로부터의 인터럽트 요구 신호에 의해 발생되는 인터럽트 Maskable interrupt, Non-maskable interrupt 가 있다. (Interrunpt Mask가 가능) Maskable interrupt - Interrupt Mask(인터럽트가 발생하였을 때 요구를 받아들일지 말지 지정하는 것)가 가능 - 인텔CPU 에서 INTR pin으로 신호..
-
[DB] SQL - JOIN문, JOIN 종류 (Inner Join,Natural Join,Outer Join,Cross Join)CS 2021. 8. 9. 04:33
1. Join이란? 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여준다. 2. 기본 구조 1) 일반 SELECT 테이블.컬럼, 테이블.컬럼 FROM 테이블1,테이블2 WHERE 조건 3. Join 의 종류 Inner Join Natural Join Outer Join Left Join Right Join Cross Join ① 내부 조인 (Inner Join) 1) SELECT 조회할 컬럼 FROM 테이블1, 테이블2 [WHERE 조건문] 2) SELECT 조회할 컬럼 FROM 테이블1 (INNER) JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼 [WHERE 추가조건] 기준 테이블과 조인 테이블 모두에 조인 컬럼 데이터가..
-
[Network] TCP/IP 흐름제어 & 혼잡제어CS 2021. 7. 26. 06:29
>>TCP란? ☑️ 흐름 제어? 혼잡 제어? : 혼잡 상황이 발생하면 네트워크 자원이 낭비되므로 혼잡 상황을 최소화 하기 위한 기법 흐름 제어: 송신측과 수신측의 데이터 처리 속도 차이를 해결하기 위한 기법. 송신측의 데이터 전송량 제어 혼잡 제어: 송신측의 데이터 전달과 네트워크 상의 데이터 처리 속도 차이를 해결하기 위한 기법. 송신측의 데이터 전송 속도 제어 ✅ 흐름 제어 Flow control 1. Stop and wait 방식 매번 전송한 패킷에 대해 확인 응답을 받아야만 그 다음 패킷을 전송하는 방법 (비효율적) 2. Sliding window 슬라이딩 윈도우 기법 수신 측에서 설정한 윈도우 크기만큼은 송신 측에서 확인 응답ACK를 받기 전에 전송 가능. 송신 버퍼의 범위는 수신 측의 여유 버..
-
[OS] 페이지 교체 알고리즘 - FIFO/LRU/LFU/MFU/NURCS 2021. 7. 18. 05:19
💡 페이지 교체 알고리즘 운영체제는 주기억장치보다 더 큰 용량의 프로그램을 실행하기 위해 프로그램의 일부만 주기억장치에 적재하여 사용한다. 이를 가상메모리 기법이라 한다. 페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 주기억장치에 적재되지 않았을 시(페이지 부재) 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 방법을 페이지 교체 알고리즘이라고 한다. * 프레임: 물리 메모리를 일정한 크기로 나눈 블록 * 페이지: 가상 메모리를 일정한 크기로 나눈 블록 ✅ 페이지 교체 알고리즘의 종류 OPT - Optimal : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체 FIFO - First In First Out LRU - Least Recently Used : 가장 오랫동안 사용되지 않은..
-
[OS] 세그멘테이션 SegmentationCS 2021. 6. 27. 21:42
페이징 : 프로세스를 정확하게 일정한 간격(페이지)으로 잘라 메모리에 적재하는 방법 세그멘테이션 : 프로세스를 논리적 단위(세그먼트)로 잘라서 메모리에 적재하는 방법 ✔️세그멘테이션 페이징과 같이 가상 메모리를 관리하는 기법 중 하나. 세그멘테이션에서는 프로세스= 세그먼트의 집합 프로세스를 논리적 내용을 기반으로 나눠 메모리에 배치. => 각 세그먼트는 연관된 기능을 수행하는 하나의 모듈 프로그램 한 프로세스는 기본적으로 세가지 segment로 나눌 수 있음 (그 안에서 각각 더 작은 세그먼트로 나눌수도 OO) - Text(=code) segment(Read) - 프로그램의 기계어 명령이 들어있음 - Data segment(Read & write) - 초기화 된 전역변수, 정적 변수 저장 - Stack ..