-
[OS / 운영체제] Swapping, Contiguous Memory Allcoation, Fragmentation, Paging,
Swapping 현재 프로세스에서 다른 프로세스로 Switching이 일어나려고 한다. 프로세스 크기를 100MB로 가정. 디스크의 latency가 8ms 정도 걸린다. 2초에다가 8ms 정도 추가된다. 2008ms 걸리게 되고 Swap out과 Swap in 총 2번 일어나고 4016ms가 걸린다고 할 수 있다. Context Switching 할 때 걸리는 숫자이다. Time slice가 보통 10 ~ 100 ms 하는데 Context Switching 할 때 4초가 걸린다는 것은 너무 오래 걸리는 것이다. disk transfer rate를 늘리기 위해서 Hard Dist를 SSD로 바꾸는 등의 작업이 필요하다. 사용에 필요한 프로세스만 넘기는 것으로 Context Switching을 해야 한다. ..
2022.05.30
-
[OS / 운영체제] Address Binding, Logical vs Physical Address Space, Dynamic Linking and Shared Library, Swapping
Basic HardWare 하드웨어가 자동적으로 벗어났는지 아닌지를 확인해준다. Memory Management Unit. 아주 빠른 시간에 처리를 한다. 현재 프로세스의 시작점은 base라고 한다. 주소를 달라고 하면 base와 비교를 해서 아래 있으면 NO (Interrupt가 발생)위에 있으면 YES를 얻게 된다. base보다 큰 값이면 다음 Task를 비교한다. base + limit을 해서 주소값을 얻고 이보다 크게 되면 Segmentation fault를 보게 된다. 이 모든 것을 HardWare가 한다는 것을 기억하자. base와 limit이 저장되는 곳은 래지스터이다. 아주 빠른 시간에 처리를 할 수 있다는 것이다. Base/limit 래지스터는 priviledge ~ 이 문장 확인해볼 것..
2022.05.26
-
[OS / 운영 체제] Monitors, Condition Variable, Implementing a Monitor Using Semaphore, Deadlock and Starvation, Bounded Buffer Problem
Monitors Monitor에서 실행할 수 있는 것 자체가 Resource이다. Spin lock과 Block의 방법으로 Waiting 시키는 방법을 사용한다. Waiting 은 Linked List로 구현을 한다. Monitor 자체는 Mutual Exclusion을 지원하기 때문에 신경쓰지 않아도 된다. Monitor in Java synchronized라는 키워드를 제공한다. 메소드를 정의할 때 사용을 하면 한 번에 하나의 Thread만이 실행될 수 있는 함수인 것이다. System.Threading.Monitor의 특성을 전해 받으면 Monitor의 특성을 가질 수 있게 된다. Condition Variable 얼음 땡 놀이. 변수를 선언하고 x.wait으로 실행을 하면 얼음과 동일한 상태가 된..
2022.05.19
-
[네트워크] Network | UDP의 특징, rdt 프로토콜의 발전, GBN과 SR 프로토콜의 장단점
왜 애플리케이션 개발자가 TCP 보다 UDP 방식으로 애플리케이션을 개발하려고 하는지 알아보자. 애플리케이션 레벨이 데이터 송신에 대해서 정교한 제어를 할 수 있다는 특징이 있다. 애플리케이션 프로세스가 데이터를 UDP에게 전달하자마자 UDP는 데이터를 UDP 세그먼트로 만들고, 즉시 그 세그먼트를 네트워크 계층으로 전달한다. 이에 반해서 TCP는 혼잡 제어 메커니즘을 가지고 있다. 반면 UDP는 기본 세그먼트 전달 외에 필요한 어떤 추가 기능을 구현할 수 있다. 두 번째로 연결 설정이 없다는 것이다. TCP는 데이터 전송을 시작하기 전에 Handshake를 사용한다. 반면에 UDP는 형식적인 예비동작 없이 전송한다. 그러므로 UDP는 연결을 설정하기 위한 어떤 지연도 없다. 세 번째로 연결 상태가 없다..
2022.10.12
-
[네트워크] Network | Logical Communication 이란? TCP와 UDP 특징 및 Demultiplexing의 개념
트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신 (Logical communication)을 제공한다. 논리적 통신은 애플리케이션 관점에서 보면 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다는 것을 의미한다. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메시지를 트랜스포트 계층 세그먼트인 트랜스포트 계층 패킷으로 변환한다. 수신자는 전달받은 세그먼트들을 합쳐서 애플리케이션 계층으로 다시 전달한다. 인터넷은 TCP와 UDP라는 두 가지 프로토콜을 가지고 있다. 두 집안이 있다고 가정하자. 하나는 동부, 하나는 서부에 있다. 그리고 집안마다 12명의 아이들이 있는데, 동부 집안의 아이는 서부 집안의 아이와 사촌지간이다. 두..
2022.10.07
-
[네트워크] Network | Caching, DNS Record, Peer-to-peer architecture, File-distribution, BitTorrent
실제로 DNS는 지연 성능 향상과 네트워크의 DNS 메시지 수를 줄이기 위해 캐싱을 사용한다. DNS 서버가 DNS 응답을 받았을 때 그것을 로컬 메모리에 응답에 대한 정보를 저장할 수 있다. 만약 호스트 네임과 IP 주소 쌍이 DNS 서버에 저장되고 다른 호스트 네임으로부터 같은 질의가 DNS 서버로 도착한다면, DNS 서버는 호스트 네임에 대한 책임이 없을 때조차 원하는 IP 주소를 제공할 수 있다. DNS 분산 데이터베이스를 구현한 DNS 서버들은 호스트 네임을 IP 주소로 매핑하기 위한 Resource Record (RR)를 저장한다. 각 DNS는 하나 이상의 RR를 가진 메시지로 응답한다. 자원 레코드(RR)는 다음과 같은 필드를 포함하는 4개의 투플로 되어있다. Type=A 이면 Name은 호..
2022.10.03
-
컴퓨터 비전 | Color Conversion, Split & merge function, White balancing
Color space를 변경하기 위한 여러 방법이 존재한다. Input Image를 입력받게 되면 RGB Color로 받게 되는데, 사용자가 원하는 Space로 변경하는 함수를 사용하면 변경할 수 있다. cvtColor 함수를 사용할 때 첫 번째 파라미터는 Input Image이고 두 번째 파라미터는 Output matrix 이다. 세 번째 파라미터는 어떤 Space로 변경할 지 넣어주면 된다. 이 경우 BGR2YUV로 YUV에 해당하는 Space로 변경해주는 코드이다. split 함수를 사용하면 각 채널에 해당하는 Matrix로 변환할 수 있다. 첫 번째 파라미터가 Input Image로 들어오게 되고 만일 RGB 채널이라면 3 개의 채널이 필요하므로 두 번째 파라미터로 들어가게 되는 경우 Matrix..
2022.10.05
-
컴퓨터 비전 | Color Processing, Usage of HSI (Color Slicing, Color Conversion), White Balancing
Intensity Transformation, Histrogram Equalization, Spatial Filtering은 Color 이미지에 적용시키는 것이 보편적이지는 않다. 대신 우리는 RGB 채널을 HSI와 YCbCr 변환을 하고 적용을 시켜야 한다. Hue 채널에서 원하는 색상의 범위를 찾는다. Saturation 채널에 있는 모든 픽셀의 값을 0으로 초기화한다. 다음과 같은 방법으로 원하는 색상을 얻어낼 수 있다. 만약 Color conversion을 하고 싶은 경우 Hue 채널에 접근하여 색상의 범위를 변경하면 적용할 수 있다. 우리의 눈은 흑백 사진의 경우 30~50 개의 차이점 만을 구분할 수 있다. 정보를 더 많이 보기 위해서는 Gray Scale의 이미지를 Color Scale로 변..
2022.10.05
-
컴퓨터 비전 | ROI, Average filter code, Sharpening code, Median Filter Code
ROI란 Region Of Interest의 약자로 이미지 중 관심 있는 영역을 추출할 때 사용되는 용어이다. 사각형의 영역을 따기 위해서는 Rect 함수를 사용해서 이미지의 해당 영역에 대한 좌표를 정한다. 만들어진 rect 객체를 이미지 안의 파라미터로 넣게 되면 Return 값으로 해당 사각형 영역의 이미지의 Matrix가 나온다. Rect 의 x,y 좌표이므로 Column, Row 순으로 표시되는 것을 기억할 필요가 있다. (이상하게 맨날 기억못함) 두 Matrix를 합칠 때는 add 함수를 사용하면 각 픽셀의 값을 더해진 Matrix를 구할 수 있다. 그리고 이때 saturate 함수의 기능이 사용되는 데, 이 기능을 모르면 구글링으로 찾아보자. 이전 포스트에서도 언급을 했었다..! scaleA..
2022.10.04