대학/시스템소프트웨어
-
Exceptional Control Flow 1 - Process대학/시스템소프트웨어 2022. 10. 22. 21:03
- Control Flow 코드는 위에서 아래로 순차적으로 흐른다. 하지만, 다음의 방법으로 이 실행 프름을 바꿀 수 있다. Jumps (c: goto) Branches (c: if) Stack 방식의 call - return (c: 함수 호출) 보통은 CPU가 이런 흐름을 처리하지만, 0으로 나누기, 데이터 입출력, ctrl+c 등 시스템 상태가 변경되는 경우 그 반응을 처리하기는 어렵다. 따라서 이런 경우는 OS가 exceptional control flow를 담당한다. - Exceptional Control Flow Low-level 메커니즘으로 system state의 변화가 일어나는 경우, 시스템 이벤트의 형태로 OS에 전달하게 된다. 그럼 OS는 이 이벤트를 이용해서 코드의 실행 흐름을 변경하..
-
System-Level I/O대학/시스템소프트웨어 2022. 10. 22. 18:24
- Disk Sector 데이터를 저장하는 기본 단위로 512bytes 당 1섹터를 구성한다. 단 1byte를 읽더라도 이 섹터 전체의 데이터를 읽어와야 한다. 이렇게 블록 단위로 데이터에 접근할 수 있는 장치를 Block device 라고 부른다. (HDD, SSD...) 반대로 1byte 단위로 데이터에 접근할 수 있는 장치를 Character device 라고 부른다. (키보드, 터미널...) - Unix files 유닉스 계열 운영체제의 파일은 m bytes의 배열 형태로 관리된다. 예로 들어 /dev/sda2 같은 파일은 /usr의 디스크 파티션을 관리하고, /dev/tty2 는 터미널 파일이다. 유닉스 파일의 종류는 다음과 같다. Regular file Directory file Device ..