본문 바로가기

not기초

[시스템프로그래밍]파일 시스템 모든 포스트 목록 파일 시스템 구조 파일 타입 파일 사용권한 디렉토리 링크 (클릭하시면 이동합니다) 파일 연속된 바이트의 나열로 특별히 다른 포맷을 정하지 않는다 파일을 사용하는 방식으로 외부 장치도 사용 가능하다 파일 디스크립터 열린 파일을 나타내는 번호로 향후 파일에 대한 입출력 연산에서 열린 파일을 나타낸다 0은 표준 입력, 1은 표준 출력, 2는 표준 에러에 해당하는 파일의 번호를 의미한다 C에서 파일을 fopen을 이용하여 열 때 리턴 받는 값인 파일 포인터와 대비된다 파일 시스템 구조 파일이 저장되어 있는 구조이다. 부트 블록(boot block) 보통 파일 시스템의 시작부에 위치한다 부트스트랩 코드가 저장된다 수퍼 블록(super block) 전체 파일 시스템에 대한 정보를 저장한다 총 블록..
[시스템프로그래밍]시스템 호출 #개요 모든 포스트 목록 시스템 호출 커널에 서비스 요청을 하기 위한 프로그래밍 인터페이스 응용 프로그램은 파일에 직접 접근할 수 없기 때문에 시스템 호출을 통해서 커널에 서비스를 요청한다 사용자 모드에서 실행중인 프로세스를 사용자 프로세스, 커널 모드에서 실행중인 프로세스를 커널 프로세스라고 한다 C 프로그램의 경우 시스템 호출 대신 라이브러리 함수를 호출할 수도 있으나 실은 라이브러리 함수도 함수 내에서 관련된 시스템 호출을 한다 시스템 호출 과정 - 예시 : open() 시스템 호출 사용자 프로세스에서 시스템 호출을 한다 C runtime library에서 커널로 점프하기 위해 레지스터를 통해 매개변수를 전달하는 등의 작업을 한다 trap 명령어를 이용하여 커널로 점프한다 동시에, 각 시스템 호출의 시작 ..
[시스템프로그래밍]리눅스 시스템 개요 모든 포스트 목록 어째서 Linux를 배우는가? 단순성(simplicity) : 자원에 대한 일관된 관점을 제공한다 이식성(portability) : C언어로 작성하여 다양한 플랫폼에 이식이 가능하다 개방성(openness) : 전체 소스 코드를 제공한다 리눅스 구조 OS : 컴퓨터의 하드웨어 자원을 운영하고 프로그램을 실행할 수 있는 환경을 제공한다 kernel : 운영체제의 핵심으로 하드웨어 운영하고 관리한다 system call : 커널이 제공하는 서비스에 대한 프로그래밍 인터페이스 역할을 한다 shell : 사용자와 운영체제 사이의 인터페이스로 사용자로부터 명령어를 입력 받아 해석하여 수행하여주는 명령어 해석기 utilities : 평소에 사용하는 명령어들 커널의 역할 프로세스 관리 : 여러 프로..