Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 스택
- REDIS
- BFS
- 자료구조
- .net core
- API
- 정렬
- asp.net core
- Docker
- .NET
- mysql
- 알고리즘
- dfs
- maui
- Get
- .net maui
- 백준
- sql
- 탐색
- C#
- quick sort
- 시간복잡도
- asp.net
- 도커
- C++
- 큐
- 재귀
- docker-compose
- 파이썬
- Merge Sort
Archives
- Today
- Total
코젤브
1. 리눅스의 기본 개념과 프로그래밍 본문
운영체제 : 하드웨어 리소스를 응용프로그램이 사용할 수 있는 형태로 변환/제공 해주는 소프트웨어
운영체제의 역할
- 추상화 제공
일반적으로 사용하는 공통적인 기능 재활용 가능
하드웨어 종속성 제거
* 하드웨어 종속성: 하드웨어에 의존하는 / 하드웨어 업그레이드 시 애플리케이션에 영향 받는 경우 - 리소스 관리
애플리케이션 간의 영향 제거
리소스에 대한 효율적인 활용/ 공평한 접근
운영체제의 기능
- 프로세스 관리
- 메모리 관리
- 파일시스템 관리
- 프로세스 사이의 통신
시스템 프로그래밍
: 유닉스 환경에서 시스템 콜을 이용하는 프로그래밍
- 파일 시스템과 관련된 처리가 필요한 경우
- 프로세스와 관련된 처리가 필요한 경우
- 프로세스 사이의 통신이 필요한 경우
시스템 콜 vs 라이브러리 함수
시스템 콜
: 시스템(OS)이 제공하는 서비스를 프로그램에서 이용한 수 있도록 지원하는 프로그래밍 인터페이스
- 운영체제는 라이브러리나 헤더 파일 형태로 API를 제공
- 리턴값 = 시스템 호출명(인자, ...);
라이브러리 함수
라이브러리: 미리 컴파일된 함수를 묶어서 제공하는 특수 형태 파일
라이브러리 함수: 라이브러리에 포함된 함수
- 보통 /usr/lib에 위치
- 정적 라이브러리: 프로그램 컴파일 시 같이 적재 = 실행 파일에 포함 (실행 빠름)
- 동적 라이브러리: 실행 파일에 포함 X (실행 느림), 실행 시점에 link, 메모리를 효율적으로 사용
man 페이지
: 명령/ 함수 등 다양한 서비스에 대한 매뉴얼
- 섹션 구분 : 가장 낮은 섹션이 기본으로 출력
- 섹션 1: 리눅스에서 사용하는 일반적인 명령
- 섹션 2: 시스템 호출
- 섹션 3: 라이브러리 함수