분류 전체보기

memory managment 구현 권영진 교수님의 특강을 듣고 정리했다. 정말 재미있었고, OS를 통해 배울 수 있는 CS지식의 기반을 정리하는 데 큰 도움이 되었다. 운영체제는 왜 필요한 걸까? 두 가지 이유가 있다. 응용프로그램이 하드웨어를 쓸 수 있도록 interface를 제공하기 위해서 응용프로그램에게서 하드웨어의 detail을 감추기 위해서. 이것을 수행하기 위해 OS의 중요 role에 대한 키워드가 세 개 있다. Abstraction :: 추상화하여 디자인하기: 하드웨어를 사용할 때 그 내부의 자세한 것들을 알 필요 없이 API만 제공한다. Protection & Isolation :: 보호와 격리를 시행한다. Sharing :: 프로세스 간 자원을 공유한다. Abstraction :: pr..
* 채용설명회 * strcut에 대한 고민 FileSystem (The Unix File System) Unix 계열(linux)의 시스템에서 프로세스가 파일을 다룰 때 필요한 개념들. 우분투(한국어) 리눅스 파일 시스템(신시내티 대학 링크, 영문) 파일 디스크립터 위키(영문) file unix file system에서 파일은 논리적으로 bytes의 steam으로 볼 수 있는 데이터의 colliection로, 가장 작은 저장장치 단위이다. 디렉토리도, 파일도, 장치도 모두 파일! 이 개념을 잘 알아야 한다. file descriptor 하나의 파일 혹은 I/O resocure(파이프나 네트워크 소켓 같은)에 대한 process-unique identifier. 프로세스가 어떤 파일에 접근할 때 그 파일을..
인스턴스 뽑기에 실패했다. 이사를 결심함. 설치를 다시 하려니 또 헷갈려서 정리하며 환경을 세팅함 정글에서는 Ubuntu 20.04 LTS (x86_64)환경을 사용 한다. $ sudo apt update # package list update $ sudo apt upgrade # upgrade packages $ sudo apt install gcc make valgrind gdb # gcc, make 등 개발 환경 설치 $ sudo apt install gcc-multilib # 32-bit lib (week 6 only) //git cli $ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/u..