
안녕하세요! 이번 포스팅에서는 리눅스 관련 개념인 프로세스의 예제를 다뤄보겠습니다~ 먼저 시작하기에 앞서 프로세스를 관리해줄 System Call들을 살펴보겠습니다! 1. Process Management System Calls getpid : 프로세스의 ID를 얻는다. getppid : 부모 프로세스의 ID를 얻는다. fork : child 프로세스를 만들기 위해 부모 프로세스를 복제한다. exec : code, data, stack 등을 replace를 교체한다. exit : 프로세스를 종료한다. 종료할 때 상태 변수를 바꾸기 위해 사용한다. wait : 자식 프로세스를 위해 대기한다. 2. fork() 출력 예제 [myfork] fork 하는 순간 parent 프로세스에서 리턴 한 번, child ..

안녕하세요! 오늘은 리눅스의 프로세스에 대해 알아보겠습니다! ! 1. 프로세스의 정의 프로세스란 프로그램이 수행되고 있는 상태를 의미합니다. 따라서 프로그램 != 프로세스 != 프로세서 인거죠. 그럼 각각의 정의를 알아보겠습니다! 프로세스 (Process) : 프로그램이 실행중인 상태 프로그램 (Program) : 어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문의 집합체 프로세서 (Processor) : 프로그램들이 실행할 수 있도록 해주는 하드웨어 프로세스는 두가지 abstractions있습니다. 혼자 CPU를 독자적으로 수행하는 것 같은 착각 시스템 메모리를 프로그램 혼자 쓰는 것 같은 착각 이러한 현상은 여러개 프로세스를 빠르게 스위칭하고 가상 메모리 시스템에..
지난 포스팅에 이어서 빠르게 시스템 콜 예제 두 개를 더 보겠습니다!! 3. mycp 프로그램 작성 mycp 프로그램은 첫번째 인자로 지정된 파일을 두번째 인자로 지정한 파일로 복사하는 프로그램입니다. mycp source-file dest-file 명령어를 입력했을때 실행되도록 만들어봅시다. 이때, dest-file의 모드는 rw-rw-rw-로 세팅해야합니다. 사용자,그룹,외부인 모두 읽고 쓰는 것만 할 수 있는 모드입니다. #include #include #include #include #include #include #include int main(int argc,char *argv[]){ int fd_read,fd_write; char buffer[BUF_SZ]; if(argc != 3){ pri..

안녕하세요! 오늘은 리눅스에서 중요한 개념인 시스템콜(system call) 관련된 예제를 실습해보겠습니다. 시스템 콜에 대해 아주 간단하게 개념을 한번 보고 예제 시작하겠습니다~! 시스템콜이란 ? 어플리케이션이 커널에 있는 기능들을 사용할 때 system call이 일어납니다. 커널 리눅스 운영체제에서 프로세스 및 애플리케이션 간의 CPU, RAM 공유할 수 있도록 관리해주는 시스템 주변 기기 관리 어플리케이션으로 부터 시스템콜 처리 컴퓨터가 켜졌을 경우 disk로부터 바로 로딩 리눅스는 User Space, Kernel Space 이렇게 두개로 나뉘어져있습니다. 이때 User Space에서 Kernel Space까지 가서 함수를 불러오는 것이 시스템콜입니다! 우리 보통 C언어에서 #include 하잖..

오늘은 지난 포스팅 에 이어서 깃 관련 실습을 더 진행해보겠습니다! 시작하기에 앞서 이전에 해왔던 깃 커밋에 관련된 기록을 확인해봅시다. git log 맨 밑에서부터 first_init -> myapp.c is added -> myfuncs.h is added 시간 순서대로 커밋 메시지를 확인할 수 있습니다. 우리는 이제 checkout 관련 실습을 해보겠습니다. 14. checkout 예전 상황으로 다시 돌아가기 git checkout 4de2 #git checkout [hash] git log에서 노란색 글씨로 적혀있는 commit 4de2411~~~ 이부분에서 우리는 커밋 해시를 알 수 있습니다. 이 해시를 이용해서 이전 상황으로 돌아가봅시다. ls 또는 tree 명령어를 실행해보면 myfuncs...

안녕하세요. 오늘은 M1 맥북에 리눅스 가상환경을 설치해보겠습니다. 버전은 20.04를 설치할 예정입니다. 저는 22년 8월에 22.04를 깔려고 시도를 했다가 데스크탑이 제대로 깔리지 않아 좀 고생을 했습니다ㅜ 제가 UTM으로 리눅스를 설치할 당시에는 22 버전이 사소한 오류가 많았습니다ㅜ 그래서 이번 포스팅에서는 20.04에 대해 다뤄보겠습니다. 버전 20.04로 다운받으세요!!! 가상환경 설치하다가 무한루프 되는 이유도 함께 적었으니 혹시 안되는 분은 참고하세요. 1. UTM을 맥북에 설치합니다. https://mac.getutm.app/ UTM Securely run operating systems on your Mac mac.getutm.app 2. linux ubuntu 홈페이지에 가서 ubu..

팀 프로젝트를 하기 위해 개발자는 깃(Git)을 필수적으로 다뤄야한다. 이번 포스팅은 깃을 아예 처음 접하는 분들을 위한 포스팅이다. 필자는 리눅스 터미널에서 진행했다. 먼저, 예제에 들어가기 전에 깃을 사용하기 위해서 깃을 간단히 소개하겠다. 깃(Git)은 쉽게 말해서 타임캡슐이다. 타임캡슐에 과거의 정보를 담아 보관하듯, 깃에 과거의 개발 과정을 담아 보관한다. 깃이 필요한 이유는 과거의 개발 과정을 담는 것에 있다. 코딩을 하다보면 코드를 잘못 건들여서 에러가 나는 경우가 있는데 이 경우에 깃을 활용한다면 에러가 나기 전의 과정으로 되돌아갈 수 있다. 여러 사람들이 함께 깃을 사용하는 경우 효과는 극대화된다. 해당 파일을 수정할때 과거의 기록이 모두 남기 때문에 1. 어떤 사용자가 어느 부분을 수정..

2019년 코로나 19가 발생했다. 당시 고등학교 2학년이었던 나는 안일하게도 수능이 끝나면 당연히 코로나가 끝나 있을 것이라 생각했다. 고등학교 수학여행으로 갔던 일본이 나의 10대 마지막 해외여행이 되었다. 성인이 된 이후 첫 해외여행을 계획했다. 장소는 하와이로, 기간은 여름방학 8월 2주정도로 잡았다. '친구 따라 강남 간다'라는 말이 있듯이 나는 친구가 하와이 간다는 걸 따라갔다. 2학년 1학기 동안 주 6일 동안 알바와 과외를 공부와 병행하며 돈을 모았다. 적어도 하와이를 다녀올 수는 있겠구나라는 생각이 들 정도로 모였다. 나름 MBTI J인 사람이지만 이번 여행은 내 인생에 있어서 제일 계획을 대충 세운 여행이다. 한학기동안 일을 병행하며 공부한 게 힘들었던 건지 일상이 정신없이 바빠서 그..
- Total
- Today
- Yesterday
- AWS
- nodejs
- 혼공단 9기
- 개발
- 깃 예제
- 혼공단
- Linux
- MySQL
- 백준
- 스페인 교환학생
- JavaScript
- 백엔드 개발
- C++
- 개발일지
- 공룡책
- Process
- 프로젝트
- 혼공
- 리눅스
- 스페인
- Signal
- SQL
- 교환학생
- 해커톤
- 혼공단 SQL
- JS
- 혼공학습단
- 자바스크립트
- 운영체제
- googleapis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |