OS
-
Busy Waiting, Sleep카테고리 없음 2021. 6. 11. 16:13
프로그래밍을 하다 보면 동기화를 하기 위해서 혹은 선행 작업이 끝나기를 기다리기 위해서 wait을 하는 경우가 존재한다. 이 때 사용하는 방식으로 sleep 방식이 있고 busy-waiting을 하는 방식이 있는데 두 방식의 차이점에 대해서 정리해볼려고 한다. 아마 대기해야하는 상황에서 별도의 sleep을 사용해보지 않았다면 대부분은 busy-waiting방식을 사용했을 것이다. 보통 이런 대기 상황에 대한 구현을 하는 경우는 쓰레드를 여러개 활용하는 경우에 다른 쓰레드의 선행작업을 기다리는 경우가 있을 수 있고 혹은 멀티 프로세스 환경에서 다른 프로세스의 선행작업이 끝나지 않은 경우 등이 있다. A. Busy Waiting Busy-waiting이란 어떤 조건을 만족하지 못할 경우에, 그 조건을 만족할..
-
Linux란카테고리 없음 2021. 6. 10. 16:29
Linux는 오픈소스로 제작되고 있는 UNIX기반의 운영체제이다. 앞의 정의와 같이 말한다면 사람들은 저마다 떠올리는 그림이 다를 것이다. Linux라고 하면 예전 같은 경우에는 Bash를 이용해서 검은색 바탕화면에 커맨드 입력을 통해 컴퓨터를 사용하는 환경을 생각하는 사람도 있을 것이고, 컴퓨터 전공 시간에 더 배워본 사람들은 우분투 정도로 생각하는 사람도 있을 것이다. 정의부터 하자면 리눅스 커널을 기반으로 하는 운영체제의 그룹을 의미한다. 운영체제라고 하면 단순히 CPU, 메모리, 스토리지 등 여러 하드웨어 리소스들을 제어할 수 있는 커널만 의미하는 것이 아니라, 사용자들이 커널을 잘 사용할 수 있게 제공되는 여러 시스템 소프트웨어들 및 어플리케이션들을 다 모아둔 것을 의미한다. 예를 들어 Wind..