[백엔드로드맵][OS] POSIX 기초
2023. 5. 20. 23:02
Backend Loadmap/Operating System
POSIX란? - Portable Operating System Interface의 약자 - 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적, IEEE가 책정한 애플리케이션 규격 - 한 운영체제에서 개발한 프로그램을 다른 운영체제에서도 쉽게 돌아가도록 하는 표준, 소스코드의 호환 - 내용은 커널로서의 C 인터페이스 시스템 콜, 프로세스 환경, 파일 & 디렉터리, 시스템 데이터베이스, tar 압축 포맷 등 다양한 분야를 이루고 있음 - 이 규격을 따른 다는 것 = UNIX와 호환된다는 것 - Windows는 WSL (Windows Subsystem for Linux) 탑재함 표준 스트림 - 특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 유닉..
[백엔드로드맵][OS] 입출력 (I/O) 관리
2023. 5. 12. 17:46
Backend Loadmap/Operating System
입출력 시스템 - 컴퓨터의 주요한 두 가지 작업은 연산 작업, 입출력 작업 - 마우스, 키보드, 모니터와 같은 다양한 장치들이 컴퓨터와 잘 동작하게 하려면 둘 사이에 공통된 인터페이스 존재해야 함 - 컴퓨터와 하드웨어 장치 사이의 공통된 인터페이스 역할을 수행하는 것이 입출력 관리의 핵심 - 운영체제 커널이 다양한 입출력 장치들의 차이를 가려주기 위해 장치 구동기 모듈 사용 - 장치 구동기는 모든 하드웨어를 일관된 인터페이스로 표현함 입출력 하드웨어의 구성 - 하드웨어 장치는 케이블을 통하거나, 무선으로 신호를 보내어 컴퓨터와 통신 함 - 이때, 포트를 통해 컴퓨터에 접속하는데 하드웨어 장치의 또 다른 구성요소는 제어기임 제어기: 포트 또는 입출력 장치를 제어하는 전자회로의 집합체, 많은 입출력 장치는 ..
[백엔드로드맵][OS] 프로세스 간 통신 (IPC)란?
2023. 5. 9. 16:38
Backend Loadmap/Operating System
프로세스 간 통신 (Inter-Process Communication, IPC) - 프로세스는 완전히 독립된 실행객체로써, 다른 프로세스의 영향을 받지 않음 - 독립되어 있는 만큼 별도의 설비 없이 서로 간의 통신이 어려움 - 따라서, 커널에서 IPC 라는 내부 프로세스 간 통신 제공 → 프로세스는 커널이 제공하는 IPC 설비를 이용하여 프로세스 간 통신 가능 - IPC: 프로세스들 간의 의사소통을 뜻함 - 프로세스가 통신 가능하다는 것은 서로 다른 프로세스가 데이터를 주고 받을 수 있다는 것, 또한 프로세스들이 공유하는 메모리가 필요하다는 뜻 공유메모리 - 공유메모리가 각 프로세스에게 첨부하는 방식으로 작동 - 각 프로세스가 메모리 영역에 첨부 됨 - 대량의 정보를 다수의 프로세스에게 배포 가능 - 중..
[백엔드로드맵][OS] 메모리 관리
2023. 4. 24. 21:01
Backend Loadmap/Operating System
메모리 관리 개념 - 어떤 프로그램이든 프로세스가 되어 프로세서에 적재되기 위해서는 메모리에 적재되어야 실행이 가능 - 따라서 메모리는 중요한 작업공간임 - 한정된 메모리를 다중 프로그래밍 환경에서 이용하기 위해서는 여러 프로세스가 함께 메모리를 사용하므로 효율적인 관리를 해야 함 메모리 관리 정책 - 적재 정책 (Fetch Policy): 디스크에서 메모리로 프로세스를 언제 가져와야 할지를 정하는 것 - 배치 정책 (Placement Policy): 디스크에서 메모리 가져온 프로세스를 어느 위치에 저장할 것인지 정하는 것 - 대치 정책 (Replacement Policy): 메모리가 충분하지 않을 때 현재 메모리에 적재된 프로세스 중 제거할 프로세스를 결정하는 방법 논리적 주소, 물리적 주소 - 메모리..
[백엔드로드맵][OS] 기본적인 터미널 명령어
2023. 4. 7. 16:26
Backend Loadmap/Operating System
grep - 특정 파일에서 지정한 문자열이나 정규 표현식을 포함한 행을 출력 - tail, ls 등 다양한 명령어와 조합하여 응용되는 경우가 많음 grep [옵션][패턴][파일명] #특정 파일에서 'error' 문자열 찾기 grep 'error' 파일명 #여러 개의 파일에서 'error' 문자열 찾기 grep 'error' 파일명1 파일명2 #현재 디렉토리내에 있는 모든 파일에서 'error' 문자열 찾기 grep 'error' * #특정 확장자를 가진 모든 파일에서 'error' 문자열 찾기 grep 'error' *.log - 위와 같이 사용하면 'error' 라는 문자열을 mylog.log 라는 파일에서 찾을 수 있음 awk - 특정 패턴 문자열 처리하기 - "awk programming langu..