시스템 프로그래밍 1주차
응용 프로그램이 하드웨어를 제어하여 실행될 수 있도록 관리하는 소프트웨어컴퓨터 시스템의 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하게 사용할 수 있는 환경을 제공함여러 프로그램을 충돌 없이 동시에 실행할 수 있게 관리한다.컴퓨터 하드웨어와 프로그램 사이의 인터
시스템-프로그래밍4-3
❓fopen() : 파일 열기 텍스트 파일을 열기 위해 사용하는 함수이다. 파일을 연다는 것 → 파일과의 입출력을 위한 스트림을 생성한다는 것 ❓fclose() : 파일 닫기 파일을 열어서 사용한 후에는 손실을 방지하기 위해 항상 파일을 닫아야 하는데 그 때 사용하는 함수가 바로 fclose()이다. **파일을 닫는다는 것 → 파일과의 입출력을 위해 ...
프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것하드웨어를 운영 관리하며 다음과 같은 서비스를 제공파일 관리프로세스 관리메모리 관리통신 관리주변장치 관리커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할그래픽을
파일에 대한 모든 정보블록 수, 파일 타입, 사용 권한, 링크 수, 파일 소유자의 사용자 ID그룹 ID, 파일 크기, 최종 수정 시간파일 상태 정보를 보려면 stat()를 사용한다.파일의 상태 정보를 가져와서 stat 구조체 buf에 저장하는데 이 때 성공하면 0을,
exec()시스템 호출에 의해서 프로그램이 실행된다.1\. exec()시스템 호출에 의해 실행된다.2\. 프로그램 실행이 시작된다.3\. C시작루틴부터 시작하며, 이 시작루틴은 main()함수를 호출하고 명령줄 인수와 환경변수를 main()함수로 옮겨준다.4\. mai
프로세스는 CPU와 메모리를 할당받아 실행시키는 프로그램을 말한다.프로세스들마다 고유의 프로세스 ID(PID)를 할당받는다.가장 먼저 실행되는 프로세스는 init이다. init의 PID 값은 1이다.프로세스 init에 의해 다른 모든 프로세스들이 시작된다.부모 프로세스
코드 영역 실행할 프로그램의 코드가 저장되는 메모리 공간CPU는 코드 영역에 저장된 명령문을 하나씩 가져다가 실행데이터 영역전역변수와 static 변수가 할당되는 영역프로그램 시작과 동시에 할당되어 종료 시까지 남아있는 특징의 변수(Ex. 전역변수)가 저장되는 영역힙
시그널(Signal)이란, 소프트웨어 인터럽트로 예기치 않은 사건이 발생했을 때 이 사건에 대한 메시지를 비동기적으로 보내는 것을 말합니다. 시그널을 받은 프로세스는 시그널에 따른 지정된 기본 동작을 수행할 수도 있고, 사용자 정의에 의한 처리 동작을 수행할 수도 있다
최근 간단한 토이 프로젝트로 메신저 프로그램을 만들었던 경험이 있었는데 이 때 사용됐던 핵심 개념인 소켓에 대한 포스팅을 남기고자 한다.클라이언트와 서버 각각의 프로세스가 통신으로 데이터를 주고받기 위해 소켓이 필요하다. 소켓은 파일과 비슷한 역할을 수행한다. 클라이언
❓쉘(Shell) 셸은 그 기본 원리만 알면 쉽게 개발할 수 있는 프로그램 중 하나이기 때문에, 셸의 종류는 무궁무진하게 많다. 지금 이 순간에도 새로운 자작 셸이 탄생하고 있을 지도 모른다. 이 포스팅에서는 리눅스에서 주로 많이 접할 수 있는 셸들에 대해서만 다루어
1-1) 개념네트워크는 장치들이 통신 기술을 이용하여 구축하는 연결망노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합프로토콜 : 전송 매체를 통해 데이터를 교환하기 위한 통신 규약1-2) 분류크기에 따른 분류 : LAN, MAN, WAN연결형에 따른 분류(토폴