본문 바로가기

42seoul/circle-34

[ minishell ] 1. 사전지식 # shell 명령어 해석기 command interpreter 사용자가 입력한 명령어를 해석하여 커널에 전달 터널과 사용자간의 대화식 인터페이스를 제공 로그인 할 때 실행되어 사용자별로 사용 환경 설정을 가능하게 한다. 강력한 스크립트 언어 리다이렉션과 파이프 기능을 제공하고 포그라운드/백그라운드 프로세스를 실행 # bash shell /bin/bash 명령어 완성 기능, 히스토리, 명령어 치환, 편집 등의 지원 # 환경 변수 전체 shell에서 사용 가능한 전역 변수 서브 shell에 기능 상속 가능 env로 환경 변수를 확인할 수 있다. # 셸 변수 현재 로그인 shell에서만 사용 가능한 지역 변수 서브 shell에 기능 상속 불가능 set으로 shell 변수를 확인할 수 있다. # 프롬프트 ht.. 2022. 5. 15.
[minishell] 0. 과제 이해하기 [minishell] : As beautiful as a shell # Description 간단한 shell을 만들어봅시다. # Keywords Unix logic # common instructions 더보기 프로젝트는 C로 작성된다. norm을 따라야한다. 보너스 역시 norm을 따라야 한다. 예기치 않게 프로그램이 중단되어서는 안됩니다. (segmentation fault, bus error, double free 등등등등ㄷ) 메모리 누수 당연히 안됨 할당한 메모리는 모두 해제하세영 -Wall -Wextra -Werror 플래그를 통해 컴파일 수행하기, 리링크는 당연히 안됩니다. Makefile은 $(NAME), all, clean, fclean, re 규칙을 포함해야해요. 보너스를 만들고자 할 .. 2022. 5. 13.
[Philosophers] 1. 과제 해결하기 # 철학자들은 스레드로 구현되어 있다. * 쓰레드 : 어떤 프로그램 내에서 실행되는 흐름의 단위 운영체제의 일부인 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍 된 명령어의 가장 작은 시퀀스 하나의 프로그램은 하나 이상의 프로세스를 가지고 하나의 프로세스는 하나 이상의 스레드를 가진다. * 프로세스 : 컴퓨터 프로그램의 인스턴스로 하나 이상의 스레드를 통해 실현된다. - 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태 * 스레드 vs 프로세스 프로세스는 실행될 때 운영체제로부터 각각 독립된 메모리 영역을 할당받는다. 스레드는 한 프로세스 내에서 동작되는 흐름으로 프로세스네에서 stack영역만 별도로 할당 받는다. 부모프로세스의 코드, 데이터, 힙 영역은 공유한다. 즉, 프로.. 2022. 5. 8.
[Philosophers] 0. 과제 이해하기 목표는 4월 안에 끝내기..! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아오 진짜 so_long을 빨리 했어야지 이 사람아......에휴 [Philosophers] : I never thought philosophy would be so deadly # Description In this project, you will learn the basics of threading a process. You will see how to create threads and you will discover mutexes. 이번 프로젝트에서 프로세스 스레딩의 기본을 배울 수 있다. 어떻게 스레드를 만드는지, 뮤텍스가 무엇인지도 알 수 있다. # Keywords - Unix logic #Skills - Imperative programming .. 2022. 4. 27.