Backend CS - #10 OS 구조 및 동작원리

박주현·2023년 2월 25일
0
post-thumbnail

1. OS의 구조

  • 커널 과 인터페이스로 구분
  • 커널을 통해 하드웨어에서 입력된 신호를 받아옴.
  • 인터페이스를 통해 신호를 보내서 작업 시행.

2. 커널

  1. 운영체제 자원 관리
    -프로세스나 스레드 관리 및 CPU 스케줄링 처리
    -프로세스마다 CPU사용 시간이 다르기 때문에 최대한 효율적으로 사용시간을 분배하고 관리
  2. 메모리 관리
    -한정된 메모리 자원을 효율적으로 분배
    -동시에 실행되거나 간섭이 생기면 안되게 때문에 가상 메모리 또는 페이징 기법 사용
  3. Input/Ouput 관리
    -입출력 하드웨어 간 신호 처리
  4. Inter Process Communication
    -컴퓨터 내부의 프로세스간 통신을 도와줌
  5. 네트워크
    -다른 컴퓨터 또는 인터넷과 통신하기 위해 프로토콜 처리 역할
  6. 파일시스템
    -사용자의 Logical I/O 과 컴퓨터의 Physical I/O 사이 맴핑 처리하고 계층적으로 폴더 구조 지원

3. 인터페이스

  1. 두 장치 사이의 접점으로 사용자와 기기 사이의 접점
  2. 컴퓨터와 사용자간 의사소통을 의미
  3. EX) 키보드와 마우스를 통해 입력을 하고, 모니터를 통해서 출력

4. OS 작동원리

  1. 멀티프로그래밍
    컴퓨터에 존재하는 CPU와 다양한 입출력 장치들이 있지만, CPU에는 하나의 프로그램밖에 올라가지 않는다.
    즉, 프로세스가 입축력 대기상태라면, CPU는 작업을 진행할 수 없다.
    결론적으로, 메모리에 여러 프로세스를 올려두고 입출력 대기상태가 되면 다음 작업으로 넘어가서
    CPU의 대기 상태가 없어지는 것이 멀티프로그래밍이다.

  2. 타임 셰어링
    -멀티 프로그래밍에서 확장되어 멀티 태스킹이라고도 함.
    -멀티 태스킹을 위해 여러 일을 진행할 경우 메모리가 부족할수도 있는데 이럴경우 스와핑을 진행해서 프로세스를 가장 메모리에 저장.

  3. 인터럽트
    -현대의 OS에서 사용
    -CPU가 작업시 입출력 장치등에 예외상황이 발생하여 처리를 해야할 경우에 신호를 줘서 처리하도록함.

profile
빌드업 막 시작하는 개발자

0개의 댓글