Hi there!

I am a student studying computer science.

시스템 프로그래밍

시스템 프로그래밍 개요

만능성구 2020. 5. 3. 21:50
728x90

시스템 프로그래밍 이란?

시스템 프로그래밍에는 컴퓨터 하드웨어 프로그래머 및 사용자와 상호 작용하여 컴퓨터 시스템에서 응용 프로그램 소프트웨어를 효과적으로 실행할 수있는 컴퓨터 프로그램 설계 및 작성이 포함됩니다. 일반적인 시스템 프로그램에는 운영 체제 및 펌웨어, 컴파일러, 어셈블러, I / O 루틴, 인터프리터, 스케줄러, 로더 및 링커와 같은 프로그래밍 도구컴퓨터 프로그래밍 언어의 런타임 라이브러리가 포함됩니다.

출처 : https://www.techopedia.com/definition/9616/system-programming

 

컴퓨터 시스템은 하드웨어와 운영체제로 나눌 수 있고, 이러한 컴퓨터 시스템을 이용하여 소프트웨어를 개발하고 운영체제 기능을 활요하는 프로그래밍을 시스템 프로그래밍이라고 할 수 있다.


운영체제와 같은 kernel 및 핵심 library를 직접 사용하여 Low-level에서 동작하는 System software를 프로그래밍하는 기술이다.

ex) text편집기, Compiler, Debuger, System utility program demon, Network server, Web sever 등

이와 대비되는 gui application은 more high-level에서 실행되는 응용 소프트웨어

 

시스템 프로그래밍은 하위 운영체제와 연관이 있고 운영체제의 동작과 운영을 이해해야한다.

수업은 2가지 목적을 가진다. 

1. 운영체제의 역활의 이해

2, 운영체제에서 제공하는 시스템 call을 이용하는 법

 

Linux와 Unix운영체제에 초점을 맞춰서 공부를 할 것이다.

목차

  1. Introduction
  2. File IO - Library Call
  3. File IO - System Call
  4. Concurrent Process
  5. Process Control
  6. Threads
  7. Lock
  8. Memory
  9. semaphore
  10. Timer
  11. IPC
  12. Network
  13. Time Management
  14. Linux Utilities

Ref

Linux Utilities - https://elixir.bootlin.com/linux/latest/sourceRef

 

Linux source code (v5.6.10) - Bootlin

 

elixir.bootlin.com

 

728x90