본문 바로가기

전체 글96

[GCP] VPC Service Control VPC Service Control 1. Google Cloud 외부에서 내부로 API를 호출할 때, 특정 서비스에 대한 API를 막을 수 있음 (blacklist) -> GCP firewall 만으로는 Service Account로 인터넷을 통해 접근하는 특정 서비스 API 호출을 막을 수 없음 -> GCP IAM은 권한에 따라 특정 서비스 API 호출을 승인하는 기능 (whitelist) 2. 권한이 있는 정당한 사용자(IAM)라도 특정 IP, SA, Device를 통한 접근만 가능하도록 제약 가능 -> 자료 유출 방지 3. public 접근이 가능하게 설정될 수 있는 서비스들(ex: GCS, BigQuery, 기타 등등)의 외부 접근을 미리 차단할 수 있음 -> Human Error 방지 Use C.. 2022. 2. 16.
Mutex, Semaphore, Critical Section Critical Section - 다중 프로그래밍 OS에서 여러 프로세스가 데이터를 공유할 때, 코드 내에서 공유 데이터에 접근하는 부분 - 한 프로세스가 공유 데이터 코드 부분(Critical Section)을 수행 도중 다른 프로세스가 접근하는 경우, 데이터의 무결성이 보장되지 않음 -> 한 프로세스가 데이터를 점유하는 동안 다른 프로세스는 접근할 수 없게 막아야 함 Mutex Semaphores Critical Section을 구현하기 위한 기술 중 하나 Critical Section이 적용되는 공유 데이터가 하나 Critical Section이 적용되는 공유 데이터가 하나 이상 lock으로 자원 점유, 해제 Count로 자원 점유, 해제 소유 가능 소유 불가능 Mutex를 소유하고 있는 쓰레드만 .. 2022. 2. 15.
Process, Thread Process - 실행 중인 Program (-> 메모리에 할당되어 돌아가고 있는 프로그램) - OS에게서 자원을 할당 받는 작업 단위 Thread - Process 내에서 실제로 작업을 수행하는 주체 - 프로세스가 할당 받은 자원을 이용하는 실행 단위 - 한 프로세스 내의 각 쓰레드들은 주소 공간이나 자원을 공유할 수 있으며 독립적인 작업을 수행해야 하므로 각자 Stack과 PC Register 값을 가짐 Thread의 필요성 - Process보다 생성 및 종료 시간, Context Switching 시간이 짧음 - 쓰레드 간 통신에 Kernel의 도움 필요 없음 * Stack을 쓰레드마다 독립적으로 할당하는 이유 : Stack은 함수 호출 시 전달되는 인자, 되돌아갈 주소값 및 함수 내에서 선언하는 .. 2022. 2. 15.