Andante Tech
close
프로필 사진

Andante Tech

github: @Andante-Kim

  • ALL (57)
    • CS (16)
      • Linux (15)
      • Computer Architecture (1)
    • AI (8)
      • Theory (3)
      • ML Engineering (4)
      • Paper Review (1)
    • Computer Vision (7)
      • CS231N|Standford (3)
      • HEVC (4)
      • 디지털 영상처리 (0)
    • Skills (8)
      • Algorithms (1)
      • Data Analysis (6)
      • Git|Github (1)
    • Languages (18)
      • HTML&CSS (15)
      • JavaScript (1)
      • C&C++ (2)
      • Python (0)
    • Projects (0)
      • #1. (0)
    • Records (0)
  • HOME
  • TAG 🏷️
[Linux] 프로세스 생성과 실행

[Linux] 프로세스 생성과 실행

프로세스 ID: 각 프로세스에 대한 식별 번호#include int getpid(void);// 현재 프로세스의 ID 반환int getppid(void);// 현재 프로세스의 부모 프로세스 ID 반환 실습: pid.c#include #include int main(void){ printf("pid = %d\n", getpid()); /* pid 가져오기 */ printf("ppid = %d\n", getppid()); /* ppid 가져오기 */ return 0;} 자식 프로세스의 생성 - fork() 시스템 호출 함수프로세스의 생성: fork(): 자신을 복제한 자식 프로세스를 새로 생성새 프로세스를 생성하는 유일한 방법부모 프로세스는 자식 프로세스 ID 반환생성된 자식 프로세스는 0 반환#includ..

  • format_list_bulleted CS/Linux
  • · 2025. 12. 2.
[Linux] 파일/디렉터리 다루기 with C

[Linux] 파일/디렉터리 다루기 with C

파일 정보 다루기inode: 파일에 대한 정보를 저장하는 구조체 파일의 상태 정보: i-node에 저장된 파일의 상태 정보 가져오기- 심볼릭 링크의 경우 stat()은 링크가 가리키는 파일에 대한 정보를, lstat()은 링크 자체에 대한 정보를 가져옴#include #include #include int stat(const char* pathname, struct stat* buf);int fstat(int fd, struct stat* buf);int lstat(const char* pathname, struct stat* buf);// 파일의 상태 정보를 가져와서 buf에 저장// 성공하면 0, 실패하면 -1을 저장 stat 구조체struct stat { dev_t st_dev; ..

  • format_list_bulleted CS/Linux
  • · 2025. 11. 27.
[Linux] 표준 라이브러리를 이용한 고수준 파일 입출력

[Linux] 표준 라이브러리를 이용한 고수준 파일 입출력

왜 굳이 시스템 호출이 있는데 라이브러리를 사용할까요? 가장 큰 이유는 이식성과 효율성입니다. 운영체제나 하드웨어가 바뀌어도 표준 라이브러리는 동일한 방법(스트림)으로 입출력을 제공합니다. 특히 중요한 건 버퍼(buffer)입니다. 시스템 호출을 직접 쓰면 매번 커널을 호출해야 해서 비효율적일 수 있어요. 하지만 표준 라이브러리는 내부에 버퍼를 두어 데이터를 모았다가 한 번에 처리함으로써, 느린 입출력 장치에 접근하는 횟수를 줄여 성능을 높여줍니다. FILE 구조체와 스트림 C언어 표준 라이브러리에서는 파일을 다루기 위해 FILE이라는 구조체를 제공합니다. FILE 구조체란 파일에 대한 정보(파일 디스크립터, 버퍼 상태, 위치 등)을 담고 있는 구조체이지요. 우리는 파일 디스크립터(정수) 대신, 이 FI..

  • format_list_bulleted CS/Linux
  • · 2025. 11. 20.
[Linux] 리눅스 시스템 프로그래밍 개요

[Linux] 리눅스 시스템 프로그래밍 개요

시스템 프로그래밍시스템 호출(system call): 커널 서비스(함수) 요청을 위한 인터페이스. 응용 프로그램은 시스템 호출을 통해 커널에 서비스를 요청 - 운영체제의 커널이 제공하는 다양한 서비스를 이용해 프로그램을 구현할 수 있도록 제공되는 프로그래밍 인터페이스 (운영체제마다 다름) - C언어의 함수를 호출하는 형식으로 이용 라이브러리(library): 유용한 함수들을 컴파일한 오브젝트 파일들의 묶음. 리눅스에서는 보통 /usr/lib에 저장됨 (libXXX.a 혹은 libXXX.so.VER)라이브러리 함수(library function) : 라이브러리에 포함된 함수표준 라이브러리 함수: 표준화된 인터페이스 제공 (리눅스의 표준 C 라이브러리: libc.so.6) 시스템 호출 vs. 표준 라이브..

  • format_list_bulleted CS/Linux
  • · 2025. 11. 13.
[Linux] 리눅스에서의 C 프로그래밍

[Linux] 리눅스에서의 C 프로그래밍

리눅스에서 C 프로그래밍 개발 환경 구축GCCGNU 프로젝트의 오픈 소스 컴파일러 집합1987, 리처드 스톨먼GNU C Compiler의 약어로 시작GNU Compiler Collection으로 변경: C(gcc), C++(g++), Objective-C(gobjc), D(gdc), Go(gccgo), Ada(gnat), Fortran(gfortran) 지원유닉스/리눅스 계열의 사실상 표준 컴파일러Windows, BSDs 및 기타 OS에서도 사용 가능통합개발환경이라기보다는 명령행 모드에서 실행vi로 작성 → gcc로 컴파일 → make로 빌드 개발환경 구축1단계: 시스템 업데이트충돌 발생하지 않도록 모든 관련 패키지 업데이트$ sudo apt updatesudo : 명령어 실행시 관리자 권한을 부여받기 ..

  • format_list_bulleted CS/Linux
  • · 2025. 11. 11.
[Linux] 프로세스 관리

[Linux] 프로세스 관리

프로세스 개념프로세스(Process): 실행 중인 프로그램. 시분할 시스템에서의 작업 단위. 능동적 실체- 프로세스의 집합체 = 시스템 : OS에 의해 CPU는 프로세스들 간에 다중화하여 시스템 효율성을 높임 - 사용자 프로세스: 사용자 실행 프로그램 (⊕ 프로그램(Program): 보조기억장치에 저장된 파일. 수동적 존재) - 시스템 프로세스: 사용자 관리, 메모리 관리, 네트워크 접속 관리 등 다양 프로세스 간의 관계프로세스들은 부모-자식 관계를 가짐: 부모 프로세스(Parent process), 자식 프로세스(Child process)필요에 따라 부모 프로세스는 자식 프로세스를 생성자식 프로스세는 또다른 자식 프로세스 생성 가능모든 프로세스는 자신을 생성한 부모 프로세스를 가짐(단, 부팅시 ..

  • format_list_bulleted CS/Linux
  • · 2025. 11. 11.
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • ALL (57)
    • CS (16)
      • Linux (15)
      • Computer Architecture (1)
    • AI (8)
      • Theory (3)
      • ML Engineering (4)
      • Paper Review (1)
    • Computer Vision (7)
      • CS231N|Standford (3)
      • HEVC (4)
      • 디지털 영상처리 (0)
    • Skills (8)
      • Algorithms (1)
      • Data Analysis (6)
      • Git|Github (1)
    • Languages (18)
      • HTML&CSS (15)
      • JavaScript (1)
      • C&C++ (2)
      • Python (0)
    • Projects (0)
      • #1. (0)
    • Records (0)
인기 글
전체 방문자
오늘
어제
Copyright © 안단테Andante 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바