{"id":31802641,"url":"https://github.com/seongwonp/c_linuxsysprog","last_synced_at":"2026-05-03T20:31:43.787Z","repository":{"id":258253089,"uuid":"863247550","full_name":"Seongwonp/C_LinuxSysprog","owner":"Seongwonp","description":" C 언어 기반의 시스템 프로그래밍 강의를 수강하며 리눅스 환경에서 파일, 프로세스, 메모리, 시그널, 소켓 등 핵심 시스템 기능을 실습한 내용을 정리한 공간입니다.","archived":false,"fork":false,"pushed_at":"2025-09-12T13:41:51.000Z","size":533,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-11T00:54:15.258Z","etag":null,"topics":["c","gcc","linux","system-programming","vim"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Seongwonp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-26T01:11:31.000Z","updated_at":"2025-09-12T13:41:54.000Z","dependencies_parsed_at":"2024-11-14T03:19:47.437Z","dependency_job_id":"5833bfbc-074d-40f8-91bf-4c043dba94e1","html_url":"https://github.com/Seongwonp/C_LinuxSysprog","commit_stats":null,"previous_names":["seongwonp/syspro"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Seongwonp/C_LinuxSysprog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seongwonp%2FC_LinuxSysprog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seongwonp%2FC_LinuxSysprog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seongwonp%2FC_LinuxSysprog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seongwonp%2FC_LinuxSysprog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Seongwonp","download_url":"https://codeload.github.com/Seongwonp/C_LinuxSysprog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seongwonp%2FC_LinuxSysprog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32583905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","gcc","linux","system-programming","vim"],"created_at":"2025-10-11T00:52:37.378Z","updated_at":"2026-05-03T20:31:43.780Z","avatar_url":"https://github.com/Seongwonp.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖥️ C 시스템 프로그래밍 실습 저장소\n\n이 저장소는 C 언어 기반의 시스템 프로그래밍 강의를 수강하며  \n리눅스 환경에서 파일, 프로세스, 메모리, 시그널, 소켓 등 핵심 시스템 기능을 실습한 내용을 정리한 공간입니다.\n\n---\n\n## 📁 실습 파일 구조\n\n| 폴더명     | 내용 |\n|------------|------|\n| `chap2.pdf` | 리눅스 기본 사용법 및 명령어 실습 내용을 정리한 PDF 문서\n| `chap3`     | C 프로그래밍 환경 설정 및 컴파일러 사용  \n| `chap4`     | 시스템 호출을 통한 파일 입출력  \n| `chap5`     | 리눅스 파일 시스템 구조 및 디렉터리 처리  \n| `chap6`     | 파일 및 레코드 잠금 구현  \n| `chap7`     | C 표준 파일 입출력 함수 실습  \n| `chap8`     | 프로세스 개념 및 프로그램 실행 흐름  \n| `chap9`     | 프로세스 제어 및 입출력 재지정  \n| `chap10`    | 메모리 관리 및 동적 할당  \n| `chap11`    | 시그널 처리 및 비지역 점프  \n| `chap12`    | 파이프 구현 및 통신 함수 실습  \n| `midterm`   | 중간고사 관련 자료  \n| `시스템프로그래밍 함수 정리.pdf` | 주요 시스템 함수 및 호출 정리 문서  \n| `LICENSE`   | 라이선스 정보  \n\n---\n\n## 🧑‍💻 실습 환경\n\n- **운영체제**: Ubuntu Linux (학교 가상서버)  \n- **접속 방식**: PuTTY를 이용한 SSH 원격 접속  \n- **에디터**: Vim  \n- **컴파일러**: GCC  \n- **실행 환경**: 리눅스 콘솔 기반\n\n---\n\n\n## 💭 회고\n\n이번 시스템 프로그래밍 실습은 단순히 코드를 작성하는 수준을 넘어  \n운영체제의 내부 동작을 직접 체험해보는 경험이었습니다.\n\n처음에는 파일 입출력이나 프로세스 제어 같은 기능들이 낯설게 느껴졌지만,  \n한 주 한 주 실습을 따라가면서 점점 **리눅스 시스템이 어떻게 구성되고 움직이는지**에 대한 감이 잡히기 시작했습니다.  \n특히 시스템 호출을 직접 사용해보고, 프로세스를 생성하고 제어하는 흐름을 구현하면서  \n운영체제가 단순한 배경이 아니라 **개발자가 직접 다룰 수 있는 대상**이라는 점이 인상 깊었습니다.\n\nVim으로 코드를 작성하고, PuTTY로 서버에 접속해 실습을 진행하는 과정도 처음엔 불편했지만  \n오히려 그 덕분에 **터미널 환경에 대한 적응력과 집중력**이 많이 길러졌습니다.  \n파일 시스템 구조, 메모리 관리, 시그널 처리 등은 단순한 문법이 아니라  \n**운영체제와 프로그램 사이의 연결 고리를 이해하는 핵심 개념**이라는 걸 실감했습니다.\n\n무엇보다도, 각 장별 실습을 통해 기능을 하나씩 구현해보면서  \n“왜 이런 구조가 필요할까?”, “어떻게 더 안정적으로 만들 수 있을까?” 같은 질문을 자연스럽게 떠올리게 되었고  \n그 과정에서 **시스템 프로그래밍의 사고방식**을 조금씩 익혀갈 수 있었습니다.\n\n다음에는 소켓 통신이나 멀티 프로세스 기반의 간단한 서버 프로그램을 직접 만들어보면서  \n이번 실습에서 배운 개념들을 더 확장해보고 싶습니다.  \n단순한 기능 구현을 넘어서, **운영체제와 협력하는 프로그램을 설계하는 경험**을 계속 이어가고 싶습니다.\n\n---\n\n## 🙋‍♂️ 작성자\n\n**박성원 (Seongwon Park)**  \n- C 시스템 프로그래밍 강의 수강 및 실습  \n- 리눅스 기반 시스템 호출 및 프로세스 제어 학습  \n- 파일, 메모리, 시그널, 소켓 등 핵심 기능 구현 경험  \n- 가상서버 환경에서 Vim + GCC로 실습 진행\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseongwonp%2Fc_linuxsysprog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseongwonp%2Fc_linuxsysprog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseongwonp%2Fc_linuxsysprog/lists"}