본문 바로가기

컴공4

GIT[3] : Version git diff 명령어인데, 직전 commit과 현재 commit의 Diff를 보여주는 것이다. git diff [commit1 hash] [commit2 hash] 하면 commit 1 2 의 차이점을 보여준다. source Tree에서는 비교하고자 하는 커밋 하나를 누르고, Ctrl + 다른 커밋을 누르면 두 커밋간의 차이를 볼 수 있습니다. First commit 클릭 후 Ctrl + Third commit 클릭 그러면 왼쪽 아래에 File들의 List가 나오고 클릭하면 Diff를 볼 수 있다. 수정된 파일들은 [스테이지에 올라가지 않은 파일] 쪽에서 Trace 된다. 내가 막 다 변경했는데, 원래대로 돌리고 싶다면 [수정된 파일] => 우클릭 => 폐기 이렇게 하면 수정된 내용들이 모두 날아가고,.. 2024. 2. 8.
Git[1] : Git이 무엇? 고등학교 때 자소서 적을 때 느꼈던건데, 제출하기 전까지 수정을 수십번씩 했던거같다 ㅋㅋㅋㅋㅋㅋ 계속 덮어쓰는 방식으로 수정을 해나갔는데, 막상 제출하기 직전에 아 몇일전에 적은 그 내용이 더 나았는데 ,,,,, 라는 생각이 든 적이 있는데 도대체 머리속으로 완벽하게 복구하지는 못하겠더라.. Git은 Version을 관리해주는 시스템 VCS (Version Control System) 이라고 생각하면 된다. 그냥 다른 version의 자료들을 다른 이름으로 저장하면 안될까? 자소서1, 자소서2, 자소서~~20, 이런식으로 그런데 이렇게 관리하면은 pc의 메모리를 너무 잡아먹기 때문에 좋지는 못한 방법이다. Git을 사용하지 않는다면 1 ) 변경 내역을 확인하기가 어렵다 => 직장 상사가 새로운 코드에 변.. 2024. 2. 8.
프로세스와 스레드(2) 스레드 => 프로세스를 구성하는 실행 흐름의 단위 각기 다른 thread id, 프로그램 counter, register, stack을 가진다. 일반적으로 process , thread를 구분해서 말하기는 하지만 Linux에서는 "Task"라는 이름으로 퉁 치는 경우도 대부분. 가장 주된 차이점은 자원을 공유하는지 안하는지 여부. Process간에는 기본적으로 자원을 공유 X, thread는 프로세스 자원을 공유. => 메모리 효율적일 수 있음. 각 Process마다 자원들이 있고 thread가 따로 존재하게 되는데 아래 사진(multi thread)를 보면 동일한 자원은 모두 공유하고, 개별의 Thread들만 각각의 register stack programm counter를 가지는 것이다. 훨씬 효율적.. 2023. 12. 19.
프로세스와 스레드(1) Kernel , User 영역에서 Process에 관해서 말해보고자 한다. 우선 프로세스란 쉽게 말해서 실행 중인 프로그램이라고 생각하면 된다. 같은 Process인 메모장이 별개의 Process로 관리되는 것을 볼 수 있다. Process는 크게 2가지로 나눌 수 있는데 프로그라운드 프로세스 사용자와 직접 상호작용 하고 있는 프로세스 BackGround Process 사용자와 직접 상호작용 하고 있지 않은 프로세스 다만 이중에선 Daemon, Service와 같이 특별한 프로세스도 있다. => 맡은 바 묵묵히 실행만 되는 프로세스 각각의 Process 마다 PCB (프로세스 제어 블록) 이 있는데 , 일종의 프로세스의 꼬리표 같은 느낌. 운영체제는 PCB를 보고 Process를 판단한다. 위 예시에서 .. 2023. 12. 13.