faith_coder_lab.log
로그인
faith_coder_lab.log
로그인
운영체제 | 커널과 쉘
Faithful Dev
·
2025년 1월 25일
팔로우
0
운영체제
컴퓨터 공학
컴퓨터 공학
목록 보기
17/81
쉘(Shell)
정의
:
사용자
와
운영체제
사이에서 명령어를 입력받아 운영체제의 기능을 수행하는 인터페이스.
쉘은 사용자 명령을 해석하고, 시스템 호출(System Call)을 통해 운영체제의 서비스를 요청.
종류
:
CLI (Command Line Interface)
: 명령어 기반 텍스트 인터페이스. (예: Bash, Zsh)
GUI (Graphical User Interface)
: 그래픽 기반 인터페이스. (예: GNOME, Windows Explorer)
역할
:
사용자로부터 명령어를 입력받고, 이를 해석하여 적절한 작업을 수행.
명령어에 따라 응용프로그램을 실행하거나 파일/프로세스를 관리.
시스템 콜(System Call)
정의
:
응용프로그램이 운영체제의
커널
기능(자원 관리, 파일 시스템, 프로세스 관리 등)에 접근하기 위한
인터페이스
.
운영체제의 핵심인
커널
과 사용자 공간(User Space) 사이를 연결하는 메커니즘.
역할
:
응용프로그램이 직접 하드웨어에 접근하지 못하도록 하여 보안을 강화.
시스템 자원(CPU, 메모리, I/O 등)에 대한 요청을 처리.
예시
:
파일 읽기/쓰기:
read()
,
write()
프로세스 생성:
fork()
,
exec()
네트워크 작업:
socket()
,
bind()
API(Application Programming Interface)
정의
:
응용프로그램과 운영체제(혹은 다른 소프트웨어) 사이에서 동작하는
프로그래밍 인터페이스.
시스템 호출을 추상화하여 응용프로그램 개발자가 보다 쉽게 운영체제의 기능을 사용할 수 있도록 지원.
역할
:
시스템 호출을 직접 사용하는 복잡성을 감춤.
표준화된 함수들을 통해 응용프로그램 개발이 간단해짐.
운영체제와 무관하게 응용프로그램이 동작하도록 함. (예: POSIX API는 리눅스, macOS, 유닉스에서 사용 가능)
예시
:
파일 I/O 작업:
fopen()
,
fprintf()
네트워크:
send()
,
recv()
스레드 관리:
pthread_create()
정리
쉘
: 사용자가 운영체제와 상호작용할 수 있는 인터페이스.
시스템 콜
: 응용프로그램이 커널의 기능을 요청하기 위한 인터페이스.
API
: 응용프로그램 개발자가 시스템 콜을 쉽게 사용할 수 있도록 제공하는 추상화 계층.
Faithful Dev
Turning Vision into Reality.
팔로우
이전 포스트
운영체제 | 운영체제
다음 포스트
운영체제 | 커널 모드와 사용자 모드
0개의 댓글
댓글 작성