본문 바로가기

Computer Science

(11)
운영체제(OS) 역할 운영체제(Operating System) 역할 운영체제는 일반적으로 자원 관리자(Resource manager)라고 정의됩니다. 이는 컴퓨터에 있는 CPU, 메모리, 디스크 등의 자원을 관리하여, 일반 사용자들이 컴퓨터를 사용할 수 있도록 지원해줍니다. 위 사진은 운영체제의 초기 상태를 보여줍니다. 이때, test.c라는 파일을 만들어서 저장할 때 운영체제가 어떠한 동작을 하는지 확인해보도록 합시다. 우선, 사용자가 해당 파일을 저장하려고 한다면, 사용자의 저장 요청은 운영체제로 전달되고, 운영체제는 비휘발성 메모리인 디스크에 이 소스코드를 저장합니다. 조금 더 자세히 살펴보자면, 운영체제가 디스크의 일부 공간(4KB, 디스크 블록)을 할당받고, 디스크 블록에 파일의 내용을 저장합니다. 또한, 파일의 속..
[C언어] 작업 디렉터리(폴더) 변경 함수 (chdir) 작업 디렉터리 변경을 위해, chdir 함수에 대해 알아보자. chdir 은 change working directory의 줄임말로 흔히 Terminal에서 cd 명령을 통해 디렉터리를 변경할 때의 동작과 동일하다. chdir() 함수는 현재 프로세스의 작업 디렉토리에만 영향을 미치며, 아래와 같이 사용된다. #include ... char *directory = "/tmp"; int ret; ret = chdir (directory); 위 코드에서도 알 수 있다시피, C언어에서 chdir() 함수를 사용하기 위해서는 #include 헤더를 추가해줘야 한다. 이후, 이동하고자 하는 디렉터리를 인자로 넘겨줌으로써 chdir() 함수를 호출할 수 있다. 함수 호출 시, 디렉토리 이동에 성공하게 되면 0을 반..
TCP vs UDP TCP 와 UDP 에 대해 알아보기 위해서는 우선 프로토콜(Protocol) 이 무엇인지 알아야한다. 그럼 프로토콜(Protocol) 이란 무엇일까? Protocol 이란? 프로토콜(Protocol)은 두 개체 간에 통신을 원활하게 하기 위해 필요한 통신 규약을 말하며, 둘 이상의 통신 개체 간에 교환되는 메세지 포맷과 순서 뿐만 아니라, 메세지의 송수신과 다른 이벤트에 따른 행동들을 정의한다. Protocol 에 대해 알아보았으니 이제 TCP와 UDP에 대해 알아보도록 하자. 두 프로토콜은 Transport layer 에 해당한다. TCP (Transmission Control Protocol) TCP 는 연결 지향적인(connection-oriented) 프로토콜로, 연결이 설정되면 데이터를 두 방향..