본문 바로가기
728x90
반응형

컴퓨터과학4

동기(sync)/비동기(async) , 블로킹(blocking)/논블로킹(nonblocking) 쉽게 이해하고 완전 정복 하자 with 예제코드 with java Contents  -->    예전에 공부했는데 다시보면 헷갈리는 동기,비동기, 블로킹,논블로킹에 대해 마스터 하겠다고 생각하고정리한내용을 적어봅니다. 동기(Sync) Vs 블록킹(Blocking)일단 제목만 봐도 두개가 다른 개념이라는것을 알수있다. 한번 정의를 내려보자 동기(Sync):작업들이 순차적으로 실행되고, 다음 작업은 이전 작업이 완료될 때까지 기다립니다. 이는 여러 작업들이 순서대로 진행되는 것을 의미합니다.블로킹(Blocking):한 작업이 완료될 때까지 다른 작업을 멈추고 대기하는 것을 의미합니다. 보통 입출력 작업이나 네트워크 호출과 같은 I/O 작업에서 발생합니다. 두개의 개념은 비슷하면서도 다른의미를 가지고 있다. 즉, 동기적 작업은 순서대로 실행되지만, 블로킹이 발생할 수도 있고.. 2024. 5. 8.
DMA(Direct Memory Access)란 왜사용할까? - 수정중 Contents  --> 입출력 제어 방식프로그램(프로세스)에 의한 I/O (cpu 개입)인터럽트에 의한 I/O (cpu 개입)DMA에 의한 I/O (cpu 개입하지 않음)채널에 의한 I/O (cpu 개입하지 않음)  DMA (직접 메모리 접근) DMA는 주변장치 (하드디스크,그래픽카드)등이 메모리에 직접 읽거나 쓸수있도록 하는 기능입니다. DMA는 Cpu의 개입없이 I/O를 진행하는 방식입니다. Cpu PIO 토대로 주변장치와 데이터를 주고받으며 , cpu 싸이클을 돌며 데이터를 주고받기떄문에 약간에 딜레이가 존재합니다. ( 대기,실행,준비 등 사이클을 반복하며 프로세스가 동작함) 이를 극복하기위해 DMA기술이 개발되었습니다.  예를 들어, 시스템에 CPU 자체, RAM 및 I/O 장치 등 3개의 구성.. 2024. 5. 8.
NAT (Network Address Translation)란? - 수정중 Contents  --> NAT(Network Address Translation)란? 결론부터 말하자면 IP 주소를 변환하겠다는 것이다. 대게 사설 네트워크들은 여러개의 호스트가 하나의 공인 IP를 사용한다. IP갯수는 한정적이고 IP를 사용하는 호스트들은 점점 늘어나며 그로인해 IP갯수의 모자람을 방지하기 위해 가정마다 공인 IP 하나씩만을 사용하고 사설네트워크를 구축하여 사용한다. 즉 공인 IP가 231.121.222.122이라고 치면 해당 가정에서 3개의 PC를 가지고 있다면 사설네트워크를 사용하여 192.168.0.1, 192.168.0.2, 192.168.0.3 이렇게 내부망에서만 사용하는 IP를 사용한다. 하지만 여기서 문제는 192.168.0.1, 192.168.0.2, 192.168.0... 2024. 4. 30.
직렬화란?(serialization),역직렬화란?? java.io.Serializable Contents  -->    직렬화란 무엇인가?? 데이터 직렬화(serialization)이란 메모리 데이터를 디스크에 저장하거나, 네트워크 통신에 사용하기 위해 해당 데이터 형식으로 변환하는 것을 말한다.역직렬화(deserialization)이란 그 반대 개념으로, 디스크나 네트워크에서 받은 데이터를 메모리에 쓸 수 있도록 변환하는 것이다. 데이터 직렬화는 데이터의 전송/저장 혹은 설정 파일 등에 사용된다.  값을 직렬화 하자 int t = 0; //기본형 변수 Integer g = 5; //참조형 변수 자바에선 위와같이 , 기형 , 참조형으로 데이터를 저장한다. 값형은 메모리상에 직접적으로 데이터가 들어가있는 경우고 참조형 같은경우에는 값을 가리키고 있는 메모리 주소값을 저장한다. 만약 .. 2024. 4. 25.
728x90
반응형