본문 바로가기

CS/운영체제2

[운영체제] 동기 vs. 비동기 (blocking vs. non-blocking) 공부할 때도 .. 개발할 때도 .. 매일 듣던 말이 동기 / 비동기 였는데요 오늘 요 아이를 한 번 알아보고자 합니다 . . . + 스리슬쩍 blocking vs. non-blocking 개념까지 알아볼게요 . .! 동기 (Synchronous) 동기란 말 그대로 동시에 일어난다는 뜻으로 요청과 그 결과가 동시에 일어나게 됩니다. 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 합니다. Thread1 이 작업을 시작시키고 Task1 이 끝날 때까지 기다렸다 Task2를 시작합니다. 작업 요청을 했을 때 요청의 결과값을 직접 받습니다. 이 때, 요청의 결과값은 return값과 동일합니다. (비동기 예시를 보면 이해할 수 있습니다 ~) 호출한 함수가 작업 완료를 신경 씁니다. 비동기 (A.. 2022. 10. 14.
[운영체제] 프로세스 vs. 스레드 OS의 가장 기본적인 개념 중 하나인 프로세스와 스레드를 알아보려고 합니다. . ! 프로그램(Program)이란 ? 어떤 작업을 위해 실행할 수 있는 파일입니다. 프로세스(Process)란 ? 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램입니다. 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적인 개체) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 동적인 개념으로는 실행된 프로그램 의미 여기서 할당받는 시스템 자원에는 ? - CPU 시간 - 운영되기 위해 필요한 주소 공간 - Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap 구조)을 할당 받습니다. 기본적으로 프로세스당 최소.. 2022. 10. 13.