[TIL] 자바 프로그래밍의 컬렉션 (24.01.16 - 23일차)

배고픈 배극곰·2024년 1월 18일
0

팀스터디

운영체제의 역할

1. 프로세스 관리

운영체제는 응용프로그램을 관리한다.
현재 CPU를 어느 프로세스에 할당할지 결정하고(스케줄링 기능), 프로세스의 생성 및 삭제, 프로세스간 공유 자원 접근과 통신을 관리한다.

💡키워드
- 프로세스, 스레드
- CPU 스케줄링
- 동기화
- IPC

2. 메모리관리

💡키워드
- 메모리 관리
- 가상 메모리
- 파일 시스템

3. 네트워킹

💡키워드
- TCP/IP

4. 사용자 관리

한 컴퓨터를 여러사람이 사용하는 경우에 각 계정을 관리할 수 있는 기능이 필요하다.
=> 개인파일이나, 시스템 자원에 접근 권한을 지정할 수 있도록 지원한다.

💡키워드
- 계정 관리
- 접근권한 관리

5. I/O 디바이스 관리

마우스, 키보드 등 I/O 장치와 컴퓨터 간에 데이터를 주고 받는 것을 관리

운영체제 구조

유저프로그램

GUI
시스템콜
커널
드라이버 => 해당 그림에서는 이렇게 4가지를 운영체제라고 지칭한다.

하드웨어

프로세스나 스레드 -> 시스템콜 -> 커널 -> OS

Kernal: OS의 기본 알고리즘들을 구현해둔 로직이다.
시스템콜: OS가 커널에 접근하기 위한 인터페이스. 유저 프로그램이 운영체제의 서비스를 받기위해 커널함수 호출시 사용한다.

커널모드로만 운영체제의 자원을 이용할수있게함
(커널 모드에서는 운영체제가 전체 시스템을 관리하고 필요한 작업을 수행할 수 있는 권한을 가지므로)
=> 시스템의 안정성, 보안향상

🤔 OS가 I/O 요청을 위한 트랩 발동시켰을때의 과정??

e.g. VSCode에서 특정파일을 불러오려고 할때??

  1. 파일열기 요청
  2. 트랩 발생(커널모드 전환)
    vsCode는 OS에게 시스템 콜을 통해 I/O 작업 요청함
    => 시스템 콜은 트랩 발동시킨다. modebit를 변경하고, 유저모드가 시스템 콜을 통해 커널모드로 전환된다.
  3. 검증 및 I/O처리
    운영체제는 커널모드에서 파일의 존재여부, 접근권한을 검증하고 요청이 유효하다면 파일을 메모리로 읽어온다.
  4. 유저모드 전환
    I/O 작업이 완료되면, 읽어온 데이터를 vsCode에 반환

profile
마부작침 형설지공

0개의 댓글