운영체제 37

[메모] 컴파일, 빌드, 링크

2.1) 컴파일 & 링크 & 빌드 초창기의 컴퓨터는 기계어로 프로그래밍을 했다. 그러나 기계어는 사람이 이해하기 아주 어려워서, 이를 보다 편하게 사용하기 위해 이런 방법을 생각했다. - 기계어의 집합을 더 간단하게 표현하는 텍스트 문서를 만든다. 예를 들어 C는 긴 코드를 간단하게 표현하기 위해 함수나 매크로(macro)를 사용할 수 있는데, 기계어로 10줄짜리의 코드를 매크로 A로 정의하고 문서에는 A만 써넣는 경우를 생각하자. - 이 텍스트 문서를 기계어로 자동 번역하는 프로그램 A를 만든다. - 텍스트 문서를 프로그램 A를 이용하여 기계어로 자동 번역한다. 이 프로그램을 실행하면 위에서 예시로 작성한 문서의 A가 기계어 10줄로 번역된다. 이렇게 하면 필요할 때마다 텍스트 문서만 수정하여 프로그램..

운영체제 2020.09.20

[운영체제] 파일시스템 (File System)

29.1 하드 드라이브의 데이터 저장 원리 ’캐비닛 -> 파티션 -> 폴더 -> 파일‘ 처럼 하드 드라이브나 그 외 데이터 저장매체를 사용하기 위해서는 그 사용 전에 컴퓨터의 운영체제가 인식할 수 있는 형식으로 준비되어야 한다. MS의 Windows의 경우 가장 일반적인 형식이 FAT(File Allocation Table), FAT32 그리고 NTFS(New Technology File System)이다. 그런데 Apple사의 Mac 파일 형식과 Linux의 파일 형식은 윈도우즈의 파일 형식과 달라서, 디스크에 윈도우즈 ’형식‘으로 된 특별한 부분(?)이 있지 않는 한 윈도우즈에서는 Mac이나 Linux 컴퓨터에 맞춰진 디스크를 읽어내지 못한다. 반면에 Mac 운영체제나 Linux 운영체제에서는 윈도우..

운영체제 2020.09.08

[macOS] EC2 터미널 접속

https://o-live.tistory.com/4AWS EC2 mac OS 터미널에서 접속하기첫번째, key pair 다운로드! 딱 한번만 다운로드 가능하다고 한다. 잘못 저장했거나... 등등 다시 다운로드 받을 기회가 없으니 키 처음 다운로드시 잘 저장할 것! 잃어버리면 instance를 다시 만들어o-live.tistory.com https://brownbears.tistory.com/92[AWS-EC2] 리눅스, 맥 터미널로 EC2 Instance 접속하기$ chmod 400 인스턴스키.pem #ssh -i 인스턴스키.pem [리눅스계열에 맞는 사용자이름]@publicIP 또는 publicDNS $ ssh -i 인스턴스키.pem ubuntu@100.100.100.1 리눅스계열에 맞는 사용자 이름 ..

운영체제/macOS 2020.08.25

[Linux] yum과 apt

yum(Yellowdog Updater, Modified, command-line package-management)은 RPM(Red Hat Package Manager)기반의 패키지 자동 업데이터이자 설치/삭제 도구입니다. apt-* 는 DEB (데비안 또는 우분투) 기반의 패키지 자동 업데이터,설치,삭제 도구입니다. yum search 검색어 로 원하는 패키지를 검색하고 yum install 패키지명 으로 설치합니다. apt(Advanced Package Tool)는 apt-cache search 검색어로 원하는 패키지 검색 apt-get install 패키지명으로 설치 합니다... 이런것을 쓰면 좋은 점은 원하는 패키지를 설치하기 위해 패키지 웹사이트 주소를 검색하고 들어가고 다운받고 하는 과정이 ..

운영체제/Linux 2020.08.14

[Linux] fork

fork의 의미에 대해서 숫가랏.젓가락.포크. 동사로는 “분기하다” 리눅스에서 fork를 호출한다는 것은 하나의 프로세스에서 자식프로세스가 ‘분기’됨을 의미한다. 새로운 fork 되면 이를 자식프로세스라고 하고 이전의 프로세스는 부모의 프로세스가 된다.(부모자식관계는 항상 나오네) (1) 부모프로세스는 fork()를 호출해서 새로운 프로세스가ID가 반환되기를 기다린다. (2) 커널은 부모프로세스의 모든 메모리의 내용을 자식프로세스 메모리 공간에 복사한다. (3) 특정 커널의 내용이 부모프로세스로부터 자식프로세스로 복사된 후 설정된다. (4) 자식프로세스는 고유한 ID를 가지며 종속관계를 위해 부모프로세스의 PID(process id)를 가진다.(자식이 부모를 가리킨다) (5) fork()함수는 자식프로세..

운영체제 2020.08.06