본문 바로가기

개발 관련/리눅스7

파일명 변경 리눅스 파일명 혹은 디렉토리 명 변경 리눅스 파일명을 변경하는 것인데, 심볼릭 링크로 링크를 건 후 해당 파일 혹은 디렉토리의 이름을 변경할 수 없을까 하여 찾아봤다. 사용법은 간단. mv 파일명 변경파일명mv before.txt after.txt 혹은 mv 디렉토리명 변경디렉토리명mv before after 찾아보니, 이름을 변경과 동시에 이동도 가능하다고 한다. mv before.txt /home/contents/after.txt 2022. 7. 14.
Link 리눅스 Ln ln 은 Link 의 약자, 리눅스에서 링크파일을 만드는 명령어로 하드링크와 심볼릭 링크 2가지가 존재 1. 하드 링크 (Hard Link) 한 개의 파일 혹은 디렉토리를 가리키는 이름을 하나 더 만드는 것. A가 원본이고 B가 하드 링크를 건 파일일 때, A의 내용을 수정하면 B도 수정됨. 하지만, A,B 중 하나를 지웠을 때 하드 링크는 이름을 하나 더 만드는 것이기에 A를 삭제하였다고 해도 B는 그대로 남아 있다. 따라서 파일을 지우고자 한다면 두 개 파일을 모두 지워야 한다. 명령어 : ln [원본파일명] [하드링크파일명] 2. 심볼릭 링크 (Symbolic Link) 어떤 파일 혹은 디렉토리를 가리키는 것을 말함. (ex. windows 의 바로가기와 비슷한 개념) 심볼릭 링크를 사.. 2022. 7. 14.
6장. 메모리 계층 구체적으로 크기와 성능에 얼마나 차이가 있습니까? 이런 차이를 고려하여 하드웨어나 리눅스는 어떤 구조로 되어 있습니까? 라는 두 질문이 이 장에서 풀어나갈 내용. 캐시 메모리 컴퓨터의 동작 흐름은 다음과 같다. 명령어를 바탕으로 메모리에서 레지스터로 데이터를 읽습니다. 레지스터에 있는 데이터를 바탕으로 계산합니다. 처리 결과를 메모리에 씁니다. 컴퓨터에서 처리 2가 아무리 빨라도 처리1 과 처리3에서 속도 상의 병목이 생겨 느려질 수 있음. 캐시 메모리는 이런 레지스터 안에서 계산하는 것과 메모리에 접근하는 것, 양쪽의 처리 시간의 차이를 메우는데 필요. 메모리에서 레지스터로 데이터를 읽어올 때는, 일단 캐시 메모리에 읽어온 뒤 같은 내용을 다시 레지스터로 읽어 들입니다. 이 때 읽어오는 크기는 CPU에.. 2022. 7. 14.
4장. 프로세스 스케줄러 프로세스 스케줄러 여러 프로그램을 동시에 동작 시킴 (정확히는 동시에 동작하는 것처럼 보이게 함) 하나의 CPU는 동시에 하나의 프로세스만 처리 가능 하나의 CPU에 여러 개의 프로세스를 실행해야 할 때는 각 프로세스를 적절한 시간으로 쪼개서 (타임 슬라이스) 번갈아 처리 첫 번째 실험 스케줄러의 동작 확인을 위한 실험, 1개의 논리 CPU 에서만 수행. (실험을 진행하는 동안에서는 시스템에서 다른 프로그램이 동작하지 않아야 정확성이 올라감. 이는 보통 설능 측정 실험을 할 때의 기본 원칙) 실험 4-A : 동작 프로세스 1개 실험 4-B : 동작 프로세스 2개 실험 4-C : 동작 프로세스 3개 실험 4-A 1개의 프로세스가 항상 동작 1개의 프로세스 외에는 동작하는 프로세스가 없으므로 진행도는 단순 .. 2022. 7. 14.
3장. 프로세스 관리 가상 기억장치가 없는 단순한 경우만 나타낸다. 실제 프로세스의 생성 및 삭제는 5장에서 자세히 다룸 프로세스 생성의 목적 같은 프로그램의 처리를 여러 개의 프로세스가 나눠서 처리, 예를 들어 웹 서버처럼 리퀘스트가 여러 개 들어왔을 때 동시에 처리해야 하는경우 전혀 다른 프로그램을 생성합니다. 예를 들어 bash 로부터 각종 프로그램을 새로 생성하는 경우 fork(), execve() 함수를 사용 (시스템 내부에서는 clone() 과 execve() 시스템 콜을 호출) fork() 함수 목적 1의 경우에는 fork() 함수만을 사용. fork() 함수를 실행하면 실행한 프로세스와 함께 새로운 프로세스가 1개 생성, 이를 각각 부모, 자식 프로세스라 부름 자식 프로세스용 메모리 영역을 작성하고 거기에 부모.. 2022. 7. 14.
2장. 사용자모드로 구현되는 기능 OS는 커널 이외에도 사용자 모드에서 동작하는 다양한 프로그램으로 구성 라이브러리 형태, 단독 프로그램으로 동작 이 부분은 다양.. 시스템 콜, OS가 제공하는 라이브러리, OS가 제공하는 프로그램에 대한 설명 및 필요 이유 시스템 콜 프로세스에서 커널의 도움이 필요할 때 시스템 콜을 이용해 도움 요청 프로세스 생성, 삭제 메모리 확보, 해제 네트워크 파일 시스템 등등 CPU의 모드 변경 프로세스는 보통 사용자 모드로 실행, 처리를 위해 시스템 콜을 호출하면 CPU 에서 인터럽트 발생 그 후 커널 모드에서 해당 동작을 실행, 완료 후 사용자 모드로 원복 커널 모드로 가기 전에 프로세스의 요구가 유효한지 확인을 거침 -> 맞지 않으면 시스템 콜 실패 (인터럽트를 하고, 확인을 할까? 아니면 확인 후 인터럽.. 2022. 7. 14.