2025/04/04 2

Go의 "경량 스레드"란?

🧵 Go의 "경량 스레드"란?Go에서는 스레드(thread) 대신에 **고루틴(goroutine)**이라는 걸 써.이 고루틴은 OS 스레드보다 훨씬 가볍고, 수천수백만 개도 동시에 쓸 수 있어!👉 한마디로?고루틴은 Go가 만든 엄청 가벼운 "경량 스레드"📌 고루틴(goroutine)의 특징특징설명✅ 가볍다시작 시 스택 크기가 약 2KB (필요 시 자동 증가)✅ 수십만 개 생성 가능OS 스레드에 비해 매우 적은 자원 사용✅ OS 스레드와 매핑 아님Go 런타임이 직접 스케줄링함✅ 빠르게 생성/종료고루틴은 함수를 go 키워드로 호출하면 바로 생성됨📦 예제 코드package mainimport ( "fmt" "time")func sayHello() { fmt.Println("Hello f..

프로그래밍/Go 2025.04.04

시스템콜(System Call) 이란?

✅ 1. 시스템 콜이란?**시스템 콜(System Call)**은사용자 프로그램(유저 모드)에서 운영체제의 기능(커널 모드)을 요청하기 위해 사용하는 인터페이스입니다.📌 즉,"운영체제에 뭔가를 해달라고 요청하는 함수 호출"예: 파일 열기, 메모리 할당, 네트워크 사용, 프로세스 생성 등✅ 2. 왜 시스템 콜이 필요한가?일반 프로그램은 직접 하드웨어를 제어할 수 없음 (보안, 안정성 문제)하드웨어 접근은 운영체제를 통해서만 가능따라서 운영체제가 제공하는 함수들(시스템 콜)을 통해 우회 접근해야 함📌 예를 들어:int fd = open("file.txt", O_RDONLY); // 파일 열기 요청 (시스템 콜)이 함수는 내부적으로 커널에게 "이 파일 좀 열어줘"라고 요청하는 것임✅ 3. 시스템 콜의 구..

프로그래밍 2025.04.04