6월 초,중순쯤부터 준비한 Linux 1급 정리하기 시작
(주중엔 학습을, 주말엔 정리를 해보자.)

⁉️여기서 SystemCall을 조금 알아보자.
사전적 정의: 운영체제에서 제공하는 기능을 응용프로그램이 사용할 수 있도록 커널에서 제공하는 서비스다.
시스템 콜의 주요 기능
프로세스 관리: 프로세스의 생성, 실행, 종료 등을 관리. 예를 들어, fork(), exec(), exit() 등의 시스템 콜이 이에 해당한다.
파일 조작: 파일 생성, 읽기, 쓰기, 삭제 등 파일 시스템과 관련된 작업을 수행. open(), read(), write(), close() 등이 포함된다.
디바이스 관리: 하드웨어 장치에 대한 접근과 조작을 가능하게 한다. 예를 들어, 프린터 사용이나 디스크 읽기/쓰기 작업이 여기에 포함된다.
정보 유지: 시스템 날짜와 시간 설정, 시스템 데이터 통계 등을 조회하고 설정하는 기능을 제공한다.
통신: 프로세스 간 통신(IPC) 또는 네트워크 통신을 위한 기능을 제공한다. socket(), send(), receive() 등이 여기에 포함된다.
메모리 관리: 프로세스에 메모리 할당, 해제를 관리를 한다. malloc(), free()와 같은 라이브러리 함수가 내부적으로 시스템 콜을 한다.
시스템 콜의 작동 단계
일괄 처리 시스템: 여러 작업을 묶어서 한번에 처리 -> 끝날 때까지 기다려야함(기다릴때는 시스템을 이용X, CPU 유휴 상태) -> 자원 사용의 효율성 낮음
다중 프로그래밍 시스템: "작업 단위" , 하나의 작업이 입출력중일 때 다른 작업을 할당해 -> cpu의 사용률, 처리량을 향상
시분활 시스템: "일정 시간 단위(= 타임슬라이스, 타임 퀀텀)", 일정시간동안 작업을 진행 -> 시간이 만료시 "대기큐"에서 다른 작업을 실행
다중 처리 시스템: 여러개의 cpu가 동시에 처리(병렬 처리)
실시간 처리 시스템: "요청-> 결과"로 요구한 시간내에 수행돼야만 하는 시간적 제약. 이때 시간적 제약은 경성, 연성으로 나뉜다.
다중모드 시스템: 일괄 + 다중 + 시분활 + 다중처리 + 실시간 처리
분산 처리 시스템: "통신망 개념", 통신망 연결을 통해 시스템이 수행해야할 작업을 분산 -> 각 시스템의 자원을 공유해 처리량, 응답시간, 가용량을 극대화, 또한 가상화 기술을 기본적으로 지원 혹은 커널단에서 지원